Performance metrics monitored in Oracle RAC monitor
Site24x7 collects metrics at the cluster, instance, and node levels for Oracle Real Application Clusters (RAC). This page lists all metrics collected, grouped by category, for both the Oracle RAC monitor and the Oracle RAC Instance monitor.
Oracle database level metrics
The following metrics are collected at the cluster level from the Oracle RAC monitor.
Cluster configuration
Key version and configuration details of the Oracle RAC cluster, collected with each change.
| Metric | Description | Unit |
| Software Version | The Oracle software version installed on the cluster. | Text |
| Active Version | The Oracle version currently active and in use on the cluster. | Text |
| Release Version | The Oracle release version string for the cluster software. | Text |
Performance
Cluster-wide performance indicators covering cache efficiency, throughput, I/O, session activity, and SQL execution rates. These metrics are sourced from Oracle's GV$ global views.
| Metric | Description | Unit |
| Row Cache Hit Ratio | The percentage of row cache requests that were served from the cache without requiring a disk read. A higher value indicates better cache utilization. | Percent |
| Row Cache Miss Ratio | The percentage of row cache requests that required a disk read because the data was not found in the cache. A higher value indicates cache pressure. | Percent |
| Cursor Cache Hit Ratio | The percentage of cursor requests that were satisfied from the cursor cache, avoiding a full parse operation. | Percent |
| Database CPU Time Ratio | The percentage of active time that the database spent on CPU processing, as opposed to waiting. A higher value indicates CPU-bound workloads. | Percent |
| Database Wait Time Ratio | The percentage of active time that the database spent waiting on resources such as I/O, locks, or latches. A higher value indicates I/O or contention bottlenecks. | Percent |
| Execute Without Parse Ratio | The percentage of SQL executions that reused an existing cursor without reparsing. A higher value indicates effective cursor reuse and reduced parse overhead. | Percent |
| Library Cache Hit Ratio | The percentage of library cache lookups (for SQL, PL/SQL, and object definitions) that were found in the shared pool without requiring a hard parse. | Percent |
| Library Cache Miss Ratio | The percentage of library cache lookups that resulted in a miss, requiring a hard parse. A higher value may indicate shared pool sizing issues. | Percent |
| Memory Sort Ratio | The percentage of sort operations that were performed entirely in memory without requiring a disk sort. A higher value indicates sufficient sort area sizing. | Percent |
| Response Time Per Transaction | The average elapsed time to complete one database transaction across the cluster. | Milliseconds |
| SQL Service Response Time | The average elapsed time for SQL statement execution, as measured at the database service level. | Seconds |
| Soft Parse Ratio | The percentage of parse operations that were soft parses (reusing an existing shared cursor), as opposed to hard parses. A higher value reduces CPU overhead. | Percent |
| Physical Read Bytes Per Second | The rate at which data is being read from disk by database datafile I/O operations. | Bytes/sec |
| Physical Write Bytes Per Second | The rate at which data is being written to disk by database datafile I/O operations. | Bytes/sec |
| Physical Read Total Bytes Per Second | The total rate of physical read I/O across all file types, including datafiles, temp files, and control files. | Bytes/sec |
| Physical Write Total Bytes Per Second | The total rate of physical write I/O across all file types, including datafiles, temp files, and control files. | Bytes/sec |
| Average Active Sessions | The average number of sessions that were actively executing on the database at any given moment during the collection period. | Count |
| Session Count | The current total number of sessions connected to the cluster across all instances. | Count |
| Session Limit | The maximum number of concurrent sessions permitted on the cluster, as defined by the SESSIONS initialization parameter. | Count |
| DB Block Changes Per Second | The rate at which database blocks are being modified per second across the cluster. High values indicate write-intensive workloads. | Count/sec |
| DB Block Changes Per Transaction | The average number of database block modifications performed per transaction. | Count/sec |
| DB Block Gets Per Second | The rate at which current (most recent) versions of database blocks are being retrieved per second. | Count/sec |
| Executions Per Second | The rate of SQL statement executions across all instances in the cluster per second. | Count/sec |
| I/O Megabytes Per Second | The total I/O throughput across the cluster in megabytes per second, combining read and write operations. | MB/sec |
| Logical Reads Per Second | The rate of logical read operations (buffer cache gets) per second across the cluster. | Count/sec |
| Total Processes Across RAC | The total number of operating system processes currently running across all instances in the RAC cluster. | Count |
| Gets | The total number of latch or buffer gets requested across the cluster during the collection period. | Count |
| Waits | The total number of latch or buffer get requests that could not be immediately satisfied and had to wait. | Count |
| Wait/Get Ratio | The ratio of waits to gets, expressed as a percentage. A higher value indicates latch or buffer contention. | Percent |
Block contention
Metrics tracking inter-instance block transfers and contention through the Global Cache Services (GCS). High values may indicate hot blocks or insufficient cache sizing.
| Metric | Description | Unit |
| Consistent Read Blocks Received | The number of consistent read (CR) block versions received from remote instances via the interconnect. Consistent read blocks are past-image versions used to satisfy read-consistent queries. | Count |
| Current Blocks Received | The number of current (most recent) block versions received from remote instances via the interconnect. These transfers occur when an instance requires the latest version of a block held by another node. | Count |
| Consistent Read Blocks Received Time | The cumulative time spent receiving consistent read block transfers across the interconnect. | Milliseconds |
| Current Blocks Received Time | The cumulative time spent receiving current block transfers across the interconnect. | Milliseconds |
| Blocks Lost | The number of blocks that were lost or required re-mastering during inter-instance transfers. Non-zero values may indicate interconnect instability or excessive resource remastering. | Count |
Lock mode distribution
Distribution of lock requests across the cluster by lock mode. These counts reflect the current state of lock activity across all instances, sourced from Oracle's global lock management views.
| Lock mode | Description | Unit |
| None | The number of lock requests with no lock mode held — typically representing locks that have been released or are in transition. | Count |
| Null (NL) | The number of Null mode locks held. Null locks represent an interest in a resource without restricting other sessions' access. | Count |
| Row Share (RS) | The number of Row Share locks held. Allows concurrent access to the table but prevents exclusive table locks. | Count |
| Row Exclusive (RX) | The number of Row Exclusive locks held. Permits concurrent row-level updates but prevents share, share row exclusive, and exclusive table locks. | Count |
| Share (S) | The number of Share mode locks held. Allows concurrent queries but prevents updates to the locked resource. | Count |
| Share Row Exclusive (SRX) | The number of Share Row Exclusive locks held. More restrictive than Share mode — prevents other sessions from acquiring share, share row exclusive, or exclusive locks. | Count |
| Exclusive (X) | The number of Exclusive locks held. Prevents any other lock mode from being granted on the resource. High counts may indicate lock contention or long-running transactions. | Count |
System Global Area
Memory allocation across the components of the System Global Area (SGA) for the cluster. These metrics help identify memory pressure and support SGA sizing decisions.
| Metric | Description | Unit |
| Fixed SGA Size | The size of the fixed SGA component, which holds internal Oracle data structures and is not dynamically resizable. | MB |
| Redo Buffer | The size of the redo log buffer in the SGA, used to temporarily hold redo entries before they are written to the online redo log files. | MB |
| Buffer Cache Size | The size of the database buffer cache, which holds copies of data blocks read from datafiles. A larger buffer cache reduces physical I/O. | MB |
| In-Memory Area Size | The size of the In-Memory area, which stores columnar representations of table data for accelerated analytic queries (requires Oracle In-Memory option). | MB |
| Shared Pool Size | The size of the shared pool, which caches parsed SQL statements, PL/SQL code, and data dictionary information. Undersizing leads to hard parses and dictionary reloads. | MB |
| Large Pool Size | The size of the large pool, used for memory allocations that are too large for the shared pool—such as shared server sessions, parallel query operations, and RMAN backup buffers. | MB |
| Java Pool Size | The size of the Java pool, which provides memory for Java sessions and the Java class cache when the Oracle JVM is in use. | MB |
| Streams Pool Size | The size of the Streams pool, used by Oracle Streams, Advanced Queuing, and Oracle GoldenGate capture/apply processes. | MB |
| Shared I/O Pool Size | The size of the shared I/O pool, used for direct path reads and writes with SecureFiles LOBs. | MB |
| Maximum SGA Size | The maximum size that the SGA is permitted to grow to, as defined by the SGA_MAX_SIZE or MEMORY_MAX_TARGET initialization parameters. | MB |
Program Global Area
Memory usage metrics for the Program Global Area (PGA), which holds session-private memory for sort operations, hash joins, and other per-process data.
| Metric | Description | Unit |
| Total PGA In Use | The total amount of PGA memory currently in active use across all server processes in the cluster. | MB |
| Total PGA Allocated | The total amount of PGA memory currently allocated (reserved) by Oracle for all server processes, including memory that may not be actively in use. | MB |
| Maximum PGA Allocated | The maximum total PGA memory that has been allocated across all server processes since the instance started. Useful for right-sizing PGA_AGGREGATE_TARGET. | MB |
| Total Freeable PGA Memory | The total amount of PGA memory that is allocated but currently unused and could be freed back to the operating system. | MB |
| Process Count | The current number of Oracle server processes using PGA memory across the cluster. | Count |
| Maximum Process Count | The maximum number of Oracle server processes that have been concurrently active since the instance started. | Count |
| Cache Hit Percentage | The percentage of work areas (sorts, hash joins, bitmap operations) that were executed entirely in memory without spilling to temporary tablespace. A higher value indicates sufficient PGA sizing. | Percent |
| PGA Memory Freed Back to OS | The total amount of PGA memory that Oracle has released back to the operating system since the instance started. | MB |
Wait events
Cluster-wide wait event statistics, providing insight into where the database is spending time waiting. These metrics are aggregated across all instances.
| Metric | Description | Unit |
| Total Waits | The total number of times a wait event was encountered across all sessions and instances during the collection period. | Count |
| Time Waited | The cumulative time spent waiting across all wait events during the collection period. | Milliseconds |
| Average Wait Time | The average time spent per wait event occurrence. Calculated as Time Waited divided by Total Waits. | Milliseconds |
Node details
Per-node Oracle Clusterware component health, collected via crsctl and olsnodes for each node in the cluster.
| Metric | Description | Unit |
| Status | The current status of the node within the cluster (for example, active or inactive). | Text |
| Node Type | The role of the node in the cluster (for example, HUB or LEAF in Oracle Flex ASM/RAC configurations). | Text |
| Cluster Ready Services (CRS) | The operational state of the Cluster Ready Services daemon on this node. CRS manages the high-availability framework, resource monitoring, and failover. | Text |
| Cluster Synchronization Services (CSS) | The operational state of the Cluster Synchronization Services daemon on this node. CSS manages cluster membership, monitors node health, and initiates node eviction if a node becomes unresponsive. | Text |
| Event Manager | The operational state of the Oracle Cluster Event Manager (EVM) daemon on this node. EVM publishes cluster events to subscribing processes. | Text |
Clusterware resource states
Status of Oracle Clusterware-managed resources on each cluster node, collected using crsctl stat res -t. These resources include database services, instance resources, listeners, and VIPs.
| Metric | Description | Unit |
| Node ID | The unique numeric identifier assigned to the node by Oracle Clusterware. | Text |
| Status | The current runtime status of the Clusterware resource (for example, ONLINE, OFFLINE, INTERMEDIATE, or UNKNOWN). | Text |
| Target | The desired target state of the resource as managed by Oracle Clusterware (for example, ONLINE or OFFLINE). | Text |
| Server | The name of the cluster node on which this resource is currently running or registered. | Text |
| State Detail | Additional detail about the resource's current state, such as the reason for an INTERMEDIATE or OFFLINE status. | Text |
Oracle RAC instance metrics
The following metrics are collected per instance by the Oracle RAC Instance monitor, which is auto-discovered for each node in the cluster.
Instance configuration
Configuration and state attributes for each individual Oracle RAC instance, collected with each change.
| Metric | Description | Unit |
| Instance ID | The unique identifier assigned to this Oracle instance within the cluster. | Text |
| Instance Number | The instance number as defined by the INSTANCE_NUMBER initialization parameter. Used to distinguish instances in a RAC cluster. | Text |
| Instance Name | The name of the Oracle instance (typically the SID), used to identify it on the host. | Text |
| Host Name | The hostname of the server on which this instance is running. | Text |
| Version | The Oracle Database software version running on this instance. | Text |
| Startup Time | The date and time when this instance was last started. | Text |
| Status | The current operational status of the instance (for example, OPEN, MOUNTED, STARTED, or RESTRICTED). | Text |
| Parallel | Indicates whether the instance is running in parallel mode as part of a RAC cluster (YES or NO). | Text |
| Thread | The redo log thread number assigned to this instance. Each instance in a RAC cluster uses a dedicated redo log thread. | Text |
| Archiver | The current state of the archiver process for this instance (for example, STARTED, STOPPED, or FAILED). | Text |
| Log Switch Wait | Indicates the event this instance is waiting for before it can complete an online redo log switch (for example, ARCHIVE LOG or CLEAR LOG). Blank if no log switch wait is active. | Text |
| Logins | Indicates whether new user logins to this instance are currently allowed (ALLOWED) or restricted (RESTRICTED). | Text |
| Shutdown Pending | Indicates whether a shutdown command has been issued for this instance and is pending completion (YES or NO). | Text |
| Database Status | The overall status of the database as seen from this instance (for example, ACTIVE, SUSPENDED, or INSTANCE RECOVERY). | Text |
| Instance Role | The role of this instance in an Oracle Data Guard or RAC One Node configuration (for example, PRIMARY_INSTANCE or SECONDARY_INSTANCE). | Text |
| Active State | The active state of the instance, indicating whether it is in a normal, quiescing, or quiesced state. | Text |
| Blocked | Indicates whether this instance is currently blocked from performing operations (YES or NO). | Text |
| Container ID | The container ID (CON_ID) of the current container. A value of 0 indicates a non-CDB instance; 1 indicates the root container (CDB$ROOT). | Text |
| Instance Mode | The mode in which the instance is operating (for example, NORMAL, READ WRITE, or READ ONLY). | Text |
| Edition | The Oracle Database edition in use on this instance (for example, Enterprise Edition or Standard Edition). | Text |
| Database Type | The type of database this instance belongs to (for example, RAC, RACONENODE, or SINGLE). | Text |
Instance block contention
Per-instance Global Cache Services (GCS) block transfer metrics, broken down by instance ID. These metrics measure inter-instance data block transfers via the RAC interconnect for this specific instance.
| Metric | Description | Unit |
| Consistent Read Blocks Received | The number of consistent read (CR) block versions this instance received from other instances via the interconnect during the collection period. | Count |
| Current Blocks Received | The number of current block versions this instance received from other instances via the interconnect during the collection period. | Count |
| Consistent Read Blocks Received Time | The cumulative time this instance spent receiving consistent read block transfers from remote instances. | Milliseconds |
| Current Blocks Received Time | The cumulative time this instance spent receiving current block transfers from remote instances. | Milliseconds |
| Blocks Lost | The number of blocks lost during inter-instance transfers for this instance. Non-zero values warrant investigation of interconnect stability. | Count |
