Voting Disk和OCR是Oracle Clusterware的2部分。Voting Disk里面记录着节点成员的信息。如RAC数据库中有哪些节点成员,节点增加或者删除时也同样会将信息记录进来。Voting Disk必须存放在共享存储上,通常来说是存放在裸设备上。为了保证Voting Disk的安全,需要配置多个Voting Disk,Oracle建议Voting Disk的个数应该为奇数个,如 1、3、5个,每个Voting Disk的大小约为20MB。
OCR 记录的是节点成员的配置信息,如数据库、ASM、实例、监听器、VIP等CRS资源的配置信息。CRS进程管理的信息来自OCR的内容。OCR存储的配置信息是以目录树的形式来记录一系列“键-值”对应信息的。OCR记录着 CRS进程管理资源的所有配置信息。大小约为100MB。
对Voting Disk的更改必须用root来进行。
添加一个Voting Disk成员:crsctl add css votedisk /dev/raw/raw3'
删除一个Voting Disk成员:crsctl delete css votedisk /dev/raw/raw3'
对OCR的增加、删除和替代配置可以由root用户通过ocrconfig -replace来操作:
ocrconfig -replace /dev/raw/raw1
注意:增加、删除Voting Disk及恢复Voting Disk和OCR时,RAC中的所有资源都必须停止。
Voting Disk和OCR存放的信息是至关重要的,一旦他们丢失或者损坏的话,Clusterware将无法启动,这样整个RAC都无法启动。因此需要对Voting Disk和OCR进行完备的备份。
对Voting Disk的备份操作可以通过dd命令来操作。
查看位置:
#crsctl query css votedisk
备份操作:
#dd if=/dev/raw/raw2 f=/home/oracle/voting_disk.bak
恢复操作:
#dd if=/home/oracle/voting_disk.bak f=/dev/raw/raw2
默认情况下,RAC会在其中一个节点上每4个小时都自动备份一次OCR。并保留最近的3次备份,另外还保留最近两天以及最近两个周末的备份。这个可以通过命令ocrconfig -showbackup来查看。OCR默认的备份路径为$CRS_HOME/cdata/crs。可以通过ocrconfig -backuploc来更改OCR的备份路径。OCR自动备份的时间间隔无法修改。我们还可以通过ocrconfig -export 来到处OCR的内容,也可以通过通过ocrconfig -import导入OCR的内容。
可以用ocrconfig -restore 命令对OCR进行恢复。
./ocrconfig -restore /u01/oracle/product/10g/crs/cdata/crs/backup00.ocr
添加Voting Disk:
- [root@rhel1 bin]#./crsctl add css votedisk /u01/ocfs2fs/vdisk2
- Cluster is not in a ready state for online disk addition
- [root@rhel1 bin]#./crsctl add css votedisk /u01/ocfs2fs/vdisk2-force
- Now formatting voting disk: /u01/ocfs2fs/vdisk2
- successful addition of votedisk /u01/ocfs2fs/vdisk2. chown oracle:oinstall /u01/ocfs2fs/vdisk2
- chmod 775 /u01/ocfs2fs/vdisk2
- [root@rhel1 bin]# /etc/init.crs start
- [root@rhel1 bin]#./crsctl query css votedisk
- 0. 0 /u01/ocfs2fs/vdisk
- 1. 0 /u01/ocfs2fs/vdisk2
注意:add voting disk必须是所有服务都关闭的情况下完成。
#p#
添加OCR镜像:
- [root@rhel1 bin]# touch /u01/ocfs2fs/ocr2
- [root@rhel1 bin]#./ocrconfig -replace ocrmirror /u01/ocfs2fs/ocr2
- [root@rhel1 bin]#./ocrcheck
- Status of Oracle Cluster Registry is as follows :
- Version : 2
- Total space (kbytes) : 262120
- Used space (kbytes) : 2756
- Available space (kbytes) : 259364
- ID : 2062708016
- Device/File Name : /u01/ocfs2fs/ocr
- Device/File integrity check succeeded
- Device/File Name : /u01/ocfs2fs/ocr2
- Device/File integrity check succeeded
- Cluster registry integrity check succeeded
注意:add ocr可以是在线完成。
删除OCR镜像:
- [root@rhel1 bin]#./ocrconfig -replace ocrmirror
- [root@rhel1 bin]#./ocrcheck
- Status of Oracle Cluster Registry is as follows :
- Version : 2
- Total space (kbytes) : 262120
- Used space (kbytes) : 2756
- Available space (kbytes) : 259364
- ID : 2062708016
- Device/File Name : /u01/ocfs2fs/ocr
- Device/File integrity check succeeded
- Device/File not configured
- Cluster registry integrity check succeeded
- [root@rhel1 bin]#cat /etc/oracle/ocr.loc
- #Device/file /u01/ocfs2fs/ocr2 being deleted
- ocrconfig_loc=/u01/ocfs2fs/ocr
删除Voting Disk:
- [root@rhel1 bin]#./crsctl delete css votedisk /u01/ocfs2fs/vdisk2
- Cluster is not in a ready state for online disk removal
- [root@rhel1 bin]#./crsctl stop crs
- Stopping resources. This could take several minutes.
- Successfully stopped CRS resources.
- Stopping CSSD.
- Shutting down CSS daemon.
- Shutdown request successfully issued.
- [root@rhel1 bin]# ./crsctl delete css votedisk /u01/ocfs2fs/vdisk2
- Cluster is not in a ready state for online disk removal
- [root@rhel1 bin]#./crsctl delete css votedisk /u01/ocfs2fs/vdisk2-force
- successful deletion of votedisk /u01/ocfs2fs/vdisk2.
- [root@rhel1 bin]#./crsctl query css votedisk
- 0. 0 /u01/ocfs2fs/vdisk
- located 1 votedisk(s).
#p#
备份、恢复Voting Disk:
- [root@rhel1 bin]#./crsctl check crs
- Failure 1 contacting CSS daemon
- Cannot communicate with CRS
- Cannot communicate with EVM
- [root@rhel1 bin]# dd if=/u01/ocfs2fs/vdisk f=/home/oracle/vdisk_bak //备份,ocfs2也可直接copy
- 20000+0 records in
- 20000+0 records out
- 10240000 bytes (10 MB) copied, 0.301106 seconds, 34.0 MB/s
- [root@rhel1 bin]# rm -rf /u01/ocfs2fs/vdisk
- [root@rhel1 bin]#dd if=/home/oracle/vdisk_bak f=/u01/ocfs2fs/vdisk //恢复,ocfs2也可直接copy
- 20000+0 records in
- 20000+0 records out
- 10240000 bytes (10 MB) copied, 0.173678 seconds, 59.0 MB/s
- [root@rhel1 bin]# chown oracle:oinstall /u01/ocfs2fs/vdisk
- [root@rhel1 bin]# chmod 775 /u01/ocfs2fs/vdisk
- [root@rhel1 bin]#/etc/init.d/init.crs start
- Startup will be queued to init within 30 seconds.
- [root@rhel1 bin]#./crsctl check crs
- CSS appears healthy
- CRS appears healthy
- EVM appears healthy
备份、恢复OCR:
- [root@rhel1 bin]# ./crsctl stop crs
- Stopping resources. This could take several minutes.
- Successfully stopped CRS resources.
- Stopping CSSD.
- Shutting down CSS daemon.
- Shutdown request successfully issued.
- [root@rhel1 bin]# cat /etc/oracle/ocr.loc
- #Device/file /u01/ocfs2fs/ocr2 being deleted
- ocrconfig_loc=/u01/ocfs2fs/ocr
- local_only=false
- [root@rhel1 bin]# mv /u01/ocfs2fs/ocr /u01/ocfs2fs/ocr_bak
- [root@rhel1 crs_1]# cd cdata
- [root@rhel1 cdata]# cd crs
- [root@rhel1 crs]# ll
- total 23144
- -rwxrwxr-x 1 oracle dba 3514368 Mar 1 11:00 13968559
- -rwxrwxr-x 1 oracle dba 3514368 Mar 1 07:00 33426182
- -rw-r--r-- 1 root root 3182592 Mar 8 15:17 34809936
- -rwxrwxr-x 1 oracle dba 3514368 Feb 27 09:38 backup00.ocr
- -rwxrwxr-x 1 oracle dba 3514368 Feb 8 06:02 backup01.ocr
- -rwxrwxr-x 1 oracle dba 2142208 Nov 8 19:25 backup02.ocr
- -rwxrwxr-x 1 oracle dba 2142208 Nov 8 19:25 day.ocr
- -rwxrwxr-x 1 oracle dba 2142208 Nov 8 19:25 week.ocr
- [root@rhel1 crs]# cd ../../bin
- [root@rhel1 bin]# ./ocrconfig -restore /u01/app/oracle/crs_1/cdata/crs/backup02.ocr
- PROT-16: Internal Error
- [root@rhel1 bin]#touch /u01/ocfs2fs/ocr
- [root@rhel1 bin]#./ocrconfig -restore /u01/app/oracle/crs_1/cdata/crs/backup02.ocr
- [root@rhel1 bin]# ./crsctl start crs
- Attempting to start CRS stack
- The CRS stack will be started shortly
- [root@rhel1 bin]# ./crsctl check crs
- CSS appears healthy
- CRS appears healthy
- EVM appears healthy
查看和改变自动备份目录的命令如下:
./ocrconfig -showbackup //查看自动备份。
./ocrconfig -backuploc
【编辑推荐】