Originally published on 2011-08-04; fully revised and updated.
This guide is a field-ready Oracle RAC cheat sheet for DBAs and platform engineers who need quick, reliable operational commands. It covers cluster health checks, start/stop procedures, database and instance control, and key infrastructure validations (ASM, OCR, voting disk, listener, SCAN, and VIP), using the command patterns from the original post.

Command families and when to use them
| Command family | Primary use | Example from this cheat sheet | Typical execution user |
|---|---|---|---|
| crsctl | Clusterware stack and cluster-level control | crsctl check crs | root (for some stack operations) |
| srvctl | RAC-managed resources (DB, ASM, listener, VIP, SCAN) | srvctl status database -d racdb | grid or oracle (environment-dependent) |
| ocrcheck / cluvfy | Registry and validation checks | ocrcheck | oracle or grid (environment-dependent) |
| emctl | Enterprise Manager DB Console control (legacy) | emctl status dbconsole | oracle |
Core cluster health checks
Use these first to get a fast view of cluster state and node membership before any maintenance action.
# Clusterware stack health
crsctl check crs
# Clusterware resources overview (legacy command style)
crs_stat -t -v
# List cluster nodes and node numbers
olsnodes -nCode language: PHP (php)
Start and stop Oracle Clusterware
These commands are high-impact. Confirm scope (single node vs entire cluster) before execution.
Local node operations
# Stop Clusterware stack on the local server
/u01/app/11.2.0/grid/bin/crsctl stop cluster
# Start Clusterware stack on the local server
/u01/app/11.2.0/grid/bin/crsctl start clusterCode language: PHP (php)
All node operations
# Stop Clusterware stack on all servers
crsctl stop cluster -all
# Start Clusterware stack on all servers
crsctl start cluster -allCode language: PHP (php)
Verify ASM, OCR, and voting disk
After startup or maintenance, verify the cluster control plane and storage quorum components.
# Confirm ASM status (all ASM instances)
srvctl status asm -a
# Check Oracle Cluster Registry
ocrcheck
# Check voting disk configuration/status
crsctl query css votediskCode language: PHP (php)
Database and instance control with SRVCTL
Use SRVCTL for RAC database lifecycle and configuration checks. The examples below use the sample database name racdb from the original article.
| Task | Command |
|---|---|
| All Oracle instances (database status) | srvctl status database -d racdb |
| Single Oracle instance status | srvctl status instance -d racdb -i racdb1 |
| Stop all instances for the database | srvctl stop database -d racdb |
| Start all instances for the database | srvctl start database -d racdb |
| List all configured databases | srvctl config database |
| Show one database configuration | srvctl config database -d racdb -a |
# Typical check-stop-start-verify cycle
srvctl status database -d racdb
srvctl stop database -d racdb
srvctl start database -d racdb
srvctl status instance -d racdb -i racdb1Code language: PHP (php)
Node applications and network service checks
These commands help confirm node-level services and client access paths (listener, SCAN, and VIP).
# Node applications
srvctl status nodeapps
srvctl config nodeapps
srvctl config nodeapps -a -g -s -l
# Listener and SCAN
srvctl status listener
srvctl status scan
srvctl config scan
# VIP checks per node
srvctl status vip -n racnode1
srvctl status vip -n racnode2
srvctl config vip -n racnode1
srvctl config vip -n racnode2Code language: PHP (php)
Enterprise Manager dbconsole and clock synchronization checks
The original cheat sheet includes DB Console commands and cluster time synchronization validation.
# Enterprise Manager DB Console (legacy deployments)
emctl status dbconsole
emctl start dbconsole
emctl stop dbconsole
# Verify clock synchronization across nodes
cluvfy comp clocksync -verboseCode language: PHP (php)
Recommended RAC maintenance workflow
flowchart TD
A[Run prechecks] --> B{Maintenance scope}
B -->|Local node only| C[Stop cluster on local node]
B -->|Entire cluster| D[Stop cluster on all nodes]
C --> E[Perform maintenance task]
D --> E
E --> F[Start cluster services]
F --> G[Validate database and instance status]
G --> H[Verify ASM OCR voting disk and network services]
H --> I[Run clock sync validation]
Best practices and common pitfalls
- Always confirm which OS user should run each command in your environment (root, grid, or oracle).
- Prefer status and config checks before stop/start actions.
- Use -all options only in approved maintenance windows because they are cluster-wide and disruptive.
- Treat sample names (racdb, racnode1, racnode2) as placeholders and replace them with real resource names.
- After any restart, validate end-to-end: Clusterware, database instances, ASM/OCR/voting disk, and client-facing network services.
Source post: Oracle RAC Web References & Cheatsheet.
I’m Rajesh Kumar, a DevOps, SRE, DevSecOps, Cloud, and Platform Engineering expert passionate about sharing practical knowledge, real-world experiences, and industry best practices. I have worked at Cotocus and regularly write about technology, travel, investing, health, product reviews, and digital marketing through my various platforms.
I publish technical articles at DevOps School, travel stories at Holiday Landmark, stock market insights at Stocks Mantra, health and fitness guidance at My Medic Plus, product reviews at TrueReviewNow, and SEO and digital marketing strategies at Wizbrand.
Find Trusted Cardiac Hospitals
Compare heart hospitals by city and services — all in one place.
Explore Hospitals