Oracle RAC的OCR存放着集群和数据库的重要配置信息。因此掌握其备份和恢复的方法甚是重要。我们可以对OCR进行手工逻辑备份,也可以依赖系统的自动备份策略。
系统对OCR的自动备份策略如下:
①.每4个小时自动生成一份OCR备份,并保留最后3个备份。
②.CRSD进程还会在每天开始时生成OCR备份,并保留最后2个备份。
③.CRSD进程还会在每周开始时生成OCR备份,并保留最后2个备份。
因此正常情况下OCR的备份目录下应该有最近7个备份。
在此,给出OCR的备份和恢复策略。
1.为了安全起见,生成一份OCR的逻辑备份
[root@rac1 ~]# /oracle/app/crs/bin/ocrconfig -export ocr_logical_backup
[root@rac1 ~]# ls -l ocr_logical_backup
-rw-r--r-- 1 root root 103969 Nov 5 20:10 ocr_logical_backup
2.确定OCR的物理备份信息
[root@rac1 ~]# /oracle/app/crs/bin/ocrconfig -showbackup
rac1 2010/10/26 05:20:57 /oracle/app/crs/cdata/crs
rac1 2010/10/26 01:20:56 /oracle/app/crs/cdata/crs
rac2 2010/10/24 22:34:18 /oracle/app/crs/cdata/crs
rac1 2010/10/26 01:20:56 /oracle/app/crs/cdata/crs
rac1 2010/10/22 23:54:15 /oracle/app/crs/cdata/crs
[root@rac1 ~]# ls -l /oracle/app/crs/cdata/crs
total 23560
-rw-r--r-- 1 root root 4812800 Oct 26 05:20 backup00.ocr
-rw-r--r-- 1 root root 4812800 Oct 26 01:20 backup01.ocr
-rw-r--r-- 1 root root 4812800 Oct 24 15:54 backup02.ocr
-rw-r--r-- 1 root root 4812800 Oct 27 02:10 day_.ocr
-rw-r--r-- 1 root root 4812800 Oct 26 01:20 day.ocr
-rw-r--r-- 1 root root 4812800 Oct 29 23:04 week_.ocr
-rw-r--r-- 1 root root 4812800 Oct 22 23:54 week.ocr
以上三个备份即为系统自动生成的7个备份。
3.在RAC的所有节点上停止CRS资源。完成确认CRS状态
1)停止CRS资源之前状态
RACDB1@rac1 /home/oracle$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....B1.inst application ONLINE ONLINE rac1
ora....B2.inst application ONLINE ONLINE rac2
ora.RACDB.db application ONLINE ONLINE rac2
ora....DB1.srv application ONLINE ONLINE rac1
ora....DB2.srv application ONLINE ONLINE rac2
ora.....taf.cs application ONLINE ONLINE rac1
ora....SM1.asm application ONLINE ONLINE rac1
ora....C1.lsnr application ONLINE ONLINE rac1
ora.rac1.gsd application ONLINE ONLINE rac1
ora.rac1.ons application ONLINE ONLINE rac1
ora.rac1.vip application ONLINE ONLINE rac1
ora....SM2.asm application ONLINE ONLINE rac2
ora....C2.lsnr application ONLINE ONLINE rac2
ora.rac2.gsd application ONLINE ONLINE rac2
ora.rac2.ons application ONLINE ONLINE rac2
ora.rac2.vip application ONLINE ONLINE rac2
2)分别停止两个节点上的CRS资源
RACDB1@rac1 /home/oracle$ srvctl stop nodeapps -n rac1
RACDB1@rac1 /home/oracle$ srvctl stop nodeapps -n rac2
3)确认CRS资源已经停止完毕
RACDB1@rac1 /home/oracle$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....B1.inst application OFFLINE OFFLINE
ora....B2.inst application OFFLINE OFFLINE
ora.RACDB.db application OFFLINE OFFLINE
ora....DB1.srv application OFFLINE OFFLINE
ora....DB2.srv application OFFLINE OFFLINE
ora.....taf.cs application OFFLINE OFFLINE
ora....SM1.asm application OFFLINE OFFLINE
ora....C1.lsnr application OFFLINE OFFLINE
ora.rac1.gsd application OFFLINE OFFLINE
ora.rac1.ons application OFFLINE OFFLINE
ora.rac1.vip application OFFLINE OFFLINE
ora....SM2.asm application OFFLINE OFFLINE
ora....C2.lsnr application OFFLINE OFFLINE
ora.rac2.gsd application OFFLINE OFFLINE
ora.rac2.ons application OFFLINE OFFLINE
ora.rac2.vip application OFFLINE OFFLINE
4.停止两个节点上的CRS
1)停止第一个节点上的CRS
[root@rac1 ~]# crsctl stop crs
Stopping resources.
Successfully stopped CRS resources
Stopping CSSD.
Shutting down CSS daemon.
Shutdown request successfully issued.
2)停止第二个节点上的CRS
[root@rac2 ~]# crsctl stop crs
Stopping resources.
Successfully stopped CRS resources
Stopping CSSD.
Shutting down CSS daemon.
Shutdown request successfully issued.
5.使用最近的一次备份恢复OCR
[root@rac1 ~]# /oracle/app/crs/bin/ocrconfig -restore /oracle/app/crs/cdata/crs/backup00.ocr
[root@rac1 ~]#
6.重新启动两个节点上的CRS
1)启动第一个节点上的CRS
[root@rac1 ~]# crsctl start crs
Attempting to start CRS stack
The CRS stack will be started shortly
此处稍等几分钟后,确认第一节点上的CRS资源已经成功启动。
[root@rac1 ~]# crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....B1.inst application ONLINE ONLINE rac1
ora....B2.inst application ONLINE OFFLINE
ora.RACDB.db application ONLINE ONLINE rac1
ora....DB1.srv application ONLINE ONLINE rac1
ora....DB2.srv application ONLINE OFFLINE
ora.....taf.cs application ONLINE ONLINE rac1
ora....SM1.asm application ONLINE ONLINE rac1
ora....C1.lsnr application ONLINE ONLINE rac1
ora.rac1.gsd application ONLINE ONLINE rac1
ora.rac1.ons application ONLINE ONLINE rac1
ora.rac1.vip application ONLINE ONLINE rac1
ora....SM2.asm application ONLINE OFFLINE
ora....C2.lsnr application ONLINE OFFLINE
ora.rac2.gsd application ONLINE OFFLINE
ora.rac2.ons application ONLINE OFFLINE
ora.rac2.vip application ONLINE ONLINE rac1
2)启动第二个节点上的CRS
[root@rac2 ~]# crsctl start crs
Attempting to start CRS stack
The CRS stack will be started shortly
此处需要稍等几分钟,然后确认所有节点上的CRS资源均已成功启动。
[root@rac1 ~]# crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....B1.inst application ONLINE ONLINE rac1
ora....B2.inst application ONLINE ONLINE rac2
ora.RACDB.db application ONLINE ONLINE rac1
ora....DB1.srv application ONLINE ONLINE rac1
ora....DB2.srv application ONLINE ONLINE rac2
ora.....taf.cs application ONLINE ONLINE rac1
ora....SM1.asm application ONLINE ONLINE rac1
ora....C1.lsnr application ONLINE ONLINE rac1
ora.rac1.gsd application ONLINE ONLINE rac1
ora.rac1.ons application ONLINE ONLINE rac1
ora.rac1.vip application ONLINE ONLINE rac1
ora....SM2.asm application ONLINE ONLINE rac2
ora....C2.lsnr application ONLINE ONLINE rac2
ora.rac2.gsd application ONLINE ONLINE rac2
ora.rac2.ons application ONLINE ONLINE rac2
ora.rac2.vip application ONLINE ONLINE rac2
7.查看RAC所有节点上OCR的状态是否正常
[root@rac1 bin]# su - oracle
RACDB1@rac1 /home/oracle$ /oracle/app/crs/bin/cluvfy comp ocr -n all
Verifying OCR integrity
Checking OCR integrity...
Checking the absence of a non-clustered configuration...
All nodes free of non-clustered, local-only configurations.
Uniqueness check for OCR device passed.
Checking the version of OCR...
OCR of correct Version "2" exists.
Checking data integrity of OCR...
Data integrity check for OCR passed.
OCR integrity check passed.
Verification of OCR integrity was successful.
到此,OCR恢复成功。
8.小结
鉴于OCR的重要性,Oracle默认提供了系统级别的备份方法。这样可以避免故障出现时由于没有备份导致OCR无法恢复的烦恼。即便如此,OCR的备份是否生成成功和其有效性检查伊然重要。与此同时亦可以结合手工备份来保证备份万无一失。
Good luck.
secooler
10.11.05
-- The End --