Recreate OCR and Voting Disk If Not Mounting
If the diskgroup SYSTEMDG is not mounting (because of multiple disk failures) then following procedure can be used to recreate this diskgroup.
Sometimes if one of the disk is missing then diskgroup will not mount and will give error regarding missing disk but if all other members are available then we can mount the diskgroup with FORCE option and later drop the missing disk. Once the disk is replaced we can add this missing disk again to diskgroup.
Fix
1. You should have a backup of the ocr file.Â
$GRID_HOME/crsdata//backup.ocr
 -- For 11.2.0.1:
   # crsctl start crs -excl  Â
   # crsctl stop res ora.crsd -init
Â
  -- For 11.2.0.2 onwards:
   # crsctl start crs -excl -nocrs
Â
# dcli -g cell_group -l root "cellcli -e list griddisk where name like \'.*SYSTEM.*\' "
  Â
     SYSTEMDG_CD_02_dmorlcel01    active
     SYSTEMDG_CD_03_dmorlcel01    active
     SYSTEMDG_CD_04_dmorlcel01    active
     SYSTEMDG_CD_05_dmorlcel01    active
     SYSTEMDG_CD_06_dmorlcel01    active
     SYSTEMDG_CD_07_dmorlcel01    active
     SYSTEMDG_CD_08_dmorlcel01    active
     SYSTEMDG_CD_09_dmorlcel01    active
     SYSTEMDG_CD_10_dmorlcel01    active
     SYSTEMDG_CD_11_dmorlcel01    active
— Find out the compatible parameter setting for the diskgroup:
Go to the asm alert.log file and check for the following entry for this disk group:
“NOTE: Instance updated compatible.asm to 11.2.0.2.0 for grp “
The same value you need to specify in the below command.
  sql> create diskgroup SYSTEMDG normal redundancy disk 'o/*/SYSTEMDG_CD*' force attribute 'compatible.rdbms'='11.2', 'compatible.asm'='11.2', 'au_size'='4M',
          'cell.smart_scan_capable'='TRUE';
  Â
Â
 cellcli > drop griddisk force
   After this re execute the disk group creation command and this time it will not detect the disk which was newly inserted (sine we have dropped it) and will create the disk group with the remaining disks. Once you finish of with steps given in this note, you can create this griddisk and add it to ASM. (step 11 and 12)
 # ocrconfig -restore backup00.ocr  Â
Â
# crsctl start res ora.crsd -init Â
 # crsctl replace votedisk +SYSTEMDG
 processes         = 1000
 large_pool_size      = 16M
 instance_type       = "asm"
 cluster_interconnects   = "192.168.10.20"
 memory_target       = 1040M
 remote_login_passwordfile= "EXCLUSIVE"
 asm_diskstring      = "o/*/*"
 asm_diskgroups      = "DATA"
 asm_diskgroups      = "RECO"
 asm_power_limit      = 1024
 diagnostic_dest      = "/u01/app/oracle"
 Â
*.processes         = 1000
 *.large_pool_size      = 16M
 *.instance_type       = "asm"
 +ASM1.cluster_interconnects = "192.168.10.20"
 +ASM2.cluster_interconnects = "192.168.10.21"
 *.memory_target       = 1040M
 *.remote_login_passwordfile = "EXCLUSIVE"
 *.asm_diskstring       = "o/*/*"
 +ASM1.asm_diskgroups     = "DATA"
 +ASM1.asm_diskgroups     = "RECO"
 *.asm_power_limit      = 4
 *.diagnostic_dest      = "/u01/app/oracle"  Â
  Â
$ sqlplus / as sysasm
Â
SQL> create spfile='+SYSTEMDG' from pfile='/tmp/asmpfile.ora';
9. Stop the crsÂ
# $CRS_HOME/bin/crsctl stop crs -f
10. Start crs
# $GRID_HOME/bin/crsctl start crs
11. In the step 4 if you had to drop any griddisk (because of the newly inserted disk) then create it once agian:
   cellcli> create griddisk celldisk=
 Â
  For ex:
  cellcli> create griddisk SYSTEMDG_CD_02_dmorlcel01 celldisk=CD_02_dmorlcel01
12. Add this griddisk to the SYSTEMDG diskgroup:
  login to the asm instance:
    $ sqlplus / as sysasm
  Ex:Â
  sql> alter diskgroup SYSTEMDG add disk 'o/192.168.10.6/SYSTEMDG_CD_02_dmorlcel01';
Discussion ¬