Setting Up Database Monitoring for RDS Oracle
Database Monitoring is not supported for this site.
The features described on this page are in beta. Contact your Customer Success Manager to provide feedback or ask for help.
Database Monitoring provides deep visibility into your Oracle databases by exposing query samples to profile your different workloads and diagnose issues.
Before completing the steps below, verify that you have met
the prerequisites for Database Monitoring.
Agent database user setup
The Datadog Agent requires read-only access to the database server to collect samples.
Create user
If you installed the legacy Oracle integration, skip this step because the user already exists. You must, however, execute the subsequent steps.
Create a read-only login to connect to your server and grant the required permissions:
CREATE USER datadog IDENTIFIED BY your_password ;
Grant permissions
grant create session to datadog ;
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$SESSION','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$DATABASE','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$CONTAINERS','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$SQLSTATS','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$SQL','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$INSTANCE','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$SQL_PLAN_STATISTICS_ALL','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_FEATURE_USAGE_STATISTICS','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$PROCESS','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$SESSION','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$CON_SYSMETRIC','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('CDB_TABLESPACE_USAGE_METRICS','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('CDB_TABLESPACES','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$SQLCOMMAND','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$DATAFILE','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$SGAINFO','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$SYSMETRIC','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$PDBS','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('CDB_SERVICES','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$OSSTAT','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$PARAMETER','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$SQLSTATS','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$CONTAINERS','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$SQL_PLAN_STATISTICS_ALL','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$SQL','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$PGASTAT','DATADOG','SELECT',p_grant_option => false);
To start collecting Oracle telemetry, first install the Datadog Agent.
Create the Oracle Agent conf file /etc/datadog-agent/conf.d/oracle-dbm.d/conf.yaml
. See the sample conf file for all available configuration options.
init_config:
instances:
- server: '<RDS_INSTANCE_ENDPOINT_1>:<PORT>'
service_name: "<SERVICE_NAME>" # The Oracle CDB service name
username: 'datadog'
password: '<PASSWORD>'
dbm: true
tags: # Optional
- 'service:<CUSTOM_SERVICE>'
- 'env:<CUSTOM_ENV>'
- server: '<RDS_INSTANCE_ENDPOINT_2>:<PORT>'
service_name: "<SERVICE_NAME>" # The Oracle CDB service name
username: 'datadog'
password: '<PASSWORD>'
dbm: true
tags: # Optional
- 'service:<CUSTOM_SERVICE>'
- 'env:<CUSTOM_ENV>'
Once all Agent configuration is complete, restart the Datadog Agent.
Validate
Run the Agent’s status subcommand and look for oracle-dbm
under the Checks section. Navigate to the Dashboard and Databases page in Datadog to get started.
Custom queries
Database Monitoring supports custom queries for Oracle databases. See the conf.yaml.example to learn more about the configuration options available.
Running custom queries may result in additional costs or fees assessed by Oracle.
Further reading
Additional helpful documentation, links, and articles: