Repair option of the ocrconfig command [ID 330234.1]

网友投稿 310 2022-08-24

Repair option of the ocrconfig command [ID 330234.1]

Repair option of the ocrconfig command [ID 330234.1]

​​ocrconfig​​​, ​​​crs​​

Applies to:

Oracle Server - Enterprise Edition - Version: 10.2.0.1 to 10.2.0.4 - Release: 10.2 to 10.2

Information in this document applies to any platform.


Goal

ocrconfig -repair is used to repair inconsistent Oracle Cluster Registry (OCR) configuration information.  The OCR configuration information is stored in:

- File /etc/oracle/ocr.loc on Linux and AIX;

- File /var/opt/oracle/ocr.loc on Solaris and HP-UX;


One case when the repair the OCR configuration information would be required, is in a cluster where the OCR configuration was changed on one node while other node(s) were down.


Please note that this command only modifies the OCR configuration information.

Solution

The problem with an inconsistent OCR configuration (ocr.loc file) on two node Linux cluster, will be demonstrated by shutting down node2.  While that node is down, we would remove the OCR mirror file from node 1.  Please note that these commands need to be run by a privileged user.


1. We start with mirrored Oracle Cluster Registry



node1 # ocrcheck

Status of Oracle Cluster Registry is as follows :

  Version                  :          2

  Total space (kbytes)     :     200692

  Used space (kbytes)      :       3756

  Available space (kbytes) :     196936

  ID                       :  495185602

  Device/File Name         : /ora10g/app/oracle/oradata/V10/OracleClusterRegistry

                             Device/File integrity check succeeded

  Device/File Name         : /ora10g/app/oracle/oradata/V10/OracleClusterRegistry2

                             Device/File integrity check succeeded


  Cluster registry integrity check succeeded


2. Now we shut the node2 down and remove the mirror file OracleClusterRegistry2 from node1:



node1 # ocrconfig -replace ocrmirror


node1 # ocrcheck

Status of Oracle Cluster Registry is as follows :

  Version                  :          2

  Total space (kbytes)     :     200692

  Used space (kbytes)      :       3752

  Available space (kbytes) :     196940

  ID                       :  495185602

  Device/File Name         : /ora10g/app/oracle/oradata/V10/OracleClusterRegistry

                             Device/File integrity check succeeded


                             Device/File not configured


  Cluster registry integrity check succeeded

The contents of the OCR configuration file on node1, would now be:



node1 # cat /etc/oracle/ocr.loc

#Device/file /ora10g/app/oracle/oradata/V10/OracleClusterRegistry2 being deleted

ocrconfig_loc=/ora10g/app/oracle/oradata/V10/OracleClusterRegistry

local_only=false

3. We now bring the node2 back up and check the OCR status:



node2 # ocrcheck

PROT-602: Failed to retrieve data from the cluster registry

While the error makes sense, as the mirror copy of the OCR doesn't exist any more (but the reference to that file is still in ocr.loc), it is not telling us what the problem might be.


To debug this we might use strace (strace -f -o /tmp/ocrcheck.trcocrcheck) that would reveal an attempt to access non existent OCR mirror file.  In this  case we do know that the problem is indeed due to the missing OCR mirror file, so we can proceed with the repair of the OCR configuration on node 2:




   

   

   

node2 # ocrconfig -repair ocr


   

   

   


node2 # cat /etc/oracle/ocr.loc

#Device/file /ora10g/app/oracle/oradata/V10/OracleClusterRegistry being deleted

ocrconfig_loc=/ora10g/app/oracle/oradata/V10/OracleClusterRegistry2

local_only=false

  

  

  


3.1. Because we did not specify the OCR file, that command actually removed the original reference to the OCR file OracleClusterRegistry and instead replaced it with the reference to the OCR mirror file OracleClusterRegistry2.  In effect we ended up with different contents of the config files (ocr.loc) on our RAC nodes.


On node 1 ocr.loc has:




node1 # cat ocr.loc

#Device/file /ora10g/app/oracle/oradata/V10/OracleClusterRegistry2 being deleted

ocrconfig_loc=/ora10g/app/oracle/oradata/V10/OracleClusterRegistry

local_only=false

And on node 2 we have:



node2 # cat /etc/oracle/ocr.loc

#Device/file /ora10g/app/oracle/oradata/V10/OracleClusterRegistry being deleted

ocrconfig_loc=/ora10g/app/oracle/oradata/V10/OracleClusterRegistry2

local_only=false

3.2. To fix this, we need to run 'ocrconfig -repair' on node2 again, this time specifying the correct OCR file:



node2 # ocrconfig -repair ocr /ora10g/app/oracle/oradata/V10/OracleClusterRegistry

PROT-19: Cannot proceed while clusterware is running. Shutdown clusterware first

Try again









   

   

   

node2 # crsctl stop crs

Stopping resources.

Successfully stopped CRS resources

Stopping CSSD.

Shutting down CSS daemon.

Shutdown request successfully issued.

   

   

   


   

   

   

node2 # ocrconfig -repair ocr /ora10g/app/oracle/oradata/V10/OracleClusterRegistry


node2 # cat /etc/oracle/ocr.loc

#Device/file /ora10g/app/oracle/oradata/V10/OracleClusterRegistry2 getting replaced by device /ora10g/app/oracle/oradata/V10/OracleClusterRegistry

ocrconfig_loc=/ora10g/app/oracle/oradata/V10/OracleClusterRegistry

local_only=false

  

  

  


4. Now we have the same OCR configuration information on both nodes:




node2 # ocrcheck

Status of Oracle Cluster Registry is as follows :

  Version                  :          2

  Total space (kbytes)     :     200692

  Used space (kbytes)      :       3756

  Available space (kbytes) :     196936

  ID                       :  495185602

  Device/File Name         : /ora10g/app/oracle/oradata/V10/OracleClusterRegistry

                             Device/File integrity check succeeded


                             Device/File not configured

5. Finally, to mirror the OCR file, we run 'ocrconfig -replace ocrmirror' from any node:



node2 # ocrconfig -replace ocrmirror /ora10g/app/oracle/oradata/V10/OracleClusterRegistry2

And check for the configuration and OCR integrity:



node2 # cat /etc/oracle/ocr.loc

#Device/file  getting replaced by device /ora10g/app/oracle/oradata/V10/OracleClusterRegistry2

ocrconfig_loc=/ora10g/app/oracle/oradata/V10/OracleClusterRegistry

ocrmirrorconfig_loc=/ora10g/app/oracle/oradata/V10/OracleClusterRegistry2

local_only=false


node2 # ocrcheck

Status of Oracle Cluster Registry is as follows :

  Version                  :          2

  Total space (kbytes)     :     200692

  Used space (kbytes)      :       3756

  Available space (kbytes) :     196936

  ID                       :  495185602

  Device/File Name         : /ora10g/app/oracle/oradata/V10/OracleClusterRegistry

                             Device/File integrity check succeeded

  Device/File Name         : /ora10g/app/oracle/oradata/V10/OracleClusterRegistry2

                             Device/File integrity check succeeded


  Cluster registry integrity check succeeded

Conclusion


ocrconfig -repair is used to repair inconsistent Oracle Cluster Registry configuration information.


ocrconfig -replace ocrmirror <file> is used to mirror Oracle Cluster Registry.  The mirroring functionality was introduced in Oracle10gR2.



References

Oracle Database Oracle Clusterware and Oracle Real Application Clusters Administration and Deployment Guide 10g Release 2 (10.2)


Related




--------------------------------------------------------------------------------

Products

--------------------------------------------------------------------------------


•Oracle Database Products > Oracle Database > Oracle Database > Oracle Server - Enterprise Edition

Errors

--------------------------------------------------------------------------------

PROT-19; PROT-602

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:cluvfy用法
下一篇:“党建+金融+营销”助力客户赢利“五一”黄金周!(金融营销活动)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~