Oracle 10g RAC OCR 和 VotingDisk 的备份与恢复(一)

2014-11-24 12:11:01 · 作者: · 浏览: 0
Oracle RAC 中OCR 和Voting Disk 备份在我的blog:Oracle RAC 常用维护工具和命令 中已经有说明,现在再次把它单独拿出做一个说明, 因为OCR 和Voting Disk 对于RAC 系统来说太重要了。

Oracle RAC 常用维护工具和命令:http://www.2cto.com/database/201202/120555.html

一. Voting Disk
Voting Disk 这个文件主要用于记录节点成员状态,在出现脑裂时,决定那个Partion获得控制权,其他的Partion必须从集群中剔除。Voting disk使用的是一种“多数可用算法”,如果有多个Voting disk,,则必须一半以上的Votedisk同时使用,Clusterware才能正常使用。 比如配置了4个Votedisk,坏一个Votedisk,集群可以正常工作,如果坏了2个,则不能满足半数以上,集群会立即宕掉,所有节点立即重启,所以如果添加Votedisk,尽量不要只添加一个,而应该添加2个。这点和OCR 不一样。OCR 只需配置一个。

查看votedisk的位置:
[root@rac1 ~]# crsctl query css votedisk
0. 0 /dev/raw/raw2
located 1 votedisk(s).

备份votedisk盘:
[root@raw1 bin]# dd if=/dev/raw/raw2 of=/home/oracle/voting_disk.bak
294912+0 records in
294912+0 records out

恢复votedisk盘:
[root@raw1 bin]# dd if=/home/oracle/voting_disk.bak of=/dev/raw/raw2
294912+0 records in
294912+0 records out

通过Strings 命令来查看voting disk 的内容
[root@raw1 oracle]# strings voting_disk.bak |sort -u
fSLC
ssLckcoT
SslcLlik
sSlcrEp0
}|{z


二. OCR

Oracle Clusterware把整个集群的配置信息放在共享存储上,这些信息包括了集群节点的列表、集群 数据库实例到节点的映射以及CRS应用程序资源信息。存放的位置就在OCR Disk上. 在整个集群中,只有一个节点能对OCR Disk 进行读写操作,这个节点叫作Master Node,所有节点都会在内存中保留一份OCR的拷贝,同时有一个OCR Process 从这个内存中读取内容。OCR 内容发生改变时,由Master Node的OCR Process负责同步到其他节点的OCR Process。

因为OCR的内容如此重要,所以Oracle 每4个小时对其做一次备份,并且保留最后的3个备份,以及前一天,前一周的最后一个备份。 这个备份由Master Node CRSD进程完成,备份的默认位置是$CRS_HOME/crs/cdata/目录下,可以通过ocrconfig -backuploc 命令修改到新的目录。 每次备份后,备份文件名自动更改,以反应备份时间顺序,最近一次的备份叫作backup00.ocr。这些备份文件除了保存在本地,DBA还应该在其他存储设备上保留一份,以防止意外的存储故障。

[root@raw1 crs]# pwd
/u01/app/oracle/product/crs/cdata/crs
[root@raw1 crs]# ls -lrt
total 22632
-rw-r--r-- 1 root root 4595712 Mar 9 01:03 backup02.ocr
-rw-r--r-- 1 root root 4620288 Mar 9 21:20 backup01.ocr
-rw-r--r-- 1 root root 4632576 Apr 8 19:46 backup00.ocr
-rw-r--r-- 1 root root 4632576 Apr 8 19:46 day.ocr
-rw-r--r-- 1 root root 4632576 Apr 8 19:46 week.ocr


在安装clusterware过程中,如果选择External Redundancy冗余方式,则只能输入一个OCR磁盘位置。 但是Oracle允许配置两个OCR 磁盘互为镜像,以防止OCR 磁盘的单点故障。OCR 磁盘和Votedisk磁盘不一样,OCR磁盘最多只能有两个,一个Primary OCR 和一个Mirror OCR。

Oracle 推荐在对集群做调整时,比如增加,删除节点之前,修改RAC IP之前,对OCR做一个备份,可以使用export 备份到指定文件,如果做了replace或者restore 等操作,Oracle 建议使用cluvfy comp ocr -n all 命令来做一次全面的检查。对OCR的备份与恢复,我们可以使用ocrconfig 命令。

[root@raw1 bin]# ./ocrconfig --help
Name:
ocrconfig - Configuration tool for Oracle Cluster Registry.
Synopsis:
ocrconfig [option]
option:
-export [-s online]
- Export cluster register contents to a file
-import - Import cluster registry contents from a file
-upgrade [ []]
- Upgrade cluster registry from previous version
-downgrade [-version ]
- Downgrade cluster registry to the specified version
-backuploc - Configure periodic backup location
-showbackup - Show backup information
-restore - Restore from physical backup
-replace ocr|ocrmirror [] - Add/replace/remove a OCR device/file
-overwrite