管理oracle集群中的ocr文件

OCR 文件及位置

ocrconfig 工具是Oracle 集群注册表的主要配置工具。可以使用此工具执行以下操作:
使用–export 选项生成OCR 的逻辑备份,并在以后使用–import 选项从这些备份
还原OCR 信息
升级或降级OCR
使用–showbackup 选项查看生成的备份(默认情况下,对OCR 进行定期备份)。
在默认位置(可使用–backuploc 选项更改该位置)生成这些备份。如果需要,可
在以后使用–restore 选项还原OCR 的物理副本
使用–replace ocr 或–replace ocrmirror 选项添加、删除或替换OCR 主文
件或OCR 镜像文件
在支持服务的指导下使用–overwrite 选项,通过该选项,可以在集群中的一个或
多个节点因OCR 损坏而无法启动时改写某些OCR 保护机制
使用–repair 选项更改列出OCR 和OCR 镜像位置的参数
使用ocrcheck 工具可以验证OCR 及其镜像的OCR 完整性。使用ocrdump 实用程序
可以将OCR 内容或其中一部分内容写入文本文件或XML 文件。

自动备份OCR
OCR 内容对于Oracle Clusterware 至关重要。
实际上,OCR 会在以下时间自动进行备份:
– 每4 小时:CRS 会保留最后3 个副本。
– 每天结束时:CRS 会保留最后2 个副本。
– 每周结束时:CRS 会保留最后2 个副本。

[root@jyrac2 ~]# su - oracle
[oracle@jyrac2 ~]$ cd /u01/app/oracle/product/10.2.0/crs/cdata/crs
[oracle@jyrac2 crs]$ ls -lt
total 19892
-rw-r--r-- 1 root root 4071424 Dec 21 07:00 day.ocr
-rw-r--r-- 1 root root 4071424 Dec 21 07:00 week_.ocr
-rw-r--r-- 1 root root 4071424 Dec 21 07:00 backup00.ocr
-rw-r--r-- 1 root root 4067328 Dec 12 12:50 week.ocr
-rw-r--r-- 1 root root 4067328 Dec 12 12:50 backup01.ocr
[oracle@jyrac2 crs]$

更改自动备份的默认位置:
# ocrconfig –backuploc /shared/bak

OCR 包含RAC 和Oracle Clusterware 的重要集群和数据库配置信息。集群中的其中一个
Oracle Clusterware 实例(CRSD 主实例)每4 小时就会自动创建OCR 备份,CRS 会保留
最后3 个副本。此外,该CRSD 进程还会在每天和每周开始时创建OCR 备份,并保留最
后2 个副本。上面的输出对此进行了说明,可在其中看到CRSD 主实例的默认备份目录的
内容。
虽然无法定制备份频率或保留的副本数,但可以使用ocrconfig -showbackup 命令
标识自动保留的副本的名称和位置。
每个自动生成的OCR 备份文件的默认目标位置均为/cdata/ 目录。建议使用ocrconfig -backuploc 命令将此位置更
改为由集群中所有节点共享的位置。此命令将采用一个参数,即新位置的完整路径目录名。

[oracle@jyrac2 bin]$ ocrconfig -showbackup

jyrac1     2012/12/24 03:00:44     /u01/app/oracle/product/10.2.0/crs/cdata/crs

jyrac1     2012/12/22 05:07:52     /u01/app/oracle/product/10.2.0/crs/cdata/crs

jyrac2     2012/12/21 07:00:11     /u01/app/oracle/product/10.2.0/crs/cdata/crs

jyrac1     2012/12/24 03:00:44     /u01/app/oracle/product/10.2.0/crs/cdata/crs

jyrac2     2012/12/12 12:50:09     /u01/app/oracle/product/10.2.0/crs/cdata/crs
[oracle@jyrac2 bin]$

手动备份OCR
每天都应将OCR 自动备份备份到其他存储设备:
– 使用首选备份工具。
在进行重大更改之前和之后应对OCR 进行逻辑备份:

# ocrconfig –export file name
[root@jyrac2 ~]# cd /u01/app/oracle/product/10.2.0/crs/bin
[root@jyrac2 bin]# ./ocrconfig -export /u01/myback.ocr -s online
You have new mail in /var/spool/mail/root
[root@jyrac2 bin]#

[root@jyrac2 bin]# ll  /u01/myback.ocr
-rw-r--r-- 1 root root 87993 Dec 24 07:33 /u01/myback.ocr

确保还原与当前系统配置相匹配的OCR 备份。

由于OCR 信息非常重要,因此还建议手动为自动生成的物理备份创建副本。可以使用任
意备份软件来复制自动生成的备份文件。建议至少每天执行一次将这些文件备份到其他设
备(不同于OCR 主文件所在的设备)的操作。
此外,还应在进行重大配置更改(如在环境中添加或删除节点、修改Oracle Clusterware
资源或创建数据库)之前和之后,导出OCR 内容。请以root 用户身份使用
ocrconfig -export 命令生成OCR 逻辑备份。需要指定一个文件名作为该命令的参
数,该命令会生成一个二进制文件,您将无法编辑该文件。
所做的大多数配置更改不仅会更改OCR 内容,而且还会创建文件和数据库对象。还原
OCR 时,其中某些更改通常不会得到还原。如果其中某些配置更改失败,则不要将执行
OCR 还原作为恢复到先前配置的更正方法,因为这可能导致OCR 的内容与系统其余部分
的状态不相符。
如果尝试在OCR 客户机运行过程中导出OCR,则会发生错误。

使用物理备份恢复OCR
1. 找到物理备份:$ ocrconfig –showbackup
2. 检查其内容:# ocrdump –backupfile file_name
3. 停止所有节点上的Oracle Clusterware:# crsctl stop crs
4. 还原OCR 物理备份:# ocrconfig –restore /cdata/jfv_clus/day.ocr
5. 重新启动所有节点上的Oracle Clusterware:# crsctl start crs
6. 检查OCR 完整性:$ cluvfy comp ocr -n all

在基于UNIX 的系统上,可使用以下过程还原OCR:
1. 使用ocrconfig -showbackup 命令标识OCR 备份。可以作为oracle 用户从任
何节点执行此命令。输出会显示要在其中检索自动生成的备份的节点和路径。
2. 使用ocrdump -backupfile file_name 检查备份内容,其中file_name 是备
份文件的名称。
3. 通过以root 用户身份在所有节点上执行crsctl stop crs 命令,停止集群中所
有节点上的Oracle Clusterware。
4. 通过以root 用户身份使用以下命令应用步骤1 中标识的OCR 备份文件来执行还原,
其中file_name 是要还原的OCR 文件的名称。在运行此命令之前,请确保OCR 配
置文件(/etc/oracle/ocr.loc) 中指定的OCR 设备存在并且有效:
ocrconfig -restore file_name
5. 通过以root 用户身份重新启动每个节点或运行crsctl start crs 命令,重新启
动集群中所有节点上的Oracle Clusterware。
6. 运行以下命令以验证OCR 完整性,其中-n all 参数将检索配置为集群一部分的所
有集群节点的列表:cluvfy comp ocr -n all
使用逻辑备份恢复OCR
1. 找到使用OCR 导出文件创建的逻辑备份。
2. 停止所有节点上的Oracle Clusterware:
# crsctl stop crs
3. 还原逻辑OCR 备份:
# ocrconfig –import /shared/export/ocrback.dmp
4. 重新启动所有节点上的Oracle Clusterware:
# crsctl start crs
5. 检查OCR 完整性:
$ cluvfy comp ocr -n all

在基于UNIX 的系统上,可使用以下过程导入OCR:
1. 通过标识先前使用ocrconfig -export file_name 命令创建的OCR 导出文件,
标识要导入的OCR 导出文件。
2. 通过以root 用户身份在所有节点上执行crsctl stop crs 命令,停止RAC 数据
库中所有节点上的Oracle Clusterware。
3. 通过使用以下命令应用步骤1 中标识的OCR 导出文件来执行导入操作,其中
file_name 是要从中导入OCR 信息的OCR 文件的名称:
ocrconfig -import file_name
4. 通过以root 用户身份使用crsctl start crs 命令,重新启动集群中所有节点上
的Oracle Clusterware。
5. 运行以下集群验证实用程序(CVU) 命令来验证OCR 完整性,其中-n all 参数将检
索配置为集群一部分的所有集群节点的列表:cluvfy comp ocr -n all

发表评论

电子邮件地址不会被公开。