Home > Oracle Real Application Cluster > Recover the Corruption OCR . . .

Recover the Corruption OCR . . .

$ crs_stat -t

CRS-0184: Cannot communicate with the CRS daemon.

$ crsctl check boot
Failure 4 at procr_open_key with status 4.
PROC-4: The cluster registry key to be operated on does not exist.

$ crsctl check crs
Failure 1 contacting CSS daemon
Cannot communicate with CRS
Cannot communicate with EVM

crsd.log

/opt/crs/oracle/product/10.2.0/crs/crs/init/delphi-1.pid
[ clsdmt][52]Listening to (ADDRESS=(PROTOCOL=ipc)(KEY=delphi-1DBG_CRSD))
2006-05-16 18:08:57.021: [ CRSOCR][1]32OCR api procr_open_key failed for key CRS.CUR. OCR
error
code = 4 OCR error msg: PROC-4: The cluster registry key to be operated on does not exist.
2006-05-16 18:08:57.192: [ CRSMAIN][1]32Using Authorizer location:
/opt/crs/oracle/product/10.2.0/crs/crs/auth/
2006-05-16 18:08:57.220: [ OCRSRV][35]th_select_handler: Failed to retrieve procctx from
ht.
constr = [5988488] retval lht [-27] Signal CV.

Cause
OCR got corrupted.
Solution
To resolve this issue need to restore OCR from backup.

Oracle automatically takes backups of the OCR every 4 hours. Oracle also keeps the last 3
backups, up to 4 hours old, one day old, and one week old available. Here are the steps for restoring the OCR.

1. Find out what time the problem that the inconsistency in the OCR occurred.

2. Find an OCR backup from a time prior to when the inconsistency occurred.

To do this cd to $ORA_CRS_HOME/cdata/<cluster name>
[or]
Run $ORA_CRS_HOME/bin/ocrconfig -showbacku p (In this case you may not get any result)

Example:

# pwd
/t02/app/oracle/product/crs/cdata/crs_opcbsol
# ls -ltr
total 46560
-rw-r—– 1 root root 3960832 Apr 12 19:53 week.ocr
-rw-r—– 1 root root 3960832 Apr 13 03:53 day.ocr
-rw-r—– 1 root root 3960832 Apr 14 03:54 backup02.ocr
-rw-r—– 1 root root 3960832 Apr 14 03:54 day_.ocr
-rw-r—– 1 root root 3960832 Apr 14 07:54 backup01.ocr
-rw-r—– 1 root root 3960832 Apr 14 11:54 backup00.ocr

3. If you have a backup of the OCR from prior to the time of the inconsistency,
reboot the nodes in single user mode or runlevel 1. If you are unable to
reboot into single user mode for some reason, you can disable CRS with:

Sun or Linux:

/etc/init.d/init.crs disable
/etc/init.d/init.crs stop

HP-UX or HP Tru64::

/sbin/init.d/init.crs disable
/sbin/init.d/init.crs stop

IBM AIX:

/etc/init.crs disable
/etc/init.crs stop

4. After all nodes are rebooted in single user mode and/or you have verified that
CRS is not running (ps -ef | grep crs), restore the OCR with ocrconfig.

Example:

cd $ORA_CRS_HOME/bin
./ocrconfig -restore /t02/app/oracle/product/crs/cdata/crs_opcbsol/week.ocr

5. Re-enable CRS if it was disabled. Example:

Sun or Linux:

/etc/init.d/init.crs enable

HP-UX or HP Tru64::

/sbin/init.d/init.crs enable

IBM AIX:

/etc/init.crs enable

6. Reboot the nodes.

  1. No comments yet.
  1. No trackbacks yet.