Oracle Clusterware工具3

ocr命令系列

  Oracle Clusterware把整个集群的配置信息放在共享存储上,这个存储就是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/<cluster_name>目录下。每次备份后,备份文件名自动更改,以反应备份时间顺序,最近一次的备份叫作backup00.ocr。这些备份文件除了保存在本地,DBA还应该在其他存储设备上保留一份,以防止意外的存储故障。

命令:ocrdump

  该命令能以ASCII的方式打印出OCR的内容,但是这个命令不能用作OCR的备份恢复,也就是说产生的文件只能用作阅读,而不能用于恢复。

  命令格式:ocrdump [-stdout] [filename] [-keyname name] [-xml]

  参数说明:
  -stdout:把内容打印输出到屏幕上
  Filename:内容输出到文件中
  -keyname:只打印某个键及其子健内容
  -xml:以xml格式打印输出

示例:把SYSTEM.css键的内容以.xml格式打印输出到屏幕

[oracle@node1 bin]$ ./ocrdump -stdout -keyname SYSTEM.css -xml|more

<OCRDUMP>



<TIMESTAMP>06/14/2013 22:59:03</TIMESTAMP>

<COMMAND>./ocrdump.bin -stdout -keyname SYSTEM.css -xml </COMMAND>



<KEY>

<NAME>SYSTEM.css</NAME>

<VALUE_TYPE>UNDEF</VALUE_TYPE>

<VALUE><![CDATA[]]></VALUE>

<USER_PERMISSION>PROCR_ALL_ACCESS</USER_PERMISSION>

<GROUP_PERMISSION>PROCR_READ</GROUP_PERMISSION>

<OTHER_PERMISSION>PROCR_READ</OTHER_PERMISSION>

<USER_NAME>root</USER_NAME>

<GROUP_NAME>root</GROUP_NAME>



<KEY>

<NAME>SYSTEM.css.interfaces</NAME>

<VALUE_TYPE>UNDEF</VALUE_TYPE>

<VALUE><![CDATA[]]></VALUE>

<USER_PERMISSION>PROCR_ALL_ACCESS</USER_PERMISSION>

<GROUP_PERMISSION>PROCR_CREATE_SUB_KEY</GROUP_PERMISSION>

<OTHER_PERMISSION>PROCR_READ</OTHER_PERMISSION>

<USER_NAME>oracle</USER_NAME>

<GROUP_NAME>oinstall</GROUP_NAME>

 

…… 

  这个命令在执行过程中,会在$CRS_HOME/log/<node_name>/client目录下产生日志文件,文件名ocrdump_<pid>.log,如果命令执行出现问题,可以从这个日志查看问题原因。

命令:ocrcheck

  ocrcheck命令用于检查OCR内容的一致性,命令执行过程会在$CRS_HOME/log/nodename/client目录下产生ocrcheck_pid.log日志文件。 这个命令不需要参数。

[oracle@node1 bin]$ ./ocrcheck

Status of Oracle Cluster Registry is as follows :

         Version                  :          2

         Total space (kbytes)     :     104344

         Used space (kbytes)      :       3832

         Available space (kbytes) :     100512

         ID                       :  447841508

         Device/File Name         : /dev/raw/raw1

                                    Device/File integrity check succeeded



                                    Device/File not configured



         Cluster registry integrity check succeeded



[oracle@node1 bin]$ 

命令:ocrconfig

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

[oracle@node1 bin]$ ./ocrconfig –help

Name:

        ocrconfig - Configuration tool for Oracle Cluster Registry.



Synopsis:

        ocrconfig [option]

        option:

                -export <filename> [-s online]

                                                    - Export cluster register contents to a file

                -import <filename>                  - Import cluster registry contents from a file

                -upgrade [<user> [<group>]]

                                                    - Upgrade cluster registry from previous version

                -downgrade [-version <version string>]

                                                    - Downgrade cluster registry to the specified version

                -backuploc <dirname>                - Configure periodic backup location

                -showbackup                         - Show backup information

                -restore <filename>                 - Restore from physical backup

                -replace ocr|ocrmirror [<filename>] - Add/replace/remove a OCR device/file

                -overwrite                          - Overwrite OCR configuration on disk

                -repair ocr|ocrmirror <filename>    - Repair local OCR configuration

                -help                               - Print out this help information



Note:

        A log file will be created in

        $ORACLE_HOME/log/<hostname>/client/ocrconfig_<pid>.log. Please ensure

        you have file creation privileges in the above directory before

        running this tool.



[oracle@node1 bin]$

查看自助备份:

[oracle@node1 bin]$ ./ocrconfig -showbackup



node1     2013/05/26 23:03:03     /opt/ora10g/product/10.2.0/crs_1/cdata/crs



node2     2013/03/24 16:19:28     /opt/ora10g/product/10.2.0/crs_1/cdata/crs



node1     2013/03/24 15:05:35     /opt/ora10g/product/10.2.0/crs_1/cdata/crs



node1     2013/05/26 23:03:03     /opt/ora10g/product/10.2.0/crs_1/cdata/crs



node1     2013/05/26 23:03:03     /opt/ora10g/product/10.2.0/crs_1/cdata/crs

[oracle@node1 bin]$ 

[oracle@node1 bin]$ ls -l /opt/ora10g/product/10.2.0/crs_1/cdata/crs

total 15304

-rw-r--r-- 1 root root 4493312 May 26 23:03 backup00.ocr

-rw-r--r-- 1 root root 2150400 Mar 24 15:05 backup01.ocr

-rw-r--r-- 1 root root 4493312 May 26 23:03 day.ocr

-rw-r--r-- 1 root root 4493312 May 26 23:03 week.ocr

[oracle@node1 bin]$ 

  在缺省情况下,OCR自动备份在$CRS_HOME/CRS/CDATA/cluster_name目录下,可以通过ocrconfig -backuploc <directory_name>命令修改到新目录

使用导出,导入进行备份和恢复:

  Oracle推荐在对集群做调整时,比如增加,删除节点之前,应该对OCR做一个备份,可以使用export备份到指定文件,如果做了replace或者restore等操作,Oracle建议使用cluvfy comp ocr -n all命令来做一次全面的检查。该命令在clusterware的安装软件里。以下操作具有一定破坏性,测试需谨慎!

1.首先关闭所有节点的CRS 

[root@rac1 bin]#./crsctl stop crs 

2.用root用户导出OCR内容

[root@rac1 bin]# ./ocrconfig -export /u01/ocr.exp

3.重启CRS 

[root@rac1 bin]# ./crsctl start crs

4.检查CRS状态 

[root@rac1 bin]# ./crsctl check crs 

CSS appears healthy 

CRS appears healthy 

EVM appears healthy

5.破坏OCR内容 

[root@rac1 bin]# dd if=/dev/zero of=/dev/raw/raw1 bs=1024 count=102400 

102400+0 records in 

102400+0 records out 

6.检查OCR一致性 

[root@rac1 bin]# ./ocrcheck 

PROT-601: Failed to initialize ocrcheck

7.使用cluvfy工具检查一致性 

[root@rac1 cluvfy]# ./runcluvfy.sh comp ocr -n all 

Verifying OCR integrity 

Unable to retrieve nodelist from Oracle clusterware. 

Verification cannot proceed. 

8.使用Import恢复OCR内容 

[root@rac1 bin]# ./ocrconfig -import /u01/ocr.exp 

9.再次检查OCR 

[root@rac1 bin]# ./ocrcheck 

10.使用cluvfy工具检查 

[root@rac1 cluvfy]# ./runcluvfy.sh comp ocr -n all

移动ocr文件位置:

实例演示将OCR从/dev/raw/raw1移动到/dev/raw/raw3上。 

1.查看是否有OCR备份 

[root@rac1 bin]#./ocrconfig -showbackup 

如果没有备份,可以立即执行一次导出作为备份: 

[root@rac1 bin]#./ocrconfig -export /u01/ocrbackup -s online 

2.查看当前OCR配置 

[root@rac1 bin]# ./ocrcheck 

3.添加一个Mirror OCR 

[root@rac1 bin]#./ocrconfig -replace ocrmirror /dev/raw/raw4 

4.确认添加成功 

[root@rac1 bin]#./ocrcheck

5.改变primary OCR位置 

[root@rac1 bin]#./ocrconfig -replace ocr /dev/raw/raw3 

确认修改成功: 

[root@rac1 bin]#./ocrcheck

6.使用ocrconfig命令修改后,所有RAC节点上的/etc/oracle/ocr.loc文件内容也会自动同步了,如果没有自动同步,可以手工的改成以下内容。 

[root@rac1 bin]#more /etc/oracle/ocr.loc 

ocrconfig_loc=/dev/raw/raw1 

Ocrmirrorconfig_loc=/dev/raw/raw3 

local_only=FALSE

--整理自《大话 oracle  rac》

 

你可能感兴趣的:(cluster)