If you accidentally set the asm_strings parameter to something invalid, the clusterware might not be starting as a result, since it cannot locate the OCR and the voting disks…
You might be getting messages like the one below in the crs logs:
CRS-0804: Cluster Ready Service aborted due to Oracle Cluster Registry error [PROC-26: Error while accessing the physical storage Storage layer error [Insufficient quorum to open OCR devices] [0]]. Details at (:CRSD00111:)
Follow the below steps to recover from this issue:
1. As root user stop all crs by force:
[root]# $GRID_HOME/bin/crsctl stop crs -f
2. Check all processes by the crs owner and the d.bin > KILL’em all
[root]# ps -ef|grep d.bin [root]# kill -15 <pid> --- if still exists [root]# ps -ef|grep grid [root]# kill -9 <pid> --- if still exists
3. On one of the nodes, start CRS in exclusive mode
[root]# /u01/app/12.2.0.1/grid/bin/crsctl start crs -excl -nocrs
4. Create a pfile with the following default contents or using the parameters from alert_+ASM.log startup section. In my case, the alert log file is: /u01/app/grid/diag/asm/+asm/+ASM1/trace/alert_+ASM1.log
[root]# vi /tmp/pfile *.large_pool_size= 12M *.instance_type='asm' *.remote_login_passwordfile="EXCLUSIVE" *.asm_power_limit
Remove the asm_string section.
5. Create ASM spfile
[grid~]$ sqlplus / as sysasm SQL> create spfile='+OCRVFDG' from pfile='/tmp/pfile';
>> At this point – since the pfile does not specify the parameter asm_diskstring – the discovery string in the file profile.xml should have been reset to an empty string. Please check file $GRID_HOME/gpnp/<hostname>/profiles/peer/profile.xml.
6. Replace the voting file as grid user:
[grid~]$ crsctl replace votedisk +OCRVFDG
7. Stop and restart CRS as the root user:
[grid~]$ $GRID_HOME/bin/crsctl stop crs -f [grid~]$ $GRID_HOME/bin/crsctl start crs