
{"id":8267,"date":"2019-11-27T16:37:11","date_gmt":"2019-11-27T16:37:11","guid":{"rendered":"https:\/\/rax-stg-wp-aws.com\/blogs\/recover-the-oracle-voting-disk-when-its-backup-is-missing\/"},"modified":"2026-11-03T19:29:31","modified_gmt":"2026-11-03T19:29:31","slug":"recover-the-oracle-voting-disk-when-its-backup-is-missing","status":"publish","type":"blogs","link":"https:\/\/www.rackspace.com\/de\/blogs\/recover-the-oracle-voting-disk-when-its-backup-is-missing\/","title":{"rendered":"Recover the Oracle voting disk when its backup is missing"},"content":{"rendered":"<p><strong>Introduction<\/strong><\/p>\n<p>This blog explores a scenario where you&#8217;ve lost an Oracle\u00a9&nbsp;Cluster Registry&nbsp;(OCR) and voting disk, and the voting disk has no backup. Though a tricky&nbsp;situation, you can restore it from the last automatic backup of the OCR.<\/p>\n<p>The voting disk is a file that manages information about node membership, and&nbsp;the OCR is a file that manages the cluster and Real Application Clusters (RAC)&nbsp;database configuration information. The Oracle Clusterware installation process&nbsp;creates the voting disk and the OCR on a shared storage volume.<\/p>\n<p>A cluster node member should always access half of the voting disk to avoid node&nbsp;eviction from the cluster group. The voting disk plays a key role by ensuring&nbsp;that all nodes mark their availability. The Cluster Synchronization Services&nbsp;daemon (CSSd) performs all the operations for the voting disk in Clusterware.<\/p>\n<p>The OCR serves as the central repository for Cluster Ready Services&nbsp;(CRS)&#8212;;storing the metadata, configuration, and state information for all&nbsp;cluster resources defined in Clusterware. The OCR always retains the latest three&nbsp;backup copies of the OCR, which are four hours old, one day old, and one week old.<\/p>\n<p><strong>What is stored in OCR?<\/strong><\/p>\n<ul>\n<li>&nbsp; &nbsp; Node membership information, including which nodes are part of the cluster<\/li>\n<li>&nbsp; &nbsp; Software current active version<\/li>\n<li>&nbsp; &nbsp; Location of the voting disk<\/li>\n<li>&nbsp; &nbsp; Server pools<\/li>\n<\/ul>\n<p>&nbsp; &nbsp; Status of the cluster resources such as RAC databases, listeners, instances,&nbsp;and other Oracle component services<\/p>\n<p>&nbsp;<strong>&nbsp;What is stored in the voting disk?<\/strong><\/p>\n<ul>\n<li>&nbsp; &nbsp; Static data: Keeps the information about all the nodes in a cluster.<\/li>\n<li>&nbsp; &nbsp; Dynamic data: Keeps the information about the disk heartbeat mechanism.<\/li>\n<\/ul>\n<p>The voting disk also maintains the details about the cluster nodes membership,&nbsp;such as which node is currently the part of the cluster, or which node is&nbsp;joining or leaving the cluster.<\/p>\n<p><strong>&nbsp;Where is the voting disk stored?<\/strong><\/p>\n<p>The voting disk is a shared disk that is accessed by all the member nodes in&nbsp;the cluster during an operation. You should store the voting disks on shared&nbsp;accessible storage like Oracle Automatic Storage Management (ASM) or a certified&nbsp;cluster file system.<\/p>\n<p><strong>Environment details<\/strong><\/p>\n<p>The sample scenario for this blog uses the following environment:<\/p>\n<ul>\n<li>&nbsp;&nbsp;<strong>Oracle Version<\/strong>: Release 11.2.0.4.0<\/li>\n<li>&nbsp;&nbsp;<strong>OS<\/strong>: Sun OS 5.11 11.2<\/li>\n<li>&nbsp;&nbsp;<strong>Cluster<\/strong>: RAC (2 nodes)<\/li>\n<\/ul>\n<p><strong>The error<\/strong><\/p>\n<p>Let&#8217;s fix the following error:<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/blog_article_images\/26633-body-Picture1_24.png\" alt=\"oracle voting disk pic 1\" \/><\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/blog_article_images\/26633-body-Picture2_21.png\" alt=\"oracle voting disk pic 2\" \/><\/p>\n<p><em>&nbsp; &nbsp; cssd(3980)]CRS-1714:Unable to discover any voting files,<br \/>\n&nbsp; &nbsp; retrying discovery in 15 seconds; Details at (:CSSNM00070:)<br \/>\n&nbsp; &nbsp; in \/oracle\/11.2.0\/grid\/log\/testdb01\/cssd\/ocssd.log<\/em><\/p>\n<p>We need to access the OCR and voting disk to bring up the cluster. However,&nbsp;because these resources are not accessible, the cluster remains down.<\/p>\n<p><strong>Restore the voting disk<\/strong><\/p>\n<p>Use the following steps to restore the voting disk from the OCR backup.<\/p>\n<p><strong>Step 1: Disable the CRS automatic start service<\/strong><\/p>\n<p>Run the following command to disable the automatic restart:<\/p>\n<p><em>&nbsp; &nbsp; root@testdb01:\/oracle\/11.2.0\/grid\/bin# .\/crsctl disable crs<\/em><\/p>\n<p><strong>Step 2: Restart the node<\/strong><\/p>\n<p>Run the following command to restart the node:<\/p>\n<p><em>&nbsp;root@testdb01:\/oracle\/11.2.0\/grid\/bin# init 6<\/em><\/p>\n<p><strong>Step 3: Verify that the CSR service did not start<\/strong><\/p>\n<p>After reboot, the CSR service should not be running because you disabled it in&nbsp;Step 2. Run the following command to check if the CRS service started:<\/p>\n<p><em>&nbsp;root@testdb01:\/oracle\/11.2.0\/grid\/bin# .\/crsct check crs<\/em><\/p>\n<p><strong>Step 4: Clear the header of the voting disk<\/strong><\/p>\n<p>Before creating the disk group, run the following command to clear the header&nbsp;of the current failed voting disk so that you can reuse it:<\/p>\n<p><em>root@testdb01:\/dev\/rdsk# dd if=\/dev\/zero<br \/>\n&nbsp; &nbsp; of=\/dev\/rdsk\/c0t60002AC0000000000000001900008265d0s0 bs=1024k count=1000<\/em><\/p>\n<p><strong>Step 5: Start the cluster<\/strong><\/p>\n<p>Run the following command to start the cluster in exclusive mode:<\/p>\n<p><em>&nbsp; &nbsp; root@testdb01:\/oracle\/11.2.0\/grid\/bin# .\/crsctl start crs -excl<\/em><\/p>\n<p><strong>Step 6: Start the ASM with a PFILE<\/strong><\/p>\n<p>Run the following command to start the ASM with a PFILE:<\/p>\n<p>&nbsp;<em> &nbsp; root@testdb01:\/oracle\/11.2.0\/grid\/bin# su &#8211; grid<br \/>\n&nbsp; &nbsp; -bash-4.1$sqlplus \/ as sysasm<br \/>\n&nbsp; &nbsp; startup pfile=&#8217;location of pfile&#8217;;<br \/>\n&nbsp; &nbsp; ASM instance started<br \/>\n&nbsp; &nbsp; Total System Global Area 1136082944 bytes<br \/>\n&nbsp; &nbsp; Fixed Size 2189048 bytes<br \/>\n&nbsp; &nbsp; Variable Size 1108728072 bytes<br \/>\n&nbsp; &nbsp; ASM Cache 25165824 bytes<br \/>\n&nbsp; &nbsp; ORA-15032: not all alterations performed<br \/>\n&nbsp; &nbsp; ORA-15017: diskgroup &#8220;OCRDATA&#8221; cannot be mounted<br \/>\n&nbsp; &nbsp; ORA-15063: ASM discovered an insufficient number of disks for diskgroup<br \/>\n&nbsp; &nbsp; &#8220;OCRDATA&#8221;<\/em><\/p>\n<p><strong>Step 7: Create a disk group<\/strong><\/p>\n<p>Run the following command to create a disk group:<\/p>\n<p><em>&nbsp; &nbsp;SQL&gt; create diskgroup OCRDATA external redundancy disk<br \/>\n&nbsp; &nbsp; &#8216;\/dev\/rdsk\/c0t60002AC0000000000000001900008265d0s0&#8217; attribute &#8216;COMPATIBLE.ASM&#8217;=&#8217;11.2&#8217;;<br \/>\n&nbsp; &nbsp; Diskgroup created<\/em><\/p>\n<p><strong>Step 8: Create a SPFILE and restart the ASM<\/strong><\/p>\n<p>Run the following commands to create a SPFILE from the PFILE of ASM and to&nbsp;restart the ASM to read the SPFILE from the voting disk:<\/p>\n<p><em>SQL&gt; create spfile=&#8217;+OCRDATA&#8217; from pfile=&#8217;\/home\/grid\/initASM1.ora&#8217;;<br \/>\n&nbsp; &nbsp; File created.<br \/>\n&nbsp; &nbsp; SQL&gt; shutdown<br \/>\n&nbsp; &nbsp; ASM diskgroups volume disabled<br \/>\n&nbsp; &nbsp; ASM diskgroups dismounted<br \/>\n&nbsp; &nbsp; ASM instance shutdown<br \/>\n&nbsp; &nbsp; SQL&gt; startup<br \/>\n&nbsp; &nbsp; ASM instance started<br \/>\n&nbsp; &nbsp; Total System Global Area 1136082944 bytes<br \/>\n&nbsp; &nbsp; Fixed Size 2189048 bytes<br \/>\n&nbsp; &nbsp; Variable Size 1108728072 bytes<br \/>\n&nbsp; &nbsp; ASM Cache 25165824 bytes<br \/>\n&nbsp; &nbsp; ASM diskgroups mounted<br \/>\n&nbsp; &nbsp; ASM diskgroups volume enabled<br \/>\n&nbsp; &nbsp; SQL&gt; exit<\/em><br \/>\n&nbsp;<\/p>\n<p><strong>Step 9: Restore the current OCR backup<\/strong><\/p>\n<p>Run the following command to restore the OCR backup:<\/p>\n<p><em>&nbsp;root@testdb01:\/oracle\/11.2.0\/grid\/bin# .\/ocrconfig -restore<br \/>\n&nbsp; &nbsp; \/oracle\/11.2.0\/grid\/cdata\/testdb01-kl\/day.ocr &#8212;&#8212;(Last Auto Backup of OCR from default location)<\/em><\/p>\n<p><strong>Step 10: Replace the voting disk<\/strong><\/p>\n<p>Run the following command to replace the voting disk:<\/p>\n<p><em>&nbsp; &nbsp; root@testdb01:\/oracle\/11.2.0\/grid\/bin# .\/crsctl replace votedisk +OCRDATA<br \/>\n&nbsp; &nbsp; Successful addition of voting disk b1e7c2fbeb754f82bf09a991b2cf4441.<br \/>\n&nbsp; &nbsp; Successfully replaced voting disk group with +OCRDATA.<br \/>\n&nbsp; &nbsp; CRS-4266: Voting file(s) successfully replaced<br \/>\n&nbsp; &nbsp; root@testdb01:\/oracle\/11.2.0\/grid\/bin#<\/em><\/p>\n<p><strong>Step 11: Enable the CRS automatic start service<\/strong><\/p>\n<p>Run the following command to replace the voting disk:<\/p>\n<p><em>&nbsp; &nbsp; root@testdb01:\/oracle\/11.2.0\/grid\/bin# .\/crsctl replace votedisk +OCRDATA<br \/>\n&nbsp; &nbsp; Successful addition of voting disk b1e7c2fbeb754f82bf09a991b2cf4441.<br \/>\n&nbsp; &nbsp; Successfully replaced voting disk group with +OCRDATA.<br \/>\n&nbsp; &nbsp; CRS-4266: Voting file(s) successfully replaced<br \/>\n&nbsp; &nbsp; root@testdb01:\/oracle\/11.2.0\/grid\/bin#<\/em><\/p>\n<p><strong>Step 11: Enable the CRS automatic start service<\/strong><\/p>\n<p>Run the following commands to enable the CRS automatic start service and&nbsp;verify that all the cluster services are online:<br \/>\n<em>root@testdb01:\/oracle\/11.2.0\/grid\/bin# .\/crsctl enable crs<br \/>\n&nbsp; &nbsp; CRS-4622: Oracle High Availability Services autostart is enabled.<br \/>\n&nbsp; &nbsp; root@testdb01:\/oracle\/11.2.0\/grid\/bin# .\/crsctl start cluster<br \/>\n&nbsp; &nbsp; root@testdb01:\/oracle\/11.2.0\/grid\/bin# .\/crsctl check crs<br \/>\n&nbsp; &nbsp; root@testdb01:\/oracle\/11.2.0\/grid\/bin# .\/crsctl stop crs -f<br \/>\n&nbsp; &nbsp; root@testdb01:\/oracle\/11.2.0\/grid\/bin# .\/crsctl start crs<\/em><\/p>\n<p><strong>Step 12: Cross-check the OCR disk status<\/strong><\/p>\n<p>Run the following command to cross-check the OCR disk status:<br \/>\n&nbsp; &nbsp;<em> root@testdb01:\/oracle\/11.2.0\/grid\/bin# .\/ocrcheck<br \/>\n&nbsp; &nbsp; Status of Oracle Cluster Registry is as follows :<br \/>\n&nbsp; &nbsp; Version : 3<br \/>\n&nbsp; &nbsp; Total space (kbytes) : 262120<br \/>\n&nbsp; &nbsp; Used space (kbytes) : 2816<br \/>\n&nbsp; &nbsp; Available space (kbytes) : 259304<br \/>\n&nbsp; &nbsp; ID : 1103197739<br \/>\n&nbsp; &nbsp; Device\/File Name : +OCRDATA<br \/>\n&nbsp; &nbsp; Device\/File integrity check succeeded<br \/>\n&nbsp; &nbsp; Device\/File not configured<br \/>\n&nbsp; &nbsp; Device\/File not configured<br \/>\n&nbsp; &nbsp; Device\/File not configured<br \/>\n&nbsp; &nbsp; Device\/File not configured<br \/>\n&nbsp; &nbsp; Cluster registry integrity check succeeded<br \/>\n&nbsp; &nbsp; Logical corruption check succeeded<\/em><\/p>\n<p><strong>Step 13: Check the voting disk details<\/strong><\/p>\n<p>Run the following command to verify the voting disk:<\/p>\n<p><em>&nbsp;root@testdb01:\/oracle\/11.2.0\/grid\/bin# .\/crsctl query css votedisk<br \/>\n&nbsp; &nbsp; ## STATE File Universal Id File Name Disk group<br \/>\n&nbsp; &nbsp; &#8212; &#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212; &#8212;&#8212;&#8212;<br \/>\n&nbsp; &nbsp; 1. ONLINE b1e7c2fbeb754f82bf09a991b2cf4441<br \/>\n&nbsp; &nbsp; (\/dev\/rdsk\/c0t60002AC0000000000000001900008265d0s0) [OCRDATA]<br \/>\n&nbsp; &nbsp; Located 1 voting disk(s).<\/em><br \/>\n&nbsp;<\/p>\n<p><strong>Step 14: Check the CRS service status<\/strong><\/p>\n<p>Run the following command to verify that the CRS service is running:<\/p>\n<p><em>&nbsp;root@testdb01:\/oracle\/11.2.0\/grid\/bin# .\/crs_stat \u2013t<br \/>\n&nbsp; &nbsp; root@testdb01:\/oracle\/11.2.0\/grid\/bin# .\/crs_stat -t<br \/>\n&nbsp; &nbsp; Name Type Target State Host<br \/>\n&nbsp; &nbsp; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\n&nbsp; &nbsp; ora&#8230;.VE.dg ora&#8230;.up.type ONLINE ONLINE testdb01&#8230;db01<br \/>\n&nbsp; &nbsp; ora&#8230;.XK.dg ora&#8230;.up.type ONLINE ONLINE testdb01&#8230;db01<br \/>\n&nbsp; &nbsp; ora&#8230;.XK.dg ora&#8230;.up.type ONLINE ONLINE testdb01&#8230;db01<br \/>\n&nbsp; &nbsp; ora&#8230;.ER.lsnr ora&#8230;.er.type ONLINE ONLINE testdb01&#8230;db01<br \/>\n&nbsp; &nbsp; ora&#8230;.N1.lsnr ora&#8230;.er.type ONLINE ONLINE testdb01&#8230;db01<br \/>\n&nbsp; &nbsp; ora&#8230;.TA.dg ora&#8230;.up.type ONLINE ONLINE testdb01&#8230;db01<br \/>\n&nbsp; &nbsp; ora.REDO.dg ora&#8230;.up.type ONLINE ONLINE testdb01&#8230;db01<br \/>\n&nbsp; &nbsp; ora.asm ora.asm.type ONLINE ONLINE testdb01&#8230;db01<br \/>\n&nbsp; &nbsp; ora.cvu ora.cvu.type ONLINE ONLINE testdb01&#8230;db01<br \/>\n&nbsp; &nbsp; ora.gsd ora.gsd.type OFFLINE OFFLINE<br \/>\n&nbsp; &nbsp; ora&#8230;.network ora&#8230;.rk.type ONLINE ONLINE testdb01&#8230;db01<br \/>\n&nbsp; &nbsp; ora.oc4j ora.oc4j.type ONLINE ONLINE testdb01&#8230;db01<br \/>\n&nbsp; &nbsp; ora.ons ora.ons.type ONLINE ONLINE testdb01&#8230;db01<br \/>\n&nbsp; &nbsp; ora&#8230;.ry.acfs ora&#8230;.fs.type ONLINE ONLINE testdb01&#8230;db01<br \/>\n&nbsp; &nbsp; ora.scan1.vip ora&#8230;.ip.type ONLINE ONLINE testdb01&#8230;db01<br \/>\n&nbsp; &nbsp; ora&#8230;.SM1.asm application ONLINE ONLINE testdb01&#8230;db01<br \/>\n&nbsp; &nbsp; ora&#8230;.01.lsnr application ONLINE ONLINE testdb01&#8230;db01<br \/>\n&nbsp; &nbsp; ora&#8230;.b01.gsd application OFFLINE OFFLINE<br \/>\n&nbsp; &nbsp; ora&#8230;.b01.ons application ONLINE ONLINE testdb01&#8230;db01<br \/>\n&nbsp; &nbsp; ora&#8230;.b01.vip ora&#8230;.t1.type ONLINE ONLINE testdb01&#8230;db01<br \/>\n&nbsp; &nbsp; ora&#8230;.b02.vip ora&#8230;.t1.type ONLINE ONLINE testdb01&#8230;db01<\/em><br \/>\n&nbsp;<\/p>\n<p><strong>Step 15: Check the ASM disk groups<\/strong><\/p>\n<p>Run the following commands to check the ASM disk groups:<\/p>\n<p><em>&nbsp;root@testdb01:\/oracle\/11.2.0\/grid\/bin# su &#8211; grid<br \/>\n&nbsp; &nbsp; Oracle Corporation SunOS 5.11 11.2 March 2015<br \/>\n&nbsp; &nbsp; -bash-4.1$ asmcmd<br \/>\n&nbsp; &nbsp; ASMCMD&gt; lsdg<br \/>\n&nbsp; &nbsp; State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB<br \/>\n&nbsp; &nbsp; Offline_disks Voting_files Name<br \/>\n&nbsp; &nbsp; MOUNTED EXTERN N 512 4096 1048576 1023991 1023549 0 1023549 0<br \/>\n&nbsp; &nbsp; N ARCHIVE\/<br \/>\n&nbsp; &nbsp; MOUNTED EXTERN N 512 4096 1048576 1023991 1023881 0 1023881 0<br \/>\n&nbsp; &nbsp; N INDEX1\/<br \/>\n&nbsp; &nbsp; MOUNTED EXTERN N 512 4096 1048576 51191 50795 0 50795 0<br \/>\n&nbsp; &nbsp; Y OCRDATA\/<br \/>\n&nbsp; &nbsp; MOUNTED EXTERN N 512 4096 1048576 1023991 818013 0 818013 0<br \/>\n&nbsp; &nbsp; N ORADATA1\/<br \/>\n&nbsp; &nbsp; MOUNTED EXTERN N 512 4096 1048576 511991 479085 0 479085 0<br \/>\n&nbsp; &nbsp; N REDO\/<\/em><\/p>\n<p><strong>Conclusion<\/strong><\/p>\n<p>The steps in this blog show you how to fix a failed voting disk in any RAC&nbsp;environment. By using these steps, you can overcome the voting disk missing&nbsp;backup issue by recovering a backup from the OCR. If the disk recovery succeeds,&nbsp;you can reuse it.<\/p>\n<p>Remember that you must enable OCR automatic backup for this solution to work. OCR&nbsp;always stores the backup at the default location or the location you specified.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Recover the Oracle voting disk when its backup is missing<\/p>\n","protected":false},"author":2,"featured_media":8269,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","format":"standard","meta":{"content-type":"","nid":"26633","content_type":"blog","created_by":"10130","authored_on":"2024-02-20T16:37:11+00:00","field_article_industries":"","tag_category":"Technical","field_blog_author_text":"by Ravi kant Sharma, Oracle Database Administrator, Rackspace Technology","seo_description":"Understand how to restore Oracle Voting Disk from the last automatic OCR backup, essential for cluster and RAC database configuration management.\r\n","field_featured_image":"","insights_image":"\/wp-content\/uploads\/2026\/blog_technical_images\/26633-insights_image-oracle-technical-blog-1-insights.jpg","field_partners":"Oracle","rxt_platforms":"Oracle","product":"","publisheddate":"2019-11-27T16:37:11","rxt_solutions":"Databases","opengraph_tag":"","x_tag":"","teaser_flag":"Technical Blog","seo_titile":"Recovering Oracle Voting Disk - Best Practices | Rackspace Technology","field_topics":"","field_slug":"recover-the-oracle-voting-disk-when-its-backup-is-missing","footnotes":""},"categories":[178],"tags":[206,204],"class_list":["post-8267","blogs","type-blogs","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","tag-oracle","tag-technical"],"_links":{"self":[{"href":"https:\/\/www.rackspace.com\/de\/wp-json\/wp\/v2\/blogs\/8267","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rackspace.com\/de\/wp-json\/wp\/v2\/blogs"}],"about":[{"href":"https:\/\/www.rackspace.com\/de\/wp-json\/wp\/v2\/types\/blogs"}],"author":[{"embeddable":true,"href":"https:\/\/www.rackspace.com\/de\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rackspace.com\/de\/wp-json\/wp\/v2\/comments?post=8267"}],"version-history":[{"count":3,"href":"https:\/\/www.rackspace.com\/de\/wp-json\/wp\/v2\/blogs\/8267\/revisions"}],"predecessor-version":[{"id":10000,"href":"https:\/\/www.rackspace.com\/de\/wp-json\/wp\/v2\/blogs\/8267\/revisions\/10000"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.rackspace.com\/de\/wp-json\/wp\/v2\/media\/8269"}],"wp:attachment":[{"href":"https:\/\/www.rackspace.com\/de\/wp-json\/wp\/v2\/media?parent=8267"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rackspace.com\/de\/wp-json\/wp\/v2\/categories?post=8267"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rackspace.com\/de\/wp-json\/wp\/v2\/tags?post=8267"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}