A simple guide for checking the health, setup, and performance of Oracle Real Application Clusters (RAC).
—
🖥 RAC Configuration & Nodes
olsnodes → List all RAC nodes.
olsnodes -n → List nodes with numeric IDs.
olsnodes -i → Show VIP addresses.
olsnodes -p → Show public node names.
crsctl query crs activeversion → Show active Clusterware version.
crsctl query crs softwareversion <node> → Version on a specific node.
crsctl stat res -p → View detailed parameters for all resources.
—
⚙️ Cluster & Database Management
crsctl stat res -t → Status of all cluster resources.
srvctl config database -d <db> → DB configuration.
srvctl status database -d <db> → DB status across RAC nodes.
srvctl status instance -d <db> -i <inst> → Status of a single instance.
srvctl config service -d <db> → List DB services.
srvctl status service -d <db> → Service status across nodes.
srvctl config scan → SCAN configuration.
srvctl status scan → SCAN listener status.
srvctl status listener -n <node> → Listener status per node.
—
📊 Instance & Session Checks (SQL*Plus)
SELECT INSTANCE_NUMBER, INSTANCE_NAME, HOST_NAME, STATUS FROM GV$INSTANCE;
SELECT NAME, VALUE FROM GV$PARAMETER WHERE NAME LIKE ‘%instance_number%’;
SELECT NAME, VALUE FROM GV$PARAMETER WHERE NAME LIKE ‘%thread%’;
SELECT * FROM GV$SESSION;
SELECT * FROM GV$LOCK;
SELECT * FROM GV$LOCK_TYPE;
SELECT INST_ID, BLOCKING_INSTANCE, BLOCKING_SESSION FROM GV$SESSION WHERE BLOCKING_SESSION IS NOT NULL;
—
📈 RAC Performance & Cache
SELECT INST_ID, CLASS, CR_REQUESTS, CURRENT_REQUESTS FROM GV$CACHE_TRANSFER;
SELECT * FROM GV$GES_DEADLOCK;
SELECT * FROM GV$GES_BLOCKING_ENQUEUE;
SELECT * FROM GV$CURRENT_BLOCK_SERVER;
SELECT * FROM GV$CR_BLOCK_SERVER;
SELECT * FROM GV$GCS_MESSAGE;
SELECT * FROM GV$GES_RESOURCE;
—
🌐 Interconnect & Network
oifcfg getif → View Oracle interface configuration.
ifconfig / ip addr → Network details (OS).
ping <private_IP> → Interconnect test.
traceroute <private_IP> → Trace interconnect route.
netstat -rn → Check routing table.
—
📂 Logs & Health Checks
crsctl check crs → CRS health check.
crsctl query crs releasepatch → Clusterware patch level.
tail -f $GRID_HOME/log/<node>/alert.log → Clusterware log.
tail -f $ORACLE_BASE/diag/rdbms/<db>/<instance>/trace/alert_<instance>.log → DB alert log.
adrci → Interactive alert/log monitoring.
adrci show homes → List all ADR homes.
adrci show alert → Display alert logs.