Monitoring Oracle Real Application Clusters
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
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_$LIBRARYCACHE, GV_$LATCH, GV_$ROWCACHE, GV_$RESOURCE_LIMIT, GV_$STATNAME, GV_$SESSTAT, GV_$PROCESS, GV_$SQLAREA, GV_$PARAMETER, GV_$SQL, V_$VERSION, GV_$SYS_TIME_MODEL, GV_$SYSTEM_WAIT_CLASS, GV_$INSTANCE, GV_$LOCK, DBA_HIST_SQLTEXT, DBA_HIST_SQLSTAT, DBA_HIST_SNAPSHOT,DBA_HIST_ACTIVE_SESS_HISTORY, DBA_USERS, DBA_OBJECTS, DBA_TABLESPACE_USAGE_METRICS, DBA_DATA_FILES, DBA_TEMP_FILES
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>' # SCAN_HOSTNAME or SCAN_IP'
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.
On the Infrastructure map, the remote Oracle RAC instance appears as a separate box with the name that is specified in the availabilityZone
key in the configuration.yaml
file. To locate the instance, enter entity.type:oracleDB
in the Instana Dynamic Focus search bar.
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_10_SQL_HIGH_IO_LAST_1_HR | List of top ten SQL with high I/O in the last 1 hour. |
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. |
LIBRARY_CACHE_HIT_RATIO | The ratio indicates the number of pin requests that result in pin hits. |
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_10_SQL_HIGH_IO_LAST_24_HR | List of top ten SQL with high I/O in the last 24 hours. |
TOP_CPU_QUERIES_LAST_24_HRS | List of top CPU consuming queries in the last 24 hours. |
QUERIES_NOT_USING_BINDING_VARIABLES | List of queries that don't use the bind variable in the code. |
See the following configuration for custom polling:
com.instana.plugin.oracledb:
remote: # Instana supports listing of multiple Oracle RACs.
- host: '<ORCL_HOST>' # SCAN_HOSTNAME or SCAN_IP'
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
- LIBRARY_CACHE_HIT_RATIO
- CURRENT_BLOCKING_SESSIONS
- poll_rate: 60
metrics:
- TOP_ELAPSED_TIME_QUERIES
- TOP_TEN_CPU_CONSUMING_SESSION
- SQL_ID_CONSUMING_MORE_CPU
- USER_FOREGROUND_SESSIONS
- TOP_10_SQL_HIGH_IO_LAST_1_HR
- ACTIVE_SESSION_HISTORY
- poll_rate: 3600
metrics:
- TOP_10_SQL_HIGH_IO_LAST_24_HR
- TOP_CPU_QUERIES_LAST_24_HRS
- QUERIES_NOT_USING_BINDING_VARIABLES
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 |
Wait Time per Second | Wait time per second for User I/O, Other, System I/O, Concurrency, Scheduler, Application, Commit, Configuration, Administrative, Network, and Queueing. | 1 second |
Library Cache Hit Ratio (Pin Hits) | The ratio indicates the number of pin requests that result in pin hits. | 30 seconds |
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 |
Tablespace Usage | Tablespace (permanent, temporary, and undo) usage in GB, tablespace usage in percentage, maximum size of the tablespace and auto-extensible flag. | 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 |
Queries Not Using Bind Variable | List of queries that do not use the bind variable in the code with number of query copies, number of query executions, and total memory that is consumed by SQL queries in MB. | 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 |
Top Ten SQL With High IO (Last 1 Hr) | List of top ten SQL queries with high I/O in the last 1 hour with SQL ID, username, and total wait time in milliseconds. | 60 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 |
Top Ten SQL With High IO Last 24 Hr | List of top ten SQL queries with high I/O in the last 24 hours. | 1 hour |
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.