How to restore the OCR and Voting disk when they are lost

11gR2 – Restore OCR/ VOTEDISK based on ASM, when loss of CRS Diskgroup.
Labels: 11GR2, loss of CRS Diskgroup, lost OCR on ASM, RAC, RESTORE OCR, RESTORE OCR ON ASM, RESTORE VOTEDISK

  1. Locate the latest automatic OCR backu
    When using a non-shared CRS home, automatic OCR backups can be located on any node of the cluster, consequently all nodes need to be checked for the most recent backup:
    $ ls -lrt $CRS_HOME/cdata/rac_cluster1/
    -rw——- 1 root root 7331840 Mar 10 18:52 week.ocr
    -rw——- 1 root root 7651328 Mar 26 01:33 week_.ocr
    -rw——- 1 root root 7651328 Mar 29 01:33 day.ocr
    -rw——- 1 root root 7651328 Mar 30 01:33 day_.ocr
    -rw——- 1 root root 7651328 Mar 30 01:33 backup02.ocr
    -rw——- 1 root root 7651328 Mar 30 05:33 backup01.ocr
    -rw——- 1 root root 7651328 Mar 30 09:33 backup00.ocr
  2. Make sure the Grid Infrastructure is shutdown on all nodes
    Given that the OCR diskgroup is missing, the GI stack will not be functional on any node, however there may still be various daemon processes running. On each node shutdown the GI stack using the force (-f) option:
    # $CRS_HOME/bin/crsctl stop crs -f
  3. Start the CRS stack in exclusive mode
    On the node that has the most recent OCR backup, log on as root and start CRS in exclusive mode, this mode will allow ASM to start & stay up without the presence of a Voting disk and without the CRS daemon process (crsd.bin) running.
    11.2.0.1:
    # $CRS_HOME/bin/crsctl start crs -excl
    …CRS-2672: Attempting to start ‘ora.asm’ on ‘racnode1’
    CRS-2676: Start of ‘ora.asm’ on ‘racnode1’ succeeded
    CRS-2672: Attempting to start ‘ora.crsd’ on ‘racnode1’
    CRS-2676: Start of ‘ora.crsd’ on ‘racnode1’ succeeded
    11.2.0.2:
    # $CRS_HOME/bin/crsctl start crs -excl -nocrs
    CRS-4123: Oracle High Availability Services has been started.

    CRS-2672: Attempting to start ‘ora.cluster_interconnect.haip’ on ‘auw2k3’
    CRS-2672: Attempting to start ‘ora.ctssd’ on ‘racnode1’
    CRS-2676: Start of ‘ora.drivers.acfs’ on ‘racnode1’ succeeded
    CRS-2676: Start of ‘ora.ctssd’ on ‘racnode1’ succeeded
    CRS-2676: Start of ‘ora.cluster_interconnect.haip’ on ‘racnode1’ succeeded
    CRS-2672: Attempting to start ‘ora.asm’ on ‘racnode1’
    CRS-2676: Start of ‘ora.asm’ on ‘racnode1’ succeeded
  4. Label the CRS disk for ASMLIB use
    If using ASMLIB the disk to be used for the CRS disk group needs to stamped first, as user root do:
    # /usr/sbin/oracleasm createdisk ASMD40 /dev/sdh1
    Writing disk header: done
    Instantiating disk: done
  5. Create the CRS diskgroup via sqlplus
    The disk group can now be (re-)created via sqlplus from the grid user. The compatible.asm attribute must be set to 11.2 in order for the disk group to be used by CRS:
    $ sqlplus / as sysasm
    SQL*Plus: Release 11.2.0.1.0 Production on Tue Mar 30 11:47:24 2010
    Copyright (c) 1982, 2009, Oracle. All rights reserved.
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 – Production
    With the Real Application Clusters and Automatic Storage Management options
    SQL> create diskgroup CRS external redundancy disk ‘ORCL:ASMD40’ attribute ‘COMPATIBLE.ASM’ = ‘11.2’;
    Diskgroup created.
    SQL> exit
  6. Restore the latest OCR backup
    Now that the CRS disk group is created & mounted the OCR can be restored – must be done as the root user:
    # cd $CRS_HOME/cdata/rac_cluster1/
    # $CRS_HOME/bin/ocrconfig -restore backup00.ocr
  7. Start the CRS daemon on the current node (11.2.0.1 only !)
    Now that the OCR has been restored the CRS daemon can be started, this is needed to recreate the Voting file. Skip this step for 11.2.0.2.0.
    # $CRS_HOME/bin/crsctl start res ora.crsd -init
    CRS-2672: Attempting to start ‘ora.crsd’ on ‘racnode1’
    CRS-2676: Start of ‘ora.crsd’ on ‘racnode1’ succeeded
  8. Recreate the Voting file
    The Voting file needs to be initialized in the CRS disk group:
    # $CRS_HOME/bin/crsctl replace votedisk +CRS
    Successful addition of voting disk 00caa5b9c0f54f3abf5bd2a2609f09a9.
    Successfully replaced voting disk group with +CRS.
    CRS-4266: Voting file(s) successfully replaced
  9. Recreate the SPFILE for ASM (optional)
    Prepare a pfile (e.g. /tmp/asm_pfile.ora) with the ASM startup parameters – these may vary from the example below. If in doubt consult the ASM alert log as the ASM instance startup should list all non-default parameter values. Please note the last startup of ASM (in step 2 via CRS start) will not have used an SPFILE, so a startup prior to the loss of the CRS disk group would need to be located.
    *.asm_power_limit=1
    *.diagnostic_dest=’/u01/app/oragrid’
    *.instance_type=’asm’
    *.large_pool_size=12M
    *.remote_login_passwordfile=’EXCLUSIVE’
    Now the SPFILE can be created using this PFILE:
    $ sqlplus / as sysasm
    SQL*Plus: Release 11.2.0.1.0 Production on Tue Mar 30 11:52:39 2010
    Copyright (c) 1982, 2009, Oracle. All rights reserved.
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 – Production
    With the Real Application Clusters and Automatic Storage Management options
    SQL> create spfile=’+CRS’ from pfile=’/tmp/asm_pfile.ora’;
    File created.
    SQL> exit
  10. Shutdown CRS
    Since CRS is running in exclusive mode, it needs to be shutdown to allow CRS to run on all nodes again. Use of the force (-f) option may be required:
    # $CRS_HOME/bin/crsctl stop crs -f
    CRS-2793: Shutdown of Oracle High Availability Services-managed resources on ‘auw2k3’ has completed
    CRS-4133: Oracle High Availability Services has been stopped.
  11. Rescan ASM disks
    If using ASMLIB rescan all ASM disks on each node as the root user:
    # /usr/sbin/oracleasm scandisks
    Reloading disk partitions: done
    Cleaning any stale ASM disks…
    Scanning system for ASM disks…
    Instantiating disk “ASMD40”
  12. Start CRS
    As the root user submit the CRS startup on all cluster nodes:
    # $CRS_HOME/bin/crsctl start crs
    CRS-4123: Oracle High Availability Services has been started.
  13. Verify CRS
    To verify that CRS is fully functional again:
    # $CRS_HOME/bin/crsctl check cluster -all
    **************************************************************
    racnode1:
    CRS-4537: Cluster Ready Services is online
    CRS-4529: Cluster Synchronization Services is online
    CRS-4533: Event Manager is online
    **************************************************************
    racnode2:
    CRS-4537: Cluster Ready Services is online
    CRS-4529: Cluster Synchronization Services is online
    CRS-4533: Event Manager is online
    **************************************************************

You may also like...

1 Response

  1. prathap says:

    Thank you for sharing this post, it greatly helps me

Leave a Reply

Your email address will not be published. Required fields are marked *