Monitoring Oracle Real Application Clusters (Open Beta)
After you install the Instana host agent, Oracle Real Application Clusters (RAC) sensor is automatically installed, but you need to configure Oracle RAC sensor as outlined in Configuring section. Then, you can view metrics that are related to Oracle RAC in the Instana UI.
Supported information
Supported operating systems
The Oracle RAC sensor supports the operating system on all the hosts where Instana agent runs. You can refer to the Supported operating systems section of each host agent, such as Supported operating systems for Unix.
Supported versions
See the following supported versions for metrics and configuration data:
- Oracle Database 19c
Note: Only remote monitoring is supported for Oracle RAC sensor.
Discovering Oracle RAC
Use the remote configuration option to discover and monitor Oracle RAC databases that run on hosts where the Instana agent cannot be installed.
Configuring
Granting database permissions
To connect the sensor to Oracle RAC and monitor the metrics and configuration, you need to have the read
permission for the following tables:
#Create a role
create ROLE INSTANAROLE;
#Grant privileges to this role for following tables and views
GV_$SESSION, GV_$BGPROCESS, GV_$ACTIVE_SESSION_HISTORY, GV_$SYSSTAT, GV_$SGASTAT, GV_$ROWCACHE, GV_$RESOURCE_LIMIT, GV_$STATNAME, GV_$SESSTAT, GV_$PROCESS, GV_$PARAMETER, GV_$SQL, V_$VERSION, GV_$SYS_TIME_MODEL, GV_$INSTANCE, GV_$LOCK, DBA_HIST_SQLTEXT, DBA_HIST_SQLSTAT, DBA_HIST_SNAPSHOT, DBA_USERS
eg. GRANT SELECT ON GV_$SESSION to INSTANAROLE;
#Assign this role to a user. Configure the same user in the configuration yaml file. For more information, see the [sensor configuration](#sensor-configuration) section.
GRANT INSTANAROLE to <user>;
Configuring Oracle RAC sensor
To monitor Oracle RAC, you need to inform the host agent about the credentials to access monitoring information by using the agent configuration file:
Enabling Oracle RAC monitoring
To enable Oracle RAC monitoring, you must set the flag enableRacMonitoring
to true
.
com.instana.plugin.oracledb:
remote: # we support listing multiple Oracle RACs here!
- host: '<ORCL_HOST_1>'
port: '<ORCL_PORT>'
user: '<ORCL_USER>' # default is 'sys as sysdba'
password: '<ORCL_PASSWORD>'
databaseServiceName: '<ORCL_DB_SERVICE_NAME>' # for Oracle RAC, SID is not required only ServiceName
availabilityZone: 'Oracle-RAC-AZ' # default is 'Oracle-RAC-AZ
poll_rate: 1
enableRacMonitoring: true # default is false. For Oracle RAC set this to true.
The poll rate defines how often the sensor polls Oracle RAC metrics, in seconds. The default is 1 second.
The configured remote Oracle RAC is shown as a separate box in the specified availability zone.
Configuring custom polling
The following table displays the metrics for which you can configure a maximum of three nonzero custom poll rates. Metrics with a poll rate as zero or less than zero is disabled by default. To disable any metric, remove that metric entry
from the <instana-agent-dir>/etc/instana/configuration.yaml
configuration file.
Name | Description |
---|---|
TOP_ELAPSED_TIME_QUERIES | List of top elapsed time queries. |
SQL_ID_CONSUMING_MORE_CPU | List of SQLs that consume more CPU. |
USER_FOREGROUND_SESSIONS | Displays active foreground sessions. |
TOP_TEN_CPU_CONSUMING_SESSION | List of top CPU consuming sessions. |
TOP_CPU_CONSUMING_SESSION_LAST_10_MIN | List of top CPU that consumes sessions in the last 10 minutes. |
CURRENT_BLOCKING_SESSIONS | Used to view information about the blocking sessions. |
ACTIVE_SESSIONS_RUNNING_MORE_THAN_600_SECS | All active sessions that are running for more than 10 minutes in the Oracle database. |
ACTIVE_SESSION_HISTORY | Sampled session activity in the database. |
TOP_CPU_QUERIES_LAST_24_HRS | List of top CPU consuming queries in the last 24 hours. |
See the following configuration for custom polling:
com.instana.plugin.oracledb:
remote: # Instana supports listing of multiple Oracle RACs.
- host: '<ORCL_HOST_1>'
port: '<ORCL_PORT>'
user: '<ORCL_USER>' # default is 'sys as sysdba'
password: '<ORCL_PASSWORD>'
databaseServiceName: '<ORCL_DB_SERVICE_NAME>' # for Oracle RAC, SID is not required, requires only ServiceName
availabilityZone: 'Oracle-RAC-AZ' # default is 'Oracle-RAC-AZ
poll_rate: 1
enableRacMonitoring: true
customPolling:
- poll_rate: 30
metrics:
- TOP_CPU_CONSUMING_SESSION_LAST_10_MIN
- ACTIVE_SESSIONS_RUNNING_MORE_THAN_600_SECS
- CURRENT_BLOCKING_SESSIONS
- poll_rate: 60
metrics:
- TOP_ELAPSED_TIME_QUERIES
- TOP_TEN_CPU_CONSUMING_SESSION
- SQL_ID_CONSUMING_MORE_CPU
- USER_FOREGROUND_SESSIONS
- ACTIVE_SESSION_HISTORY
- poll_rate: 3600
metrics:
- TOP_CPU_QUERIES_LAST_24_HRS
Viewing metrics
To view the metrics, complete the following steps:
- Select Infrastructure in the sidebar of the Instana UI.
- Click a specific monitored host. You can see a host dashboard with all the collected metrics and monitored processes.
The Oracle sensor monitors and collects the following data:
- Configuration data (#configuration-data)
- Performance metrics (#performance-metrics)
- Health signatures (#health-signatures)
Configuration data
Oracle sensor collects the following configuration data:
- Version
- SID
- Service names
- Start time
- CPU count
- Max sessions
- DB block size
- Instance count
Performance metrics
Metric | Description | Granularity |
---|---|---|
Running Process Count | Number of processes that are running. | 1 second |
Process Limit Usage | Usage of the process resource. Process is displayed in percentage. | 1 second |
Active Sessions (More Than 10 Mins) | All active sessions in the Oracle database for more than 10 minutes. | 30 seconds |
Process Max Utilization | Maximum consumption of process after the last instance start-up. | 1 second |
Process Current Utilization | Number of processes that are used. | 1 second |
Process Initial Allocation | Initial allocation of the process. This allocation is equal to the value that is specified for the process in the initialization parameter file. | 1 second |
Process Limit Value | Maximum limit value of a process. The value of the process must remain within this limit. | 1 second |
Process Limit Usage | The percentage of all the current processes to the limit set. | 1 second |
DB Time per Second | Amount of elapsed time that is spent on performing the database user-level calls. | 1 second |
DB CPU Time | Amount of CPU time that is spent on performing the database user-level calls. | 1 second |
SQL Execute Time | Amount of elapsed time during which the SQL query statements are executing. | 1 second |
Parse Time | Amount of elapsed time that is spent parsing the SQL query statements. It includes both the soft and hard parse time. | 1 second |
Database CPU Time Ratio | Amount of CPU used in the database by the amount of total database time. | 1 second |
SGA Total Memory | Total memory in System Global Area (SGA) in MB. | 1 second |
SGA Used Memory | Memory that is used by SGA in MB. | 1 second |
SGA Free Memory | Free memory in SGA in MB. | 1 second |
SGA Pool Name | Pool name of the System Global Area (SGA). | 1 second |
SGA Pool Total Memory | Total memory in SGA Pool in MB. | 1 second |
SGA Pool Used Memory | Used memory in SGA Pool in MB. | 1 second |
SQL Execution Count | Total number of SQL queries that are executed. | 1 second |
SQL Execution Average Time | Average SQL execution time. | 1 second |
SQL Parse Count | Hard and total parse count. | 1 second |
SQL Parse Ratios | Ratio of SQL executions that are performed with soft parse and without any parses. | 1 second |
User Calls | Number of calls, commits, and rollbacks. | 1 second |
Buffer Cache Hit Ratio | Percentage of pages that are found in the buffer cache without having to read from disk. | 1 second |
Physical and Logical Session Reads | Number of physical and logical reads. | 1 second |
Sessions | Number of user sessions (active and inactive), and the number of background sessions. | 1 second |
Top CPU Queries (Last 24 Hr) | List of top CPU queries in the last 24 hours with CPU time in milliseconds, number of disk reads, and total duration during which the query is executed. | 1 hour |
Top Elapsed Time Queries | List of top elapsed time queries with SQL ID, SQL query, and execution time in minutes. | 60 seconds |
Active Session History (Last 1 Hr) | Sampled session activity in the database for the last one hour with SQL ID, load percentage, and session count. | 60 seconds |
Top Ten CPU Consuming Sessions | List of top ten CPU-consuming sessions with session ID, serial number, CPU time in minutes, and operating system program name. | 60 seconds |
Top CPU Consuming Sessions (Last 10 Min) | List of top CPU-consuming sessions in the last 10 minutes with session ID, serial number, and total duration during which the query is executed. | 30 seconds |
Current Blocking Sessions | Information about the blocking sessions. | 30 seconds |
Foreground Sessions | Active foreground sessions. | 60 seconds |
SQL Consuming More CPU | List of SQL queries that use more CPU. | 60 seconds |
Health signatures
For each sensor, a curated knowledge base of health signatures is evaluated continuously against the incoming metrics and is used to raise issues or incidents that impact the user.