一、自动备份
oracle会每小时备份一次ocr,自动备份的默认路径是:$CRS_HOME/cdata/$CRS_NAME下,可以用ocrconfig查看自动备份的信息。 自动备份只会在一个节点执行。如果用于备份的节点出现异常,则oracle会自动切换到其他节点进行备份。默认情况下,oracle会保留最近5份ocr备份:3份最近的、一份昨天和一份上周的。自动备份只会在一个节点上执行,安全起见,应该定期拷贝字段备份产生的文件到所有节点上。
查看当前ocr的备份目录 [grid@rac01 ~]$ ocrconfig -showbackuploc The Oracle Cluster Registry backup location is [+OCR]. 2.更改目录 [root@rac01 ~]# /u01/grid/grid_home/19.3.0.0/bin/ocrconfig -backuploc +REDO [grid@rac01 ~]$ ocrconfig -showbackuploc The Oracle Cluster Registry backup location is [+REDO] 若是指定具体某个目录好像是不可以的,只能指定到磁盘组 [root@rac01 ~]# /u01/grid/grid_home/19.3.0.0/bin/ocrconfig -backuploc +OCR/rac-cluster/OCRBACKUP01 PROT-45: The specified Oracle Cluster Registry backup location +OCR/rac-cluster/OCRBACKUP01 is inaccessible. 好像也不能指定到文件系统目录,只能是asm磁盘 [root@rac01 ~]# /u01/grid/grid_home/19.3.0.0/bin/ocrconfig -backuploc /home/grid/ocrbackup/ PROT-42: The specified location '/home/grid/ocrbackup/' designates an invalid storage type for Oracle Cluster Registry backup files.
2) 恢复
自动备份这种备份方式是物理备份,类似于数据库备份中的rman,需要用restore方式还原,恢复步骤:
a) 用ocrconfig -showbackup命令查看自动备份文件的位置(在那个节点上,在那个路径下) $ ocrconfig -showbackup 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 e) 在所有节点启动crs /etc/init.d/init.crs start f) 可以用cluvfy 验证ocr是否正确 cluvfy comp ocr -n all [-verbose]
二、手工备份(逻辑备份)及恢复方法
我们不能修改ocr自动备份的时间及频率,但是oracle给我们提供了另外一种备份方式,可以让我们对ocr进行手工备份。
手工备份很简单,我们可以用ocrconfig命令,如:
/opt/oracle/product/10.2/crs/bin/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 d) 在所有节点启动crs /etc/init.d/init.crs start e) 可以用cluvfy 验证ocr是否正确 cluvfy comp ocr -n all [-verbose]