{"id":301,"date":"2026-10-13T11:11:15","date_gmt":"2026-10-13T11:11:15","guid":{"rendered":"http:\/\/www.scmgalaxy.com\/tutorials\/2011\/08\/04\/oracle-rac-cheat-sheet\/"},"modified":"2026-10-13T11:11:15","modified_gmt":"2026-10-13T11:11:15","slug":"oracle-rac-cheat-sheet","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/oracle-rac-cheat-sheet\/","title":{"rendered":"Oracle RAC Operations Cheat Sheet: CRSCTL, SRVCTL, ASM, OCR, and Network Checks"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><em>Originally published on 2011-08-04; fully revised and updated.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2011\/08\/oracle-rac-cheat-sheet.png\"><img decoding=\"async\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2011\/08\/oracle-rac-cheat-sheet.png\" alt=\"Oracle RAC cheat sheet reference\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Command families and when to use them<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Command family<\/th><th>Primary use<\/th><th>Example from this cheat sheet<\/th><th>Typical execution user<\/th><\/tr><\/thead><tbody><tr><td>crsctl<\/td><td>Clusterware stack and cluster-level control<\/td><td>crsctl check crs<\/td><td>root (for some stack operations)<\/td><\/tr><tr><td>srvctl<\/td><td>RAC-managed resources (DB, ASM, listener, VIP, SCAN)<\/td><td>srvctl status database -d racdb<\/td><td>grid or oracle (environment-dependent)<\/td><\/tr><tr><td>ocrcheck \/ cluvfy<\/td><td>Registry and validation checks<\/td><td>ocrcheck<\/td><td>oracle or grid (environment-dependent)<\/td><\/tr><tr><td>emctl<\/td><td>Enterprise Manager DB Console control (legacy)<\/td><td>emctl status dbconsole<\/td><td>oracle<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Core cluster health checks<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Use these first to get a fast view of cluster state and node membership before any maintenance action.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php language-bash\"><span class=\"hljs-comment\"># Clusterware stack health<\/span>\ncrsctl check crs\n\n<span class=\"hljs-comment\"># Clusterware resources overview (legacy command style)<\/span>\ncrs_stat -t -v\n\n<span class=\"hljs-comment\"># List cluster nodes and node numbers<\/span>\nolsnodes -n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\">Start and stop Oracle Clusterware<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">These commands are high-impact. Confirm scope (<strong>single node<\/strong> vs <strong>entire cluster<\/strong>) before execution.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Local node operations<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php language-bash\"><span class=\"hljs-comment\"># Stop Clusterware stack on the local server<\/span>\n\/u01\/app\/<span class=\"hljs-number\">11.2<\/span><span class=\"hljs-number\">.0<\/span>\/grid\/bin\/crsctl stop cluster\n\n<span class=\"hljs-comment\"># Start Clusterware stack on the local server<\/span>\n\/u01\/app\/<span class=\"hljs-number\">11.2<\/span><span class=\"hljs-number\">.0<\/span>\/grid\/bin\/crsctl start cluster<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\">All node operations<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php language-bash\"><span class=\"hljs-comment\"># Stop Clusterware stack on all servers<\/span>\ncrsctl stop cluster -all\n\n<span class=\"hljs-comment\"># Start Clusterware stack on all servers<\/span>\ncrsctl start cluster -all<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\">Verify ASM, OCR, and voting disk<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">After startup or maintenance, verify the cluster control plane and storage quorum components.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php language-bash\"><span class=\"hljs-comment\"># Confirm ASM status (all ASM instances)<\/span>\nsrvctl status asm -a\n\n<span class=\"hljs-comment\"># Check Oracle Cluster Registry<\/span>\nocrcheck\n\n<span class=\"hljs-comment\"># Check voting disk configuration\/status<\/span>\ncrsctl query css votedisk<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\">Database and instance control with SRVCTL<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Use SRVCTL for RAC database lifecycle and configuration checks. The examples below use the sample database name <strong>racdb<\/strong> from the original article.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Task<\/th><th>Command<\/th><\/tr><\/thead><tbody><tr><td>All Oracle instances (database status)<\/td><td>srvctl status database -d racdb<\/td><\/tr><tr><td>Single Oracle instance status<\/td><td>srvctl status instance -d racdb -i racdb1<\/td><\/tr><tr><td>Stop all instances for the database<\/td><td>srvctl stop database -d racdb<\/td><\/tr><tr><td>Start all instances for the database<\/td><td>srvctl start database -d racdb<\/td><\/tr><tr><td>List all configured databases<\/td><td>srvctl config database<\/td><\/tr><tr><td>Show one database configuration<\/td><td>srvctl config database -d racdb -a<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php language-bash\"><span class=\"hljs-comment\"># Typical check-stop-start-verify cycle<\/span>\nsrvctl status database -d racdb\nsrvctl stop database -d racdb\nsrvctl start database -d racdb\nsrvctl status instance -d racdb -i racdb1<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\">Node applications and network service checks<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">These commands help confirm node-level services and client access paths (listener, SCAN, and VIP).<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-6\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php language-bash\"><span class=\"hljs-comment\"># Node applications<\/span>\nsrvctl status nodeapps\nsrvctl config nodeapps\nsrvctl config nodeapps -a -g -s -l\n\n<span class=\"hljs-comment\"># Listener and SCAN<\/span>\nsrvctl status listener\nsrvctl status scan\nsrvctl config scan\n\n<span class=\"hljs-comment\"># VIP checks per node<\/span>\nsrvctl status vip -n racnode1\nsrvctl status vip -n racnode2\nsrvctl config vip -n racnode1\nsrvctl config vip -n racnode2<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-6\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\">Enterprise Manager dbconsole and clock synchronization checks<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The original cheat sheet includes DB Console commands and cluster time synchronization validation.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-7\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php language-bash\"><span class=\"hljs-comment\"># Enterprise Manager DB Console (legacy deployments)<\/span>\nemctl status dbconsole\nemctl start dbconsole\nemctl stop dbconsole\n\n<span class=\"hljs-comment\"># Verify clock synchronization across nodes<\/span>\ncluvfy comp clocksync -verbose<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-7\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\">Recommended RAC maintenance workflow<\/h2>\n\n\n\n<pre class=\"mermaid\">\nflowchart TD\n    A[Run prechecks] --> B{Maintenance scope}\n    B -->|Local node only| C[Stop cluster on local node]\n    B -->|Entire cluster| D[Stop cluster on all nodes]\n    C --> E[Perform maintenance task]\n    D --> E\n    E --> F[Start cluster services]\n    F --> G[Validate database and instance status]\n    G --> H[Verify ASM OCR voting disk and network services]\n    H --> I[Run clock sync validation]\n<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Best practices and common pitfalls<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Always confirm which OS user should run each command in your environment (root, grid, or oracle).<\/li><li>Prefer status and config checks before stop\/start actions.<\/li><li>Use <strong>-all<\/strong> options only in approved maintenance windows because they are cluster-wide and disruptive.<\/li><li>Treat sample names (<strong>racdb<\/strong>, <strong>racnode1<\/strong>, <strong>racnode2<\/strong>) as placeholders and replace them with real resource names.<\/li><li>After any restart, validate end-to-end: Clusterware, database instances, ASM\/OCR\/voting disk, and client-facing network services.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Source post: <a href=\"https:\/\/www.devopsschool.com\/blog\/oracle-rac-cheat-sheet\/\">Oracle RAC Web References &amp; Cheatsheet<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A practical Oracle RAC command reference for day-to-day operations and maintenance. Use this guide to check cluster health, control services safely, and validate ASM, OCR, voting disk, and network components.<\/p>\n","protected":false},"author":1,"featured_media":3882,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[2],"tags":[1385,599,2693,2692,2690,2695,2694,2696,2691,2688,2689],"class_list":["post-301","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorised","tag-cheatsheet","tag-oracle","tag-oracle-clusterware","tag-oracle-database","tag-oracle-rac","tag-oracle-rac-guide","tag-oracle-rac-reference","tag-oracle-rac-tutorial","tag-oracle-real-application-clusters","tag-rac","tag-rac-cheatsheet"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/301","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=301"}],"version-history":[{"count":3,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/301\/revisions"}],"predecessor-version":[{"id":79151,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/301\/revisions\/79151"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media\/3882"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=301"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=301"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=301"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}