Extend the platform,
empower your team.
Observe, analyze and optimize the usage, health and performance of your database
Extension by DynatraceDynatrace automatically detects all applications and microservices deployed in your system and how your system uses Oracle Database. This extension provides automatic end-to-end tracing down to individual SQL statements, Oracle Server metrics, and log insights. Dynatrace diagnoses anomalies in real time with AI and pinpoints the root cause in slow-performing or erroneous SQL statements. Deep code-level insights combined with cloud-native database server monitoring help you ensure a robust production environment.
Get started for Oracle Database clients:
If the application that connects to the Oracle Database server runs on a virtual machine or bare-metal, install OneAgent on it to get started.
If the application that connects to the Oracle Database server runs as a workload in Kubernetes or OpenShift, set up Dynatrace on Kubernetes or OpenShift.
Activate the following OneAgent features to get full tracing insight:
Get started with Oracle Database servers:
If your Oracle Database server runs on a virtual machine or bare-metal, install OneAgent on it to get started with system performance metrics.
Activate the remote Oracle Database extension to get full insight into the Oracle Database server's health and performance combined with metrics and events. A dedicated user account is recommended for monitoring, with either:
CREATE_SESSION
SELECT_CATALOG_ROLE
roles granted, or set of SELECT
permissions on the following performance views:
V$ASM_Disk_Stat
V$Database
V$Instance
V$LibraryCache
V$Metric
V$MetricGroup
V$Parameter
V$PDBs
V$PGAStat
V$RMAN_Backup_Job_Details
V$Services
V$Session
V$SGAStat
V$SQLArea
V$SysStat
V$System_Event
V$System_Wait_Class
V$Sys_Time_Model
V$Tablespace
DBA_Data_Files
DBA_Free_Space
DBA_Lmt_Free_Space
DBA_Tablespaces
DBA_Temp_Free_Space
Depending on the level of detail, additional privileges might be required, such as SYSDBA
or SYSASM
privileges, to view certain ASM statistics. These privileges are typically granted by an ASM administrator.
Activate log monitoring to get full log insight.
Note:
Enabling Most time consuming queries’ performance may expose sensitive data in reported queries.
The extension supports following Oracle versions:
SELECT name, value FROM v$parameter WHERE name = 'audit_trail';
OS
means that the audit logs are stored locally in the file.
SELECT value FROM v$parameter WHERE name = 'audit_file_dest';
specifies the log file's location
Configure LogAgent's security rules to allow access to local files, by adding the oracle.json
file under :
/var/lib/dynatrace/oneagent/agent/config/logmodule
%PROGRAMDATA%\dynatrace\oneagent\agent\config\logmodule
{
"@version": "1.0.0",
"allowed-log-paths-configuration": [
{
"directory-pattern": "/u01/app/oracle/admin/oracle_standalone/adump/",
"file-pattern": "*.aud",
"action": "INCLUDE"
}
]
}
Agent restart is not required, this config will be applied within 1 minute.
Use the log file location fetched via the query executed in the first step, e.g. /u01/app/oracle/admin/oracle_standalone/adump/*
.
An example configuration that includes only ORA-01017
that reports invalid username or password logon attempts could be configured using:
Log content is any of: (.*)RETURNCODE:\[(\d+)\] "1017 AND Log source is any of: /u01/app/oracle/admin/oracle_standalone/adump/*
Logs collected the way described above can be accessed using following DQL query:
fetch logs | filter matchesValue(log.source, "/u01/app/oracle/admin/oracle_standalone/adump/*")
.
Configure log processing rule to extract log attributes out of the log content:
matchesValue(log.source, "/u01/app/oracle/admin/oracle_standalone/adump/*")
PARSE(content, "
DATA ' RETURNCODE:['INT']' SPACE '\"' INT:ora.returncode LD") |
PARSE(content, "
DATA ' USERID:['INT']'SPACE CSVDQS:ora.userid LD") |
PARSE(content, "
DATA ' USERHOST:['INT']'SPACE CSVDQS:ora.userhost LD")
Extract metrics from log entries to enable alerting:
log.oracle.invalid_credentials
matchesValue(log.source, "/u01/app/oracle/admin/oracle_standalone/adump/*")
Occurence of logs records
Below is a complete list of the feature sets provided in this version. To ensure a good fit for your needs, individual metrics can be activated and deactivated by your administrator during configuration.
Metric name | Metric key | Description | Unit |
---|---|---|---|
Connection management time | com.dynatrace.extension.sql-oracle.queries.connectionManagement.count | Time spent on performing session connect and disconnect calls | MicroSecond |
PL SQL exec time | com.dynatrace.extension.sql-oracle.queries.plSqlExec.count | Time spent on running the PL/SQL interpreter | MicroSecond |
SQL exec time | com.dynatrace.extension.sql-oracle.queries.sqlExec.count | Time spent on executing SQL | MicroSecond |
SQL parse time | com.dynatrace.extension.sql-oracle.queries.sqlParse.count | Time spent on parsing SQL | MicroSecond |
DB Time | com.dynatrace.extension.sql-oracle.queries.dbTime.count | Time spent on performing Database user-level calls | MicroSecond |
DB CPU | com.dynatrace.extension.sql-oracle.queries.cpuTime.count | CPU time spent on performing database user-level calls | MicroSecond |
Metric name | Metric key | Description | Unit |
---|---|---|---|
Physical read bytes | com.dynatrace.extension.sql-oracle.io.bytesRead.count | Total size in bytes of disk reads by all database instance activity including application reads, backup, recovery, and other utilities | Byte |
Physical byte written | com.dynatrace.extension.sql-oracle.io.bytesWritten.count | Total size in bytes of all disk writes for the database instance including application activity, backup, recovery, and other utilities | Byte |
Total wait time | com.dynatrace.extension.sql-oracle.io.wait.count | Total time spent in all wait states except for Idle class | MilliSecond |
Metric name | Metric key | Description | Unit |
---|---|---|---|
Number of wait events | com.dynatrace.extension.sql-oracle.wait.count | Total number of waits for the event | Count |
Seconds waited | com.dynatrace.extension.sql-oracle.wait.time.count | Total amount of time waited for the event | MicroSecond |
Metric name | Metric key | Description | Unit |
---|---|---|---|
ASM - Free space | com.dynatrace.extension.sql-oracle.asm.free_mb | Free disk space available on this Oracle ASM Disk | MegaByte |
ASM - Total space | com.dynatrace.extension.sql-oracle.asm.total_mb | Total disk space available on this Oracle ASM Disk | MegaByte |
ASM - Used space | com.dynatrace.extension.sql-oracle.asm.used_pct | Percentage of disk space used on this Oracle ASM Disk | Percent |
ASM - Reads | com.dynatrace.extension.sql-oracle.asm.reads.count | Number of reads from this Oracle ASM Disk | Count |
ASM - Writes | com.dynatrace.extension.sql-oracle.asm.writes.count | Number of writes to this Oracle ASM Disk | Count |
Metric name | Metric key | Description | Unit |
---|---|---|---|
Total space | com.dynatrace.extension.sql-oracle.tablespaces.totalSpace | Total size of tablespace | Byte |
Free space | com.dynatrace.extension.sql-oracle.tablespaces.freeSpace | Free space in tablespace | Byte |
Total space used | com.dynatrace.extension.sql-oracle.tablespaces.totalSpaceUsed | Total space used in tablespace | Byte |
Used space ratio | com.dynatrace.extension.sql-oracle.tablespaces.usedSpaceRatio | Used space ratio | Percent |
Metric name | Metric key | Description | Unit |
---|---|---|---|
PGA aggregate limit | com.dynatrace.extension.sql-oracle.memory.pga.size.pgaAggregateLimit | Limit on the aggregate PGA memory consumed by the instance | Byte |
PGA aggregate target | com.dynatrace.extension.sql-oracle.memory.pga.size.pgaAggregateTarget | Target aggregate PGA memory available to all server processes attached to the instance | Byte |
PGA memory used | com.dynatrace.extension.sql-oracle.memory.pga.used | PGA memory consumed by work areas | Byte |
Allocated PGA | com.dynatrace.extension.sql-oracle.memory.pga.allocated | Current amount of PGA memory allocated by the instance | Byte |
Shared pool free | com.dynatrace.extension.sql-oracle.memory.sga.cacheBuffer.sharedPoolFree | Amount of free system global area (SGA) memory available in shared pool | Percent |
Redo log space wait time | com.dynatrace.extension.sql-oracle.memory.sga.redoBuffer.redoLogSpaceWaitTime.count | Total elapsed time of waiting for redo log space request | MilliSecond |
Redo size increase | com.dynatrace.extension.sql-oracle.memory.sga.redoBuffer.redoSizeIncrease.count | Total amount of redo generated in bytes | Byte |
Redo write time | com.dynatrace.extension.sql-oracle.memory.sga.redoBuffer.redoWriteTime.count | Total elapsed time of the write from the redo log buffer to the current redo log file | MilliSecond |
Logical reads | com.dynatrace.extension.sql-oracle.memory.sessionLogicalReads.count | The sum of "db block gets" plus "consistent gets" | Count |
Physical reads | com.dynatrace.extension.sql-oracle.memory.physicalReads.count | Total number of data blocks read from disk | Count |
Physical reads direct | com.dynatrace.extension.sql-oracle.memory.physicalReadsDirect.count | Number of reads directly from disk, bypassing the buffer cache | Count |
Sorts in memory | com.dynatrace.extension.sql-oracle.memory.memorySorts.count | Number of sort operations that were performed completely in memory and did not require any disk writes | Count |
Sorts on disk | com.dynatrace.extension.sql-oracle.memory.diskSorts.count | Number of sort operations that required at least one disk write | Count |
Library cache hit ratio | com.dynatrace.extension.sql-oracle.memory.libraryCacheHitRatio | Library cache hit ratio | Percent |
Metric name | Metric key | Description | Unit |
---|---|---|---|
Sessions limit | com.dynatrace.extension.sql-oracle.limits.sessions | Sessions initialization parameter limit | Unspecified |
Processes limit | com.dynatrace.extension.sql-oracle.limits.processes | Processes initialization parameter limit | Unspecified |
Metric name | Metric key | Description | Unit |
---|---|---|---|
Active Sessions | com.dynatrace.extension.sql-oracle.sessions.active | Active sessions count | Count |
Total sessions | com.dynatrace.extension.sql-oracle.sessions.all | Total sessions count | Count |
User calls | com.dynatrace.extension.sql-oracle.sessions.userCalls.count | Total number of logins, parses, or execute calls | Count |
Metric name | Metric key | Description | Unit |
---|---|---|---|
Input bytes | com.dynatrace.extension.sql-oracle.backup-input_bytes | Sum of all input file sizes backed up. | Count |
Output bytes | com.dynatrace.extension.sql-oracle.backup-output_bytes | Output size of all pieces generated. | Count |
Elapsed seconds | com.dynatrace.extension.sql-oracle.backup-elapsed_seconds | Number of elapsed seconds. | Count |
Compression ratio | com.dynatrace.extension.sql-oracle.backup-compression_ratio | Compression ratio. | Percent |
Input bytes per second | com.dynatrace.extension.sql-oracle.backup-input_bytes_per_second | Input read-rate-per-second. | Count |
Output bytes per second | com.dynatrace.extension.sql-oracle.backup-output_bytes_per_second | Output write-rate-per-second. | Count |
Auto - backup count | com.dynatrace.extension.sql-oracle.backup-autobackup_count_number | Number of autobackups performed by this job. | Count |
Metric name | Metric key | Description | Unit |
---|---|---|---|
CPU cores | com.dynatrace.extension.sql-oracle.cpu.cores | Number of CPU cores | Count |
Background CPU usage (per second) | com.dynatrace.extension.sql-oracle.cpu.backgroundTotal | CPU usage of background processes in centi seconds per second | Unspecified |
Foreground CPU usage (per second) | com.dynatrace.extension.sql-oracle.cpu.foregroundTotal | CPU usage of foreground processes in centi seconds per second | Unspecified |
Metric name | Metric key | Description | Unit |
---|---|---|---|
Resolved CDBs and PDBs | com.dynatrace.extension.sql-oracle.multitenancy.resolved | Count of resolved CDBs and PDBs | Count |
Resolved services | com.dynatrace.extension.sql-oracle.services.resolved | Count of resolved services | Count |
Total size | com.dynatrace.extension.sql-oracle.pdb-total_size | Shows the disk space (in bytes) used by the PDB, including both data and temp files. | Count |
Block size | com.dynatrace.extension.sql-oracle.pdb-block_size | The current block size for the PDB | Count |
Diagnostic size | com.dynatrace.extension.sql-oracle.pdb-diagnostic_size | Shows the current disk space usage (in bytes) of the diagnostic traces generated in the PDB. | Count |
Audit files size | com.dynatrace.extension.sql-oracle.pdb-audit_files_size | Shows the current disk space usage (in bytes) by Unified Audit files (.bin format) in the current PDB. | Count |
Max size | com.dynatrace.extension.sql-oracle.pdb-max_size | Shows the maximum amount of disk space (in bytes) that can be used by data and temp files in the PDB | Count |
Max diagnostic size | com.dynatrace.extension.sql-oracle.pdb-max_diagnostic_size | Shows the maximum amount of disk space (in bytes) that can be used by diagnostic traces generated in the PDB | Count |
Max audit size | com.dynatrace.extension.sql-oracle.pdb-max_audit_size | Shows the maximum amount of disk space (in bytes) that can be used by Unified Audit files (.bin format) in the PDB | Count |
Instance status
metric and entity propertiesRenaming the dashboard and updating the tags
Recyclebin is taken into account for free space calculation in tablespaces.
Fixed incorrect definition of Oracle host entity related to most time consuming queries.
Add a primary dimension definition to the extension alerts
Fixed Management Zone filtering on Oracle Database extensions dashboard.
Initial extension release