Wednesday, March 24, 2010

Recovering a deleted/corrupted OCR disk without having any backup in Oracle 10g RAC

Demonstrating how to recover a corrupted OCR disk when all the OCR backups are lost/deleted.

Using Oracle 10g R2 RAC 10.2.0.1 on RHEL AS4


1) Verifying all service are up and running

2) Cheking the location of the OCR disks.


 



3)Simulating the disk failure


4) Go to the $CRS_HOME/install directory as root user and run rootdelete.sh script on both the nodes
 one after another




5) Go to $CRS_HOME/install directory as root user and run rootdeinstall.sh script from the node where you have started your cluster installation here i am using rac1 node. It has to be executed on one node only.

 
6) Go to $CRS_HOME directory  as root user and run root.sh script on both nodes one at a time.






After running root.sh on both the nodes run vipca from second node as root user . After doing that your OCR is recovered. .

7) Configure the Server Side ONS using racgons

Syntax: $CRS_home/bin/racgons add_config hostname1:port hostname2:port

[oracle@rac1 dbs]$ racgons add_config rac1:6200 rac2:6200

8) Configure Network Interfaces for Clusterware

If we wont configure netwok interfaces then Oracle Interface COnfiguration will not list the public and private interconnect information

Before Configuring Network Interface

[oracle@rac1 dbs]$ oifcfg  getif   --------will display no output

Now configure the network Interface

[oracle@rac1 dbs]$ oifcfg iflist


eth0 172.25.0.0 -------------For Public Interface
eth1 172.25.0.0-------------For Private Interface

[oracle@rac1 dbs]$ oifcfg setif -global eth0/172.25.0.0:public

 [oracle@rac1 dbs]$ oifcfg setif -global eth1/172.25.0.0:cluster_interconnect

After Configuring Network Interface


[oracle@rac2 ~]$ oifcfg getif


eth0 172.25.0.0 global public
eth1 172.25.0.0 global cluster_interconnect

 
 9) Add TNS Listener information to OCR using netca. Reconfigure your listener using netca

10) Add all the services (ASM,INSTANCE,DATABASE) to OCR using srvctl command

[oracle@rac1 ~]$ srvctl add asm -n rac1 -i +ASM1 -o /u01/app/oracle/product/10.2.0/db_1

[oracle@rac1 ~]$ srvctl add asm -n rac2 -i +ASM2 -o /u01/app/oracle/product/10.2.0/db_1

[oracle@rac1 ~]$ srvctl add database -d RACDB -o /u01/app/oracle/product/10.2.0/db_1

 [oracle@rac1 ~]$ srvctl add instance -d RACDB -i RACDB1 -n rac1

[oracle@rac1 ~]$ srvctl add instance -d RACDB -i RACDB2 -n rac2

[oracle@rac1 ~]$ srvctl start asm -n rac1
[oracle@rac1 ~]$ srvctl start asm -n rac2

[oracle@rac1 ~]$srvctl  start database -d RACDB

Add any other service if you have any.








 











No comments:

Post a Comment