Corruption du fichier OCR

Une des problème de crash CRS oracle 10g est la corruption du fichier OCR et dé-configuration du cluster, vous aurez des erreurs du type (dans notre cas le nœud 1 a été dé-configuré du cluster) :

[root@node1 ~]# crsctl enable crs
Failure at scls_scr_setval with code 8
Internal Error Information:
Category: 1234
Operation: scls_scr_search
Location: search
Other: id doesnt exist scls_scr_setval
Dep: 2
[root@node1 ~]# crsctl start crs
Attempting to start CRS stack
The CRS stack will be started shortly
[root@node1 ~]# crs_stat -t
CRS-0184: Cannot communicate with the CRS daemon.

dans ce cas la on a 2 solutions, restaure du fichier OCR a partir d’un backup, ou reconfiguration de l’OCR a nouveau avec la note “399482.1”.

dans notre cas on va restauré le fichier, on va commencer par identification des fichiers:

[oracle@node1 ~]$ ocrconfig -showbackup
 
node2     2012/03/07 14:38:54     /u01/app/oracle/product/10.2.0/crs/cdata/OTA
 
node2     2012/03/07 10:38:52     /u01/app/oracle/product/10.2.0/crs/cdata/OTA
 
node2     2012/03/07 06:38:49     /u01/app/oracle/product/10.2.0/crs/cdata/OTA
 
node2     2012/03/06 02:38:30     /u01/app/oracle/product/10.2.0/crs/cdata/OTA
 
node2     2012/02/23 02:35:37     /u01/app/oracle/product/10.2.0/crs/cdata/OTA

lancement du restaure avec la commande suivante:

[root@node1]# ocrconfig -restore backup00.ocr

après le restore le CRS démarre automatiquement, mais le nœud 1 reste toujours dé-configuré, la cause est le manque des fichier de configuration dans les chemins suivant:

/etc/oracle/*
/etc/init.d/init.cssd
/etc/init.d/init.crs
/etc/init.d/init.crsd
/etc/init.d/init.evmd
/etc/rc2.d/K96init.crs
/etc/rc2.d/S96init.crs
/etc/rc3.d/K96init.crs
/etc/rc3.d/S96init.crs
/etc/rc5.d/S96init.crs
/etc/inittab.crs
/etc/inittab

Copiez les fichiers a partir du nœuds 2 et allouez les mêmes permissions et le même owner.
Exécutez avec root init q , cette commande provoque un “reload” inittab.
Exécutez crsctl stop crs -f et crsctl start crs.