Preview
We're still working on this feature, but we'd love for you to try it out!
This feature is currently provided as part of a preview pursuant to our pre-release policies.
Get comprehensive insights into your Oracle Autonomous Database (ADB) performance with database monitoring, query analysis, and system health metrics using the New Relic Distribution of OpenTelemetry (NRDOT) collector.
Guided installation
To install through the New Relic UI instead, go to one.newrelic.com > Integrations & Agents > Oracle (OpenTelemetry) . This page covers the CLI install path only.
Prerequisites
Before you begin, ensure you have the following:
- Valid New Relic license key
- Supported architecture: Linux with AMD64 and ARM64
- Network connectivity to New Relic OTLP endpoint
- Oracle Database
19cor later
Enroll to preview
This integration is available as part of the New Relic public preview program. Contact your Organization Manager to opt in from the Previews & Trials page.
Install NRDOT Collector
Select the appropriate installation distribution method for your Linux environment:
Configure database user
Create a monitoring user with the necessary privileges for your ADB Oracle Database instance. Run the following statements as SYS inside your target ADB to create a local monitoring user:
CREATE USER <USER_NAME> IDENTIFIED BY "<YOUR_PASSWORD>";GRANT CREATE SESSION TO <USER_NAME>;Grant monitoring privileges for Autonomous Database
Run these commands as an admin inside your ADB. This gives the monitoring tool the basic access it needs to collect metrics, track events, and find your database instances.
GRANT SELECT ON SYS.V_$INSTANCE TO <USER_NAME>;GRANT SELECT ON SYS.V_$DATABASE TO <USER_NAME>;GRANT SELECT ON SYS.V_$CONTAINERS TO <USER_NAME>;GRANT SELECT ON SYS.V_$DATAFILE TO <USER_NAME>;GRANT SELECT ON SYS.V_$PDBS TO <USER_NAME>; GRANT SELECT ON SYS.V_$SYSSTAT TO <USER_NAME>;GRANT SELECT ON SYS.V_$SYSMETRIC TO <USER_NAME>;GRANT SELECT ON SYS.V_$SESSION TO <USER_NAME>;GRANT SELECT ON SYS.V_$RESOURCE_LIMIT TO <USER_NAME>;GRANT SELECT ON SYS.V_$OSSTAT TO <USER_NAME>;GRANT SELECT ON SYS.V_$SGAINFO TO <USER_NAME>;GRANT SELECT ON SYS.V_$ROWCACHE TO <USER_NAME>;GRANT SELECT ON SYS.V_$PARAMETER TO <USER_NAME>;GRANT SELECT ON SYS.DBA_TABLESPACE_USAGE_METRICS TO <USER_NAME>;GRANT SELECT ON SYS.DBA_TABLESPACES TO <USER_NAME>;GRANT SELECT ON SYS.DBA_DATA_FILES TO <USER_NAME>;GRANT SELECT ON SYS.DBA_FREE_SPACE TO <USER_NAME>;GRANT SELECT ON SYS.DBA_RECYCLEBIN TO <USER_NAME>;GRANT SELECT ON SYS.V_$SQL TO <USER_NAME>;GRANT SELECT ON SYS.V_$SQL_PLAN_STATISTICS_ALL TO <USER_NAME>;GRANT SELECT ON SYS.V_$LOCK TO <USER_NAME>;GRANT SELECT ON SYS.V_$SESSION_EVENT TO <USER_NAME>;GRANT SELECT ON SYS.DBA_PROCEDURES TO <USER_NAME>;GRANT SELECT ON SYS.DBA_OBJECTS TO <USER_NAME>;Configure NRDOT Collector
Configure the NRDOT Collector with your ADB-specific settings. Create a configuration file (e.g., adb-config.yaml) with the following content:
1receivers:2 nroracledb/adb:3 datasource: "oracle://newrelic:YOUR_PASSWORD@adb.example.oraclecloud.com:1522/YOUR_SERVICE_NAME?ssl=true&ssl%20verify=true"4 collection_interval: 10s5 events:6 db.server.query_sample:7 enabled: true8 db.server.top_query:9 enabled: true10 db.server.session.wait_sample:11 enabled: true12
13 top_query_collection:14 max_query_sample_count: 100015 top_query_count: 20016 collection_interval: 60s17 allowed_comment_keys:18 - nr_service_guid19
20 query_sample_collection:21 max_rows_per_query: 10022 allowed_comment_keys:23 - nr_service_guid24
25 session_wait_event_collection:26 max_rows_per_query: 10027
28 metrics:29 oracledb.cpu_time:30 enabled: true31 oracledb.executions:32 enabled: true33 oracledb.parse_calls:34 enabled: true35 oracledb.hard_parses:36 enabled: true37 oracledb.logical_reads:38 enabled: true39 oracledb.physical_reads:40 enabled: true41 oracledb.physical_reads_direct:42 enabled: true43 oracledb.physical_writes:44 enabled: true45 oracledb.physical_writes_direct:46 enabled: true47 oracledb.physical_read_io_requests:48 enabled: true49 oracledb.physical_write_io_requests:50 enabled: true51 oracledb.physical_io.cache_writes:52 enabled: true53 oracledb.physical_io.requests:54 enabled: true55 attributes:56 - disk.io.direction57 - disk.io.block_size58 oracledb.physical_io.transferred:59 enabled: true60 attributes:61 - disk.io.direction62 - disk.io.type63 oracledb.sqlnet.io.transferred:64 enabled: true65 attributes:66 - network.io.direction67 - destination.type68 oracledb.consistent_gets:69 enabled: true70 oracledb.db_block_gets:71 enabled: true72 oracledb.data_dictionary.hit_ratio:73 enabled: true74 oracledb.pga_memory:75 enabled: true76 oracledb.enqueue_deadlocks:77 enabled: true78 oracledb.exchange_deadlocks:79 enabled: true80 oracledb.sessions.usage:81 enabled: true82 attributes:83 - session_type84 - session_status85 oracledb.logons:86 enabled: true87 oracledb.user_commits:88 enabled: true89 oracledb.user_rollbacks:90 enabled: true91 oracledb.tablespace_size.limit:92 enabled: true93 attributes:94 - tablespace_name95 oracledb.tablespace_size.usage:96 enabled: true97 attributes:98 - tablespace_name99 oracledb.storage.usage:100 enabled: true101 oracledb.storage.utilization:102 enabled: true103 oracledb.recycle_bin.limit:104 enabled: true105 oracledb.queries_parallelized:106 enabled: true107 oracledb.ddl_statements_parallelized:108 enabled: true109 oracledb.dml_statements_parallelized:110 enabled: true111 oracledb.parallel_operations_not_downgraded:112 enabled: true113 oracledb.parallel_operations_downgraded_1_to_25_pct:114 enabled: true115 oracledb.parallel_operations_downgraded_25_to_50_pct:116 enabled: true117 oracledb.parallel_operations_downgraded_50_to_75_pct:118 enabled: true119 oracledb.parallel_operations_downgraded_75_to_99_pct:120 enabled: true121 oracledb.parallel_operations_downgraded_to_serial:122 enabled: true123
124processors:125 batch:126 resource/add_event_name:127 attributes:128 - key: host.address129 value: YOUR_DB_HOST130 action: upsert131
132exporters:133 otlphttp/newrelic:134 endpoint: https://otlp.nr-data.net:4318135 headers:136 api-key: YOUR_LICENSE_KEY137 compression: gzip138 retry_on_failure:139 enabled: true140 initial_interval: 5s141 max_interval: 30s142 max_elapsed_time: 300s143
144service:145 telemetry:146 metrics:147 level: none148 pipelines:149 metrics/oracledb:150 receivers: [nroracledb/adb]151 processors: [resource/add_event_name, batch]152 exporters: [otlphttp/newrelic]153 logs/oracledb:154 receivers: [nroracledb/adb]155 processors: [resource/add_event_name, batch]156 exporters: [otlphttp/newrelic]Dica
You can also:
- Configure multiple receivers: To monitor multiple Oracle Database instances from one collector.
- Configure SQL Query Receiver: To collect custom metrics from your Oracle Database.
- Link your Oracle Database with APM: To correlate your application performance with database operations. This allows you to see exactly which applications are generating specific database workloads.
- Set up secret management: To securely manage sensitive information, such as database credentials. This helps to enhance the security of your monitoring setup by avoiding hardcoding sensitive data in configuration files.
Restart NRDOT Collector
After configuring the collector, restart the NRDOT Collector service to apply the changes:
$sudo systemctl restart nrdot-collectorTo verify that the collector is running properly, check the service status:
$sudo systemctl status nrdot-collectorDica
Always restart the NRDOT Collector after making configuration changes to ensure the new settings take effect.
Find and use your data
After you set up the Oracle ADB integration, you can start monitoring and analyzing your database performance in New Relic:
- Go to one.newrelic.com > All Entities.
- Filter by Oracle to find your database entities.
- Select your Oracle ADB entity to view dashboards, metrics, and logs.
For more information about monitoring Oracle databases, refer to our database monitoring documentation.