OCR相當於Windows的註冊表。對於Windows而言,所有的軟體資訊,使用者,配置,安全等等統統都放到註冊表裡邊。而叢集呢,同樣如此,所有和叢集相關的資源,配置,節點,RAC資料庫統統都放在這個倉庫裡。如果OCR被破壞則導致叢集服務啟動異常,需要修複OCR。因此OCR的管理與維護對於整個叢集而言,是相當重要的。本文主要描述了Oracle 10g RAC下的OCR的管理與維護。
[python] view plaincopyprint?
1、環境
oracle@bo2dbp:~> cat /etc/issue
Welcome to SUSE Linux Enterprise Server 10 SP3 (x86_64) - Kernel \r (\l).
oracle@bo2dbp:~> crsctl query crs activeversion
CRS active version on the cluster is [10.2.0.3.0]
2、校正OCR檔案
oracle@bo2dbp:~> ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 2
Total space (kbytes) : 204560
Used space (kbytes) : 6160
Available space (kbytes) : 198400
ID : 1512159503
Device/File Name : /dev/raw/raw1 <-- OCR (primary)
Device/File integrity check succeeded
Device/File not configured <-- OCR Mirror (not configured)
Cluster registry integrity check succeeded
#如果clusterware處於關閉狀態也可通過查詢ocr.loc獲得ocr檔案所在的位置
oracle@bo2dbp:~> more /etc/oracle/ocr.loc
ocrconfig_loc=/dev/raw/raw1
local_only=FALSE
#校正OCR產生的記錄檔
$ORA_CRS_HOME/log/<hostname>/client/ocrcheck_<pid>.log
3、dump OCR的內容
#預設情況下,ocrdump命令匯出檔案被命名為OCRDUMPFILE,其檔案類型為ASCII檔案,如果預設檔案已存在,則收到PROT-303檔案存在提示
#匯出ocr到預設檔案
oracle@bo2dbp:~> ocrdump
oracle@bo2dbp:~> ls -hltr OCRDUMPFILE
-rw-r--r-- 1 oracle oinstall 44K 2013-01-07 14:13 OCRDUMPFILE
oracle@bo2dbp:~> file OCRDUMPFILE
OCRDUMPFILE: ASCII text
#匯出ocr到指定檔案
oracle@bo2dbp:~> ocrdump /tmp/`hostname`_ocrdump_`date +%Y%m%d:%H%M`
oracle@bo2dbp:~> ls /tmp/*ocr*
/tmp/bo2dbp_ocrdump_20130107:1415
#匯出ocr中system.css項的內容
oracle@bo2dbp:~> ocrdump -stdout -keyname SYSTEM.css -xml >ocrdump.xml
oracle@bo2dbp:~> more ocrdump.xml
<OCRDUMP>
<TIMESTAMP>01/07/2013 14:15:42</TIMESTAMP>
<COMMAND>/u01/oracle/crs/bin/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>
............
#匯出ocr中關於ocr的備份情況
oracle@bo2dbp:~> ocrdump -stdout -keyname SYSTEM.OCR -xml>ocrdump_bak.xml