Oracle 12c 备份恢复OCR(Oracle Cluster Registry)

有两种方法来备份OCR的内容:

自动备份    Oracle集群每4个小时会自动备份OCR,并保留最新的3份备份。CRSD进程负责创建和维护OCR的备份。目前不可以定制OCR自动备份的频率和备份的保留份数。

手动备份    在集群的一个节点上,运行ocrconfig -manualbackup命令来执行OCR的手动备份。OLR只支持手动备份。

显示OCR备份文件
ocrconfig -showbackup

检查指定OCR备份文件的内容并验证备份的完整性
ocrdump -backupfile backup_file_name

变OCR备份文件的保存
ocrconfig -backuploc Grid_home/cdata/cluster3

恢复OCR

1.显示节点
olsnodes

2.停止Oracle集群

如果OCR存放在Oracle ASM磁盘组中,使用下面命令来停止集群
crsctl stop crs

如果执行上面的命令返回关于OCR损坏的任何错误,通过下面命令,使用root用户来强制停止集群
crsctl stop crs -f

3.恢复OCR到集群文件系统或网络文件系统,使用root用户来执行下面命令
ocrconfig -restore file_name

如果这个操作执行完成,调到步骤11.
如果没有恢复OCR到集群文件系统或网络文件系统中,继续执行下面步骤。
如果OCR备份文件是存放到Oracle ASM磁盘组中,确保指定的磁盘组存在并被挂载。

4.通过root用户,启动Oracle Clusterware stack
crsctl start crs -excl -nocrs

-nocrs参数确保CRSD进程和OCR不启动Oracle Clusterware stack其他余下的部分
忽略任何显示的报错

5.检查CRSD是否运行
crsctl status resource ora.crsd -init

如果CRSD在运行,通过root用户,执行下面命令来关闭它
crsctl stop resource ora.crsd -init

6.想将OCR恢复到一个Oracle ASM磁盘组,需要首先使用SQL*Plus创建一个磁盘组,这个磁盘组的名称和恢复的磁盘组名称相同,然后将它挂载到本地节点
如果不能将这个磁盘组挂载到本地,执行下面命令
SQL> drop diskgroup disk_group_name force including contents;

7.恢复OCR
# ocrconfig -restore file_name

如果OCR的原始路径不存在,在执行恢复前,需要手动创建一个空的OCR路径
确保指定的OCR设备存在于OCR配置中并且OCR设备是有效的
如果将OCR配置在ASM磁盘组中,确保Oracle ASM磁盘组存在并已挂载
如果OCR备份文件存在于Oracle ASM磁盘组中,确保Oracle ASM磁盘组存在并已挂载

8.验证OCR的完整性
# ocrcheck

9.在运行exclusive模式的集群节点上,停止Oracle集群
# crsctl stop crs -f

10.使用root用户,在没有执行ocrconfig -restore命令的集群节点上,执行下面命令
ocrconfig -repair -replace

例如,有一个4节点的集群,在节点1上执行了ocrconfig -restore命令,在节点2、3、4上则需要执行ocrconfig -repair -replace命令

11.启动Oracle集群
# crsctl start crs

12.在集群所有节点上,验证OCR的完整性
$ cluvfy comp ocr -n all -verbose

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26506993/viewspace-2124163/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26506993/viewspace-2124163/

你可能感兴趣的:(Oracle 12c 备份恢复OCR(Oracle Cluster Registry))