Database Monitoring provides deep visibility into your Amazon RDS Oracle databases by exposing query samples that help profile different workloads and quickly diagnose performance issues.

The Atatus Infrastructure Agent collects telemetry from the RDS Oracle instance using a read-only database user, ensuring safe and non-intrusive monitoring without impacting production workloads.

Before You Begin

Component Supported Versions
Oracle (RDS) 11g, 12c, 18c, 19c, 21c
Atatus Infra Agent 4.0.0 or higher

To enable Oracle Database Monitoring with Atatus, complete the following steps:

1. Create the Atatus User

Create a read-only Atatus user and grant the required permissions.

copy
icon/buttons/copy

CREATE USER atatus IDENTIFIED BY <YOUR_PASSWORD>;

2. Grant the User Access to the Database

copy
icon/buttons/copy
grant create session to atatus;

exec rdsadmin.rdsadmin_util.grant_sys_object('V_$SESSION','ATATUS','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$DATABASE','ATATUS','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$CONTAINERS','ATATUS','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$SQLSTATS','ATATUS','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$SQL','ATATUS','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$INSTANCE','ATATUS','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$SQL_PLAN_STATISTICS_ALL','ATATUS','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_FEATURE_USAGE_STATISTICS','ATATUS','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$PROCESS','ATATUS','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$CON_SYSMETRIC','ATATUS','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('CDB_TABLESPACE_USAGE_METRICS','ATATUS','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('CDB_TABLESPACES','ATATUS','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$SQLCOMMAND','ATATUS','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$DATAFILE','ATATUS','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$SGAINFO','ATATUS','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$SYSMETRIC','ATATUS','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$PDBS','ATATUS','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('CDB_SERVICES','ATATUS','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$OSSTAT','ATATUS','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$PARAMETER','ATATUS','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$SQL','ATATUS','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$PGASTAT','ATATUS','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$ASM_DISKGROUP','ATATUS','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$RSRCMGRMETRIC','ATATUS','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$DATAGUARD_CONFIG','ATATUS','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$DATAGUARD_STATS','ATATUS','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$TRANSACTION','ATATUS','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$LOCKED_OBJECT','ATATUS','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_OBJECTS','ATATUS','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('CDB_DATA_FILES','ATATUS','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_DATA_FILES','ATATUS','SELECT',p_grant_option => false);

3. Configure Atatus Infrastructure Agent

Update the configuration file by adding the following configuration to /etc/atatus-infra-agent/conf.d/oracle.d/oracle.yml:

copy
icon/buttons/copy

metrics:
  - hosts: ["<RDS_INSTANCE_ENDPOINT>"]                     
    port: <PORT>                            
    username: atatus              
    password: <REPLACE_PASSWORD>              
    service_name: <REPLACE_SERVICE_NAME>     
    dbm: true

Note: Replace the placeholders with your actual RDS Oracle database connection details.

4. Restart the Atatus Infrastructure Agent

Restart the Atatus Infra Agent to apply the changes:

copy
icon/buttons/copy

sudo service atatus-infra-agent restart