Mastering Oracle RAC: Step‑by‑Step Commands to Start and Stop Clusters
This guide provides a comprehensive, command‑by‑command walkthrough for shutting down and starting Oracle RAC clusters, covering srvctl and crsctl usage, status checks, and essential options to help administrators manage database instances and cluster services reliably.
Introduction
This guide summarizes the essential Oracle Real Application Clusters (RAC) shutdown and startup procedures, focusing on the correct order of commands for the CRS cluster services and the database instances.
Shutdown Process (CRS Cluster → Database)
Stop the database Execute the srvctl command as the Oracle software owner:
srvctl stop database -d <dbname> [-o immediate]Example: srvctl stop database -d racdb Verify that all instances are stopped: srvctl status database -d racdb Stop High Availability Services (HAS) Run as root from the Grid home bin directory:
cd /u01/grid/11.2.0/grid/bin
./crsctl stop has -f
./crsctl stop crs -fStop the node cluster service Also as root :
# Stop services on the current node
./crsctl stop cluster
# Stop services on all nodes
./crsctl stop cluster -all
# Stop specific nodes (e.g., rac1 and rac2)
crsctl stop cluster -n rac1 rac2Check cluster process status Validate that the cluster is stopped:
crsctl check cluster # overall cluster status
crs_stat -t -v # detailed status
crsctl check crs # status of the local node onlyStartup Process (CRS Cluster → Database)
Start High Availability Services (HAS) Single‑node start:
crsctl start has
crsctl start crs
crsctl check crsAll‑node start (run on any node):
crsctl start cluster -n rac1 rac2
crsctl start cluster -allNote: Starting HAS launches many CRS processes; if you see CRS‑0184: Cannot communicate with the CRS daemon , wait a few minutes and re‑run the check command.
Start the database Start all instances of the specified database: srvctl start database -d <dbname> Verify the instances are online: srvctl status database -d <dbname> Show detailed resource names and status
crsctl status resource -t
crsctl status resourceCommon srvctl commands
Instance control:
srvctl start|stop|status instance -d <dbname> -i <inst_name>Database configuration: srvctl status|config database -d <dbname> Node applications (VIP, GSD, listener, ONS): srvctl start|stop|status nodeapps -n <node> ASM management:
srvctl start|stop|status|config asm -n <node> [-i] [-o]Environment info: srvctl getenv database -d <dbname> [-i] Global variables: srvctl setenv database -d -t Remove database from OCR: srvctl remove database -d <dbname> Add an instance to OCR:
srvctl add instance -d <dbname> -i <inst_name> -n <node>Listener status and configuration: srvctl status listener / srvctl config listener -a SCAN configuration and status: srvctl config scan /
srvctl status scanKey Takeaways
crsctl is a cluster‑level utility that starts, stops, and manages all CRS resources across nodes.
srvctl is a service‑level utility that operates on individual database services, instances, and node applications.
Correct sequencing—stop/start the database first, then HAS and cluster services, and finally verify status—ensures a clean and reliable RAC operation.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
ITPUB
Official ITPUB account sharing technical insights, community news, and exciting events.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
