OCR的备份与恢复方法

时间:2022-04-16 18:55:16
ocr 保存了rac中节点列表、实例和节点的关联、以及rac各种资源(VIP、监听等)信息。
如果ocr所在磁盘或者阵列没有使用raid,则强烈要求对ocr做镜像。
因为OCR也非常重要,除了mirror外,也要做好充分的备份。

备份ocr有两种方法:

1、ocr自动备份与恢复方法

1) 自动备份
oracle会每小时备份一次ocr,自动备份的默认路径是:$CRS_HOME/cdata/$CRS_NAME下,可以用ocrconfig查看自动备份的信息。
自动备份只会在一个节点执行。如果用于备份的节点出现异常,则oracle会自动切换到其他节点进行备份。
默认情况下,oracle会保留最近5份ocr备份:3份最近的、一份昨天和一份上周的。

自动备份只会在一个节点上执行,安全起见,应该定期拷贝字段备份产生的文件到所有节点上。

2) 恢复
自动备份这种备份方式是物理备份,类似于数据库备份中的rman,需要用restore方式还原,恢复步骤:
a) 用ocrconfig -showbackup命令查看自动备份文件的位置(在那个节点上,在那个路径下)


[grid@m1 oraagent_grid]$ ocrconfig -showbackup

m2     2013/07/20 09:39:39     /opt/app/grid/cdata/m/backup00.ocr

m2     2013/07/20 05:39:37     /opt/app/grid/cdata/m/backup01.ocr

m2     2013/07/20 01:39:12     /opt/app/grid/cdata/m/backup02.ocr

m1     2013/07/18 10:22:39     /opt/app/grid/cdata/m/day.ocr

m1     2013/07/15 19:41:08     /opt/app/grid/cdata/m/week.ocr
PROT-25: Manual backups for the Oracle Cluster Registry are not available




b) 用ocrdump验证ocr信息,如:
以root执行:
/opt/oracle/product/10.2/crs/bin/ocrdump -backupfile /opt/oracle/product/10.2/crs/cdata/crs/week.ocr
这个命令会在当前路径下产生一个文件:OCRDUMPFILE,查看这个文件即可。

c) 在所有节点停止crs
/etc/init.d/init.crs stop

d) 用户ocrconfig还原

ocrconfig -restore file_name
--file_name
为自动备份的ocr文件路径及名称

e) 在所有节点启动crs
/etc/init.d/init.crs start

f) 可以用cluvfy 验证ocr是否正确

cluvfy comp ocr -n all [-verbose]


2
手工备份(逻辑备份)及恢复方法
我们不能修改ocr自动备份的时间及频率,但是oracle给我们提供了另外一种备份方式,可以让我们对ocr进行手工备份。
手工备份很简单,我们可以用ocrconfig命令,如:
ocrconfig -export /tmp/ocr.bak

注意,该命令只能以root执行。
这种备份方式是逻辑备份,如果ocr损坏需要还原,则需要用import方式把导出的内容导入,步骤如下:

a) 用ocrconfig -export出来的文件位置

b) 在所有节点停止crs
/etc/init.d/init.crs stop

c) 用户ocrconfig还原

ocrconfig -import file_name
--file_name
为export出来的ocr文件路径及名称

d) 在所有节点启动crs
/etc/init.d/init.crs start

e) 可以用cluvfy 验证ocr是否正确

cluvfy comp ocr -n all [-verbose]