您好,登錄后才能下訂單哦!
Oracle Clusterware由2部分組成,分別是Voting Disk和OCR。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存放的信息是至關重要的,一旦他們丟失或者損壞的話,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信息的重要性,OCR默認會每4小時自動備份一次ocr的內存,保留最新的3個備份,還會保留最近2周周末的備份。備份默認的備份路徑為$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
注意:votedisk可以有多個成員。add voting disk必須是所有服務都關閉的情況下完成。創建的votedisk的個數應該是奇數,只有滿足一半以上的votedisk是正常的crs才能正常運行。例如如果有4個votedisk,那么壞了1個可以正常運行,壞了2個就不能正常運行了。如果有5個的話,壞了3個就不能正常運行了。
添加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最多只能有2個,一個primary ocr,一個mirror 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).
備份、恢復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:
備份:
我們在對集群做任何大的操作的時候,例如,Clusterware升級、環境遷移等都要對Votedisk和OCR進行備份,上面介紹了Votedisk的備份方法,這里介紹一下有關OCR的備份和恢復。
OCR有一套自動備份機制,包含如下的規則:
1.每4個小時自動生成一份OCR備份,并保留最后3個備份。
2.CRSD進程還會在每天開始時生成OCR備份,并保留最后2個備份。
3.CRSD進程還會在每周開始時生成OCR備份,并保留最后2個備份。
請注意:OCR自動備份只會保留在其中一個節點,并不是每個節點都存在自動備份。
通過OCRCONFIG可以查看到OCR自動備份的內容:
[root@rhel1 ~]# /oracle/app/crs/bin/ocrconfig -showbackup
rhel1 2010/10/26 05:20:57 /oracle/app/crs/cdata/crs
rhel1 2010/10/26 01:20:56 /oracle/app/crs/cdata/crs
rhel2 2010/10/24 22:34:18 /oracle/app/crs/cdata/crs
rhel1 2010/10/26 01:20:56 /oracle/app/crs/cdata/crs
rhel1 2010/10/22 23:54:15 /oracle/app/crs/cdata/crs
可以看到ocr備份在rhel1,rhel2都有分布。
切換到自動備份目錄可以看到一共有7個備份,分別是每4小時的備份,保留最近的3個備份,當天生成的OCR備份,保留最近2個備份。還有就是每周生成的備份,保留最近的2個。總共7個。
[root@rac1 ~]# ls -l /oracle/app/crs/cdata/crs
total 23560
-rw-r--r-- 1 root root 4812800 Oct 26 05:20 backup00.ocr
-rw-r--r-- 1 root root 4812800 Oct 26 01:20 backup01.ocr
-rw-r--r-- 1 root root 4812800 Oct 24 15:54 backup02.ocr
-rw-r--r-- 1 root root 4812800 Oct 27 02:10 day_.ocr
-rw-r--r-- 1 root root 4812800 Oct 26 01:20 day.ocr
-rw-r--r-- 1 root root 4812800 Oct 29 23:04 week_.ocr
-rw-r--r-- 1 root root 4812800 Oct 22 23:54 week.ocr
除了上面的自動備份外,在執行大的操作的時候還需要進行手動備份,通過OCRCONFIG命令來執行邏輯手動備份:
[root@rhel1 ~]# /oracle/app/crs/bin/ocrconfig -export ocr_logical_backup -s online
[root@rhel1 ~]# ls -l ocr_logical_backup
-rw-r--r-- 1 root root 103969 Nov 5 20:10 ocr_logical_backup
如果是在線邏輯備份OCR,加入 -s online參數,確保OCR的一致性。
驗證OCR的一致性使用:
/oracle/app/crs/bin/cluvfy comp ocr -n all
另外如果是使用ocfs2集群文件系統,我們可以直接對ocr,vdisk磁盤文件進行拷貝。如果是裸設備使用dd命令來備份ocr也是可以的。
恢復:
1.還原自動備份文件:
[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
2.恢復邏輯備份:
[root@rhel1 ~]# /oracle/app/crs/bin/ocrconfig -import logical_backup.ocr
在對Clusterware做大操作之前都應該養成備份OCR和VOTEDISK的好習慣,并且物理備份和邏輯備份都要有。
注意:ocrconfig在使用-export和-import備份恢復的時候也需要停止crs的運行,來完成。如果想在在線完成這個操作的話,需要在-export的時候指定:-export <filename> [-s online]。
其他:
./ocrconfig -showbackup //查看自動備份。
./ocrconfig -backuploc <dirname> //改變自動備份目錄。
//心跳超時時間
[oracle@rhel1 bin]$ ./crsctl get css misscount
60
//查看crs css evm對應模塊
crsctl lsmodules css|crs|evm
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。