Menu Close

Fixing “asm_diskstring” in ASM if set wrongly and the CRS is down.

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
Posted in RAC, Troubleshooting

Related Posts