Sollte die OCR defekt sein, so kann sie über das Kommandozeilenwerkzeug ocrconfig wiederhergestellt werden.

1. Anzeigen der vorhandenen Sicherungen. Siehe dazu auch Artikel Sichern der OCR in 11gR2.

[root@rac1 bin]# ./ocrconfig -showbackup

rac1     2012/04/08 16:29:33     /u01/app/11.2.0/grid/cdata/rac-scan/backup_20120408_162933.ocr

rac1     2012/04/04 16:47:48     /u01/app/11.2.0/grid/cdata/rac-scan/backup_20120404_164748.ocr

rac1     2012/04/04 16:47:16     /u01/app/11.2.0/grid/cdata/rac-scan/backup_20120404_164716.ocr

rac1     2012/02/15 08:56:49     /u01/app/11.2.0/grid/cdata/rac-scan/backup_20120215_085649.ocr

2. Herunterfahren der Clusterware auf allen Knoten.

[root@rac1 bin]# ./crsctl stop cluster -all
CRS-2673: Versuch, "ora.crsd" auf "rac1" zu stoppen
CRS-2673: Versuch, "ora.crsd" auf "rac2" zu stoppen
CRS-2790: Herunterfahren der von Cluster Ready Services verwalteten Ressourcen auf 'rac1' wird gestartet
CRS-2673: Versuch, "ora.orcl.db" auf "rac1" zu stoppen
CRS-2673: Versuch, "ora.LISTENER.lsnr" auf "rac1" zu stoppen
CRS-2673: Versuch, "ora.LISTENER_SCAN1.lsnr" auf "rac1" zu stoppen
CRS-2790: Herunterfahren der von Cluster Ready Services verwalteten Ressourcen auf 'rac2' wird gestartet
CRS-2673: Versuch, "ora.LISTENER.lsnr" auf "rac2" zu stoppen
CRS-2673: Versuch, "ora.orcl.db" auf "rac2" zu stoppen
CRS-2677: Stoppen von "ora.LISTENER.lsnr" auf "rac2" erfolgreich
CRS-2673: Versuch, "ora.rac2.vip" auf "rac2" zu stoppen
CRS-2677: Stoppen von "ora.rac2.vip" auf "rac2" erfolgreich
CRS-2677: Stoppen von "ora.LISTENER_SCAN1.lsnr" auf "rac1" erfolgreich
CRS-2673: Versuch, "ora.scan1.vip" auf "rac1" zu stoppen
CRS-2677: Stoppen von "ora.LISTENER.lsnr" auf "rac1" erfolgreich
CRS-2673: Versuch, "ora.rac1.vip" auf "rac1" zu stoppen
CRS-2677: Stoppen von "ora.scan1.vip" auf "rac1" erfolgreich
CRS-2677: Stoppen von "ora.rac1.vip" auf "rac1" erfolgreich
CRS-2677: Stoppen von "ora.orcl.db" auf "rac2" erfolgreich
CRS-2673: Versuch, "ora.ons" auf "rac2" zu stoppen
CRS-2673: Versuch, "ora.eons" auf "rac2" zu stoppen
CRS-2677: Stoppen von "ora.ons" auf "rac2" erfolgreich
CRS-2673: Versuch, "ora.net1.network" auf "rac2" zu stoppen
CRS-2677: Stoppen von "ora.net1.network" auf "rac2" erfolgreich
CRS-2677: Stoppen von "ora.eons" auf "rac2" erfolgreich
CRS-2792: Herunterfahren der von Cluster Ready Services verwalteten Ressourcen auf 'rac2' ist abgeschlossen
CRS-2677: Stoppen von "ora.orcl.db" auf "rac1" erfolgreich
CRS-2673: Versuch, "ora.ons" auf "rac1" zu stoppen
CRS-2673: Versuch, "ora.eons" auf "rac1" zu stoppen
CRS-2677: Stoppen von "ora.ons" auf "rac1" erfolgreich
CRS-2673: Versuch, "ora.net1.network" auf "rac1" zu stoppen
CRS-2677: Stoppen von "ora.net1.network" auf "rac1" erfolgreich
CRS-2677: Stoppen von "ora.crsd" auf "rac2" erfolgreich
CRS-2673: Versuch, "ora.cssdmonitor" auf "rac2" zu stoppen
CRS-2673: Versuch, "ora.ctssd" auf "rac2" zu stoppen
CRS-2673: Versuch, "ora.evmd" auf "rac2" zu stoppen
CRS-2677: Stoppen von "ora.cssdmonitor" auf "rac2" erfolgreich
CRS-2677: Stoppen von "ora.evmd" auf "rac2" erfolgreich
CRS-2677: Stoppen von "ora.eons" auf "rac1" erfolgreich
CRS-2792: Herunterfahren der von Cluster Ready Services verwalteten Ressourcen auf 'rac1' ist abgeschlossen
CRS-2677: Stoppen von "ora.crsd" auf "rac1" erfolgreich
CRS-2673: Versuch, "ora.cssdmonitor" auf "rac1" zu stoppen
CRS-2673: Versuch, "ora.ctssd" auf "rac1" zu stoppen
CRS-2673: Versuch, "ora.evmd" auf "rac1" zu stoppen
CRS-2677: Stoppen von "ora.cssdmonitor" auf "rac1" erfolgreich
CRS-2677: Stoppen von "ora.ctssd" auf "rac2" erfolgreich
CRS-2673: Versuch, "ora.cssd" auf "rac2" zu stoppen
CRS-2677: Stoppen von "ora.evmd" auf "rac1" erfolgreich
CRS-2677: Stoppen von "ora.cssd" auf "rac2" erfolgreich
CRS-2673: Versuch, "ora.diskmon" auf "rac2" zu stoppen
CRS-2677: Stoppen von "ora.ctssd" auf "rac1" erfolgreich
CRS-2673: Versuch, "ora.cssd" auf "rac1" zu stoppen
CRS-2677: Stoppen von "ora.cssd" auf "rac1" erfolgreich
CRS-2673: Versuch, "ora.diskmon" auf "rac1" zu stoppen
CRS-2677: Stoppen von "ora.diskmon" auf "rac2" erfolgreich
CRS-2677: Stoppen von "ora.diskmon" auf "rac1" erfolgreich

 

3. Wiederherstellen der OCR mit ocrconfig

[root@rac1 bin]# ./ocrconfig -restore /u01/app/11.2.0/grid/cdata/rac-scan/backup_20120408_162933.ocr

4. Starten der Clusterware auf allen Knoten

[root@rac1 bin]# ./crsctl start cluster -all
CRS-2672: Versuch, "ora.cssdmonitor" auf "rac1" zu starten
CRS-2672: Versuch, "ora.cssdmonitor" auf "rac2" zu starten
CRS-2676: Starten von "ora.cssdmonitor" auf "rac2" erfolgreich
CRS-2672: Versuch, "ora.cssd" auf "rac2" zu starten
CRS-2676: Starten von "ora.cssdmonitor" auf "rac1" erfolgreich
CRS-2672: Versuch, "ora.cssd" auf "rac1" zu starten
CRS-2672: Versuch, "ora.diskmon" auf "rac1" zu starten
CRS-2672: Versuch, "ora.diskmon" auf "rac2" zu starten
CRS-2676: Starten von "ora.diskmon" auf "rac2" erfolgreich
CRS-2676: Starten von "ora.diskmon" auf "rac1" erfolgreich
....
....

Die OCR wird unter 11gR2 automatisch durch nur einen Knoten gesichert. Eine Sicherung und Wiederherstellung mit dd führt zum Verlust der OCR und wird nicht mehr unterstützt. Die Sicherung erfolgt in 11gR2 alle 4 Stunden (Interval nicht änderbar) und wird nicht durch einen Neustart erzwungen, vielmehr wird der Timer zurückgesetzt. Die letzten 3 Sicherungen werden hiervon vorgehalten, zusätzlich die letzten zwei Sicherungen des Tages und der Woche.


Anzeigen der OCR-Sicherungen
[root@rac1 bin]# ./ocrconfig -showbackup auto
PROT-24: Auto backups for the Oracle Cluster Registry are not available


Ändern des Backupziels
[root@rac1 bin]# ./ocrconfig –backuploc /u01/ocrshare
 

Durchführen eines manuellen Backups
[root@rac1 bin]# ./ocrconfig -manualbackup
rac1     2012/04/04 16:47:16     /u01/app/11.2.0/grid/cdata/rac-scan/backup_20120404_164716.ocr

rac1     2012/02/15 08:56:49     /u01/app/11.2.0/grid/cdata/rac-scan/backup_20120215_085649.ocr


Anzeigen manueller Backups
[root@rac1 bin]# ./ocrconfig -showbackup manual

rac1     2012/04/04 16:47:16     /u01/app/11.2.0/grid/cdata/rac-scan/backup_20120404_164716.ocr

rac1     2012/02/15 08:56:49     /u01/app/11.2.0/grid/cdata/rac-scan/backup_20120215_085649.ocr

Das Kommandozeilenwerkzeug ocrconfig wird zur Konfiguration und Verwaltung der Oracle Cluster Registry verwendet.

Wird aber beispielsweise ein weiterer Spiegel der OCR hinzugefügt, während einige Knoten des Clusters heruntergefahren sind, so müssen diese Spiegel nachträglich dem Knoten bekannt gemacht werden. Dieses erfolgt über die repair-Option von ocrcheck.

Hierzu ein simuliertes Beispiel:

Cluster Services werden auf Knoten RAC2 heruntergefahren.


[root@rac1 bin]# ./crsctl stop cluster -n rac2
CRS-2673: Versuch, "ora.crsd" auf "rac2" zu stoppen
CRS-2790: Herunterfahren der von Cluster Ready Services verwalteten Ressourcen auf 'rac2' wird gestartet
CRS-2673: Versuch, "ora.orcl.db" auf "rac2" zu stoppen
CRS-2673: Versuch, "ora.LISTENER.lsnr" auf "rac2" zu stoppen
CRS-2673: Versuch, "ora.rac2.vip" auf "rac2" zu stoppen
CRS-2673: Versuch, "ora.LISTENER_SCAN1.lsnr" auf "rac2" zu stoppen
CRS-2677: Stoppen von "ora.rac2.vip" auf "rac2" erfolgreich
CRS-2677: Stoppen von "ora.LISTENER.lsnr" auf "rac2" erfolgreich
CRS-2673: Versuch, "ora.rac1.vip" auf "rac2" zu stoppen
CRS-2677: Stoppen von "ora.LISTENER_SCAN1.lsnr" auf "rac2" erfolgreich
CRS-2673: Versuch, "ora.scan1.vip" auf "rac2" zu stoppen
CRS-2677: Stoppen von "ora.rac1.vip" auf "rac2" erfolgreich
CRS-2677: Stoppen von "ora.scan1.vip" auf "rac2" erfolgreich
CRS-2677: Stoppen von "ora.orcl.db" auf "rac2" erfolgreich
CRS-2673: Versuch, "ora.eons" auf "rac2" zu stoppen
CRS-2673: Versuch, "ora.ons" auf "rac2" zu stoppen
CRS-2677: Stoppen von "ora.ons" auf "rac2" erfolgreich
CRS-2673: Versuch, "ora.net1.network" auf "rac2" zu stoppen
CRS-2677: Stoppen von "ora.net1.network" auf "rac2" erfolgreich
CRS-2677: Stoppen von "ora.eons" auf "rac2" erfolgreich
CRS-2792: Herunterfahren der von Cluster Ready Services verwalteten Ressourcen auf 'rac2' ist abgeschlossen
CRS-2677: Stoppen von "ora.crsd" auf "rac2" erfolgreich
CRS-2673: Versuch, "ora.cssdmonitor" auf "rac2" zu stoppen
CRS-2673: Versuch, "ora.ctssd" auf "rac2" zu stoppen
CRS-2673: Versuch, "ora.evmd" auf "rac2" zu stoppen
CRS-2677: Stoppen von "ora.cssdmonitor" auf "rac2" erfolgreich
CRS-2677: Stoppen von "ora.evmd" auf "rac2" erfolgreich
CRS-2677: Stoppen von "ora.ctssd" auf "rac2" erfolgreich
CRS-2673: Versuch, "ora.cssd" auf "rac2" zu stoppen
CRS-2677: Stoppen von "ora.cssd" auf "rac2" erfolgreich
CRS-2673: Versuch, "ora.diskmon" auf "rac2" zu stoppen
CRS-2677: Stoppen von "ora.diskmon" auf "rac2" erfolgreich

 

Der OCR wird ein weiterer Spiegel hinzugefügt:


[root@rac1 bin]# touch /u01/racdisk/ocr_disk/storage/ocr4
[root@rac1 bin]# ./ocrconfig -add /u01/racdisk/ocr_disk/storage/ocr4
[root@rac1 bin]# ./ocrcheck
Status of Oracle Cluster Registry is as follows :
Version                  :          3
Total space (kbytes)     :     262120
Used space (kbytes)      :       2656
Available space (kbytes) :     259464
ID                       : 1448550249
Device/File Name         : /u01/racdisk/ocr_disk/storage/ocr
Device/File integrity check succeeded
Device/File Name         : /u01/racdisk/ocr_disk/storage/ocr2
Device/File integrity check succeeded
Device/File Name         : /u01/racdisk/ocr_disk/storage/ocr3
Device/File integrity check succeeded
Device/File Name         : /u01/racdisk/ocr_disk/storage/ocr4
Device/File integrity check succeeded

Device/File not configured

Cluster registry integrity check succeeded

Logical corruption check succeeded

Auf Knoten RAC2 werden die Cluster Services wieder gestartet:


[root@rac1 bin]# ./crsctl start cluster -n rac2
CRS-2672: Versuch, "ora.cssdmonitor" auf "rac2" zu starten
CRS-2676: Starten von "ora.cssdmonitor" auf "rac2" erfolgreich
CRS-2672: Versuch, "ora.cssd" auf "rac2" zu starten
CRS-2672: Versuch, "ora.diskmon" auf "rac2" zu starten
CRS-2676: Starten von "ora.diskmon" auf "rac2" erfolgreich
CRS-2676: Starten von "ora.cssd" auf "rac2" erfolgreich
CRS-2672: Versuch, "ora.ctssd" auf "rac2" zu starten
CRS-2676: Starten von "ora.ctssd" auf "rac2" erfolgreich
CRS-2672: Versuch, "ora.evmd" auf "rac2" zu starten
CRS-2672: Versuch, "ora.crsd" auf "rac2" zu starten
CRS-2676: Starten von "ora.evmd" auf "rac2" erfolgreich
CRS-2676: Starten von "ora.crsd" auf "rac2" erfolgreich

Wird auf Konten RAC2 nun eine Überprüfung der OCR durchgeführt, wird ein Fehler ausgegeben:

[root@rac2 bin]# ./ocrcheck
PROT-602: Failed to retrieve data from the cluster registry
PROC-26: Error while accessing the physical storage

Da während der Erstellung des zusätzlichen Spiegels der Knoten RAC2 nicht gestartet war, muss nun eine Reparatur mit ocrcheck mit der Option repair gestartet werden.

[root@rac2 bin]# ./ocrconfig -repair -add /u01/racdisk/ocr_disk/storage/ocr4

 

Nach der Reparatur liefert ocrcheck das gewünschte Ergebnis.

[root@rac2 bin]# ./ocrcheck
Status of Oracle Cluster Registry is as follows :
Version                  :          3
Total space (kbytes)     :     262120
Used space (kbytes)      :       2656
Available space (kbytes) :     259464
ID                       : 1448550249
Device/File Name         : /u01/racdisk/ocr_disk/storage/ocr
Device/File integrity check succeeded
Device/File Name         : /u01/racdisk/ocr_disk/storage/ocr2
Device/File integrity check succeeded
Device/File Name         : /u01/racdisk/ocr_disk/storage/ocr3
Device/File integrity check succeeded
Device/File Name         : /u01/racdisk/ocr_disk/storage/ocr4
Device/File integrity check succeeded

Device/File not configured

Cluster registry integrity check succeeded

Logical corruption check succeeded

 

 

Die Überprüfung der OCR in RAC wird über das Utility ocrcheck erreicht. Hierbei gibt es Unterschiede zwischen der Ausführung als privilegierter Benutzer root und dem Standardbenutzer oracle.  Wird eine Überprüfung der OCR unter dem Benutzer root ausgeführt, so wird sie gleichzeitig einer Überprüfung auf logische Fehler unterzogen. 

Unter dem Benutzer oracle:

[oracle@rac1 bin]$ ./ocrcheck
Status of Oracle Cluster Registry is as follows :
Version                  :          3
Total space (kbytes)     :     262120
Used space (kbytes)      :       2620
Available space (kbytes) :     259500
ID                       : 1448550249
Device/File Name         : /u01/racdisk/ocr_disk/storage/ocr
Device/File integrity check succeeded

Device/File not configured

Device/File not configured

Device/File not configured

Device/File not configured

Cluster registry integrity check succeeded

Logical corruption check bypassed due to non-privileged user

Unter dem Benutzer root:

[oracle@rac1 bin]$ su -
Passwort:
[root@rac1 bin]# ./ocrcheck
Status of Oracle Cluster Registry is as follows :
Version                  :          3
Total space (kbytes)     :     262120
Used space (kbytes)      :       2620
Available space (kbytes) :     259500
ID                       : 1448550249
Device/File Name         : /u01/racdisk/ocr_disk/storage/ocr
Device/File integrity check succeeded

Device/File not configured

Device/File not configured

Device/File not configured

Device/File not configured

Cluster registry integrity check succeeded

Logical corruption check succeeded

 

Das Hinzufügen einer weiteren OCR-Datei zur Spiegelung unter Oracle 11gR2 RAC wird mit einem priviligiertem Betriebssystembenutzer und dem Werkzeug ocrconfig erreicht.

1. Überprüfung der OCR mit ihren Spiegeln über die Datei /etc/oracle/ocr.log oder dem Werkzeug ocrcheck

[root@rac1 bin]# cat /etc/oracle/ocr.loc
ocrconfig_loc=/u01/racdisk/ocr_disk/storage/ocr
local_only=FALSE

[root@rac1 bin]# ./ocrcheck
Status of Oracle Cluster Registry is as follows :
Version                  :          3
Total space (kbytes)     :     262120
Used space (kbytes)      :       2620
Available space (kbytes) :     259500
ID                       : 1448550249
Device/File Name         : /u01/racdisk/ocr_disk/storage/ocr
Device/File integrity check succeeded

Device/File not configured

Device/File not configured

Device/File not configured

Device/File not configured

Cluster registry integrity check succeeded

Logical corruption check succeeded

 

2. Für das Hinzufügen wird das Werkzeug ocrconfig mit der Option -add sowie dem Pfad und der neuen zusätzlichen OCR-Datei verwendet. Im Vorfeld muss aber eine leere Datei für den neuen Spiegel erstellt werden.

[root@rac1 bin]# touch /u01/racdisk/ocr_disk/storage/ocr2

Danach kann der OCR-Spiegel hinzugefügt werden.

[root@rac1 bin]# ./ocrconfig -add /u01/racdisk/ocr_disk/storage/ocr2

Wurde keine leere Datei imVorfeld erzeugt, wird der folgende Fehler ausgegeben.

[root@rac1 bin]# ./ocrconfig -add /u01/racdisk/ocr_disk/storage/ocr2
PROT-30: The Oracle Cluster Registry location to be added is not accessible

 

3. Zum Schluss kann das Vorhandensein des neuen Spiegels validiert werden.

[root@rac1 bin]# cat /etc/oracle/ocr.loc
#Device/file  getting replaced by device /u01/racdisk/ocr_disk/storage/ocr2
ocrconfig_loc=/u01/racdisk/ocr_disk/storage/ocr
ocrmirrorconfig_loc=/u01/racdisk/ocr_disk/storage/ocr2

[root@rac1 bin]# ./ocrcheck
Status of Oracle Cluster Registry is as follows :
Version                  :          3
Total space (kbytes)     :     262120
Used space (kbytes)      :       2620
Available space (kbytes) :     259500
ID                       : 1448550249
Device/File Name         : /u01/racdisk/ocr_disk/storage/ocr
Device/File integrity check succeeded
Device/File Name         : /u01/racdisk/ocr_disk/storage/ocr2
Device/File integrity check succeeded

Device/File not configured

Device/File not configured

Device/File not configured

Cluster registry integrity check succeeded

Logical corruption check succeeded