您好,登錄后才能下訂單哦!
文檔內容
目標 |
解決方案 |
準備磁盤 |
1. 磁盤大小 |
2. 裸設備或者塊設備 (pre 11.2) |
3. ASM disks (11.2+) |
4. 集群文件系統 |
5. 權限 |
6. 冗余 |
添加/刪除/替換/移動 OCR device |
1. 當只有一個 OCR 設備時,添加一個 OCRMIRROR 設備: |
2. 刪除一個 OCR 設備 |
3. 替換或者移動 OCR 設備位置 |
4. 當集群停止時如何恢復 OCR |
添加/刪除/移動 voting disk |
對應于 10gR2 版本 |
對于 11gR1 版本 |
對于 11gR2 版本 |
對于 修改在線的OCR或者Vote file 的操作: |
對于 Extended Cluster 上 Voting disk 維護 |
參考 |
提供在 Oracle Clusterware 10gR2, 11gR1 和 11gR2 環境中添加,刪除,替換,移動 Oracle Cluster Repository (OCR) 和/或 Voting Disk 的步驟。并且包括了把OCR/voting 從裸設備移動到塊設備和ASM 設備的步驟。對于 Oracle Clusterware 12c,請參考 Document 1558920.1 Software Patch Level and 12c Grid Infrastructure OCR Backup/Restore。
本文適用于需要修改,移動 OCR,voting disk 的 DBA 和技術支持工程師,客戶已經在一套存儲上部署了集群環境,可能需要在最短的停機時間內遷移到新的存儲。
通常來說,一旦存儲已經存在,那么可以通過 cp 或者 dd 文件,但是對于集群來說是有一些困難的,這是因為:
1. Oracle Clusterware 的 OCR 和 voting disks 是聯機使用的。(包括primary和鏡像)
2. 與 cp 和 dd 命令相比,Oracle提供的 API(ocrconfig and crsctl)更適合用來實現這些功能。
執行操作之前,請備份 OC R和 voting disk。
為了添加或者替換 OCR 或 voting disk,請提前準備新的磁盤。請參考各個平臺 Clusteware/Gird Infrastructure 安裝文檔中關于磁盤的要求。
版本 10.1:
OCR device minimum size (each): 100M
Voting disk minimum size (each): 20M
版本 10.2:
OCR device 最小值 (每個): 256M
Voting disk最小值 (每個): 256M
版本 11.1:
OCR device 最小值 (每個): 280M
Voting disk 最小值 (每個): 280M
版本 11.2:
OCR device 最小值 (每個): 300M
Voting disk 最小值 (每個): 300M
請參考各個平臺 Clusteware/Gird Infrastructure 安裝文檔。
對于windows平臺,請使用命令$CRS_HOME\bin\GUIOracleOBJManager.exe創建新的裸設備鏈接,例如:
\\.\VOTEDSK2
\\.\OCR2
在windows平臺,請參考 Document 331796.1 How to setup ASM on Windows
在Linux平臺,請參考 Document 580153.1 How To Setup ASM on Linux Using ASMLIB Disks, Raw Devices or Block Devices?
其他平臺,請參考 Clusterware/Gird Infrastructure安裝手冊 OTN (Chapter: Oracle Automatic Storage Management Storage Configuration)。
如果 OCR 在集群文件系統上,在添加/替換之前,新的 OCR 或者 OCRMIRROR 文件必需提前創建,否則會出現PROT-21: Invalid parameter (10.2/11.) or PROT-30 The Oracle Cluster Registry location to be added is not accessible (針對版本11.2)錯誤。
不需要提前在集群文件系統上創建 voting disk 文件。
執行刪除命令后,需要手動在集群文件系統上刪除 ocr/voting 文件。
對于 OCR 設備:
chown root:oinstall
chmod 640
對于 Voting 設備:
chown :oinstall
chmod 644
如果 OCR/Voting disk 使用 ASM 磁盤:
chown griduser:asmadmin
chmod 660
Voting 磁盤(不要使用偶數個):
External 需要最少1個 Voting 磁盤(或者1個 failure group)
Normal 需要最少3個 Voting 磁盤(或者3個 failure group)
High 需要最少5個 Voting 磁盤(或者5個 failure group)
缺少 failure group 會引起 voting disk 創建失敗。例如 ORA-15274: Not enough failgroups (3) to create voting files
OCR:
10.2 和 11.1,最多2個 OCR 設備:OCR 和 OCRMIRROR
11.2+,最多5個 OCR。
請參考各個平臺對應文檔 Oracle? Grid Infrastructure Installation Guide 獲得更多信息
在做任何改變前確保有一個近期的 OCR 文件備份:
ocrconfig -showbackup
如果沒有近期的 OCR 文件備份,可以 export 當前的 OCR 文件。使用下面的命令生成一個在線 OCR 文件的導出文件:
版本 10.2
# ocrconfig -export -s online
版本 11.1 和 11.2
# ocrconfig -manualbackup
node1 2008/08/06 06:11:58 /crs/cdata/crs/backup_20080807_003158.ocr
使用導出文件來恢復 OCR,執行下面命令:
從 11.2 開始,請參考 How to restore ASM based OCR after complete loss of the CRS diskgroup on Linux/Unix systems Document 1062983.1
檢查 OCR 是否健康,運行 ocrcheck 命令,應該返回下面的信息:
# ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 2
Total space (kbytes) : 497928
Used space (kbytes) : 312
Available space (kbytes) : 497616
ID : 576761409
Device/File Name : /dev/raw/raw1
Device/File integrity check succeeded
Device/File Name : /dev/raw/raw2
Device/File integrity check succeeded
Cluster registry integrity check succeeded
對于11.1及以上版本, ocrcheck 命令還應該返回:
Logical corruption check succeeded
添加一個 OCR mirror 設備,提供全路徑包括文件名。
10.2 和 11.1:
# ocrconfig -replace ocrmirror
eg:
# ocrconfig -replace ocrmirror /dev/raw/raw2
# ocrconfig -replace ocrmirror /dev/sdc1
# ocrconfig -replace ocrmirror /cluster_fs/ocrdisk.dat
> ocrconfig -replace ocrmirror \\.\OCRMIRROR2 - for Windows
11.2+: 版本 11.2 之后,最多可添加4個 ocrmirrors
# ocrconfig -add
eg:
# ocrconfig -add +OCRVOTE2
# ocrconfig -add /cluster_fs/ocrdisk.dat
刪除一個 OCR 設備:
10.2 和 11.1:
# ocrconfig -replace ocr
11.2+:
# ocrconfig -delete
eg:
# ocrconfig -delete +OCRVOTE1
* 一旦 OCR 設備被刪除,ocrmirror 設備自動轉換為 OCR。
* 如果只有一個 OCR 設備,那么不允許刪除 OCR ,命令將會返回錯誤 PROT-16。
刪除 OCR mirror 設備:
10.2 和 11.1:
# ocrconfig -replace ocrmirror
11.2+:
# ocrconfig -delete
eg:
# ocrconfig -delete +OCRVOTE2
如果是集群文件系統,那么刪除之后,舊的 OCR/OCRMIRROR 文件可以被刪除。
10.2 和 11.1:
替換 OCR 設備,提供全路徑包括文件名:
# ocrconfig -replace ocr
eg:
# ocrconfig -replace ocr /dev/sdd1
$ ocrconfig -replace ocr \\.\OCR2 - for Windows
替換 OCR mirror 設備,提供全路徑包括文件名:
# ocrconfig -replace ocrmirror
eg:
# ocrconfig -replace ocrmirrow /dev/raw/raw4
# ocrconfig -replace ocrmirrow \\.\OCRMIRROR2 - for Windows
11.2:
替換 OCR 或者 OCRMIRRORs 的命令和之前版本是相同的(至少2個 OCR 存在):
如果 OCR 不可訪問,CRSD 進程將不會啟動,因此集群將不能完全啟動。恢復 OCR 需要訪問好的 OCR 備份,查看自動 OCR 備份:
從OCR 備份恢復:
對于 11.2: 如果 OCR 位于 ASM 磁盤,但是 ASM DISK 也丟失了,請參考:
How to restore ASM based OCR after complete loss of the CRS diskgroup on Linux/Unix systems Document 1062983.1
How to Restore OCR After the 1st ASM Diskgroup is Lost on Windows Document 1294915.1
如果沒有有效的 OCR 備份,那么需要重新初始化 OCR 和 voting。
對于10.2 和 11.1:
請參考 How to Recreate OCR/Voting Disk Accidentally Deleted Document 399482.1
對于 11.2:
需要在集群的所有節點deconfig 集群軟件并且重新運行roo.sh 腳本。
對于 11.2 之前,備份 voting disk:
$ dd if=voting_disk_name of=backup_file_name
對于 Windows:
ocopy \\.\votedsk1 o:\backup\votedsk1.bak
對于 11.2+,不需要備份 voting disk,在發生任何配置變化是voting disk 會被自動備份到 OCR 上。如果 voting disk 中的內容發生了以下變化之一, Oracle Clusterware 會自動備份 voting disk:
配置參數,比如 misscount 被添加或者修改
執行 voting disk 添加或者刪除操作
當添加或者替換 voting disk后,voting disk 內容會從VF備份中自動恢復到新的VF中。
修改任何 voting disk 前,停止 oracle 集群(使用 root 用戶執行 crsctl stop crs)。查看當前 voting disk 位置:
crsctl query css votedisk
1. 添加一個 Voting Disk,提供全路徑包括文件名:
# crsctl add css votedisk -force
eg:
# crsctl add css votedisk /dev/raw/raw1 -force
# crsctl add css votedisk /cluster_fs/votedisk.dat -force
> crsctl add css votedisk \\.\VOTEDSK2 -force - for windows
2. 刪除一個 Voting Disk,提供全路徑包括文件名:
# crsctl delete css votedisk -force
eg:
# crsctl delete css votedisk /dev/raw/raw1 -force
# crsctl delete css votedisk /cluster_fs/votedisk.dat -force
> crsctl delete css votedisk \\.\VOTEDSK1 -force - for windows
3. 移動一個 Voting Disk,提供全路徑包括文件名,先添加一個設備,然后刪除舊的:
# crsctl add css votedisk -force
# crsctl delete css votedisk -force
eg:
# crsctl add css votedisk /dev/raw/raw4 -force
# crsctl delete css votedisk /dev/raw/raw1 -force
修改 Voting Disk 后,在所有節點啟動 oracle 集群
# crsctl start crs
確認 Voting Disk 位置:
# crsctl query css votedisk
從 11.1.0.6 開始,下面的命令可以在線執行(CRS 正在運行)
1. 添加一個 Voting Disk,提供全路徑包括文件名:
2. 刪除一個 Voting Disk,提供全路徑包括文件名:
3. 移動一個Voting Disk, 提供全路徑包括文件名
確認 Voting Disk 位置:
從 11.2開始,Voting Disk 可以存放于 ASM 磁盤組或者集群文件系統,當 Grid Infrastructure 運行是,執行下面的命令,以 grid 用戶:
1. 添加一個 Voting Disk
a. 當 votedisk 位于集群文件系統:
b. 當 votedisk 位于 ASM 磁盤組,沒有添加選項。
Votedisk 數量是由磁盤組冗余度決定。如果希望更多 votedisk 副本,可以移動 votedisk 到更高冗余度的磁盤組。見步驟4。
如果 votedisk 從一個正常或者高冗余度的磁盤組被刪除,可以使用下面的命令添加回來:
2. 刪除一個Voting Disk
a. 當 Voting Disk 位于集群文件系統時:
b. 當 Voting Disk 位于 ASM時,沒有刪除選項,只能從一個 asm 磁盤組替換為另外一個 asm 磁盤組。
3. 在集群文件系統上移動一個 Voting Disk
4. ASM 磁盤組冗余度或者位置變化
例子:從外部冗余磁盤組 +OCRVOTE 移動到正常冗余磁盤組 +CRS
5. 在 ASM 磁盤組和集群文件系統之間移動 voting disk
a. ASM 磁盤組移動到集群文件系統:
b. 從集群文件系統移動到 ASM 磁盤組
6. 確認:
對于存儲的遷移,如果使用的是asm的磁盤組而且保持原來的大小、磁盤組、冗余方式都不改變的話,我們可以直接采取添加新的faiure group (磁盤)的方式,然后drop掉舊的failure group(磁盤),來達到更換磁盤的目的。
更多操作信息,請參考How to Swap Voting Disks Across Storage in a Diskgroup (Doc ID 1558007.1)和Exact Steps To Migrate ASM Diskgroups To Another SAN/Disk-Array/DAS/etc Without Downtime. (Doc ID 837308.1)
請參考 oracle 白皮書: Oracle Clusterware 11g Release 2 (11.2) – Using standard NFS to support a third voting file for extended cluster configurations
如果使用 asmca 工具有任何問題,請參考 How to Manually Add NFS voting disk to an Extended Cluster using ASM in 11.2 Note 1421588.1 。
2. OCR卷組調整步驟 4
2.1. 添加新存儲 4
2.2. 多路徑綁定配置 4
2.3. ASMLib配置 4
2.4. 備份OCR 5
2.5. 新建OCR卷組 5
2.6. 替換VOTE 6
2.7. 替換OCR 6
2.8. 遷移ASM SPFILE 7
2.9. 確認老OCR磁盤組是否還有其他文件 8
2.10. 刪除老OCR卷組 8
2.11. 刪除磁盤 8
建立Normal冗余級別的OCR卷組,需要至少3個LUN,每個LUN最少容量為1GB,需要在存儲端配置3個LUN至RAC集群中的各個節點。
配置/etc/multipatch.conf,添加新磁盤的UUID,假設多路徑綁定之后的路徑為/dev/mapper/newocr1、/dev/mapper/newocr2、/dev/mapper/newocr3,并且重新加載Mutilpathd服務生效。
節點1操作如下:
將新加的3個LUN添加到ASMLIB中
# /usr/sbin/oracleasm createdisk OCRNEW1 /dev/mapper/newocr1
# /usr/sbin/oracleasm createdisk OCRNEW2 /dev/mapper/newocr2
# /usr/sbin/oracleasm createdisk OCRNEW3 /dev/mapper/newocr3
節點2:
掃描新加的3個LUN:
# /usr/sbin/oracleasm scandisks
# /usr/sbin/oracleasm listdisks
--邏輯備份恢復
ocrconfig -export /oracle/app/11.2.0/grid/cdata/ZFTPCCDB-crs/export_asm.bak
--物理備份恢復
ocrconfig -manualbackup
ocrconfig -showbackup
ocrcheck
set line 9999
set pagesize 9999
col path format a60
SELECT a.group_number, disk_number,mount_status, a.name, path FROM v$asm_disk a order by a.disk_number;
set line 999
select name,state,free_mb,required_mirror_free_mb,usable_file_mb,a.group_number, disk_number,mount_status, path from v$asm_diskgroup a;
select a.group_number,name,TYPE,state,TOTAL_MB,free_mb from v$asm_diskgroup a;
select name,state,free_mb,required_mirror_free_mb,usable_file_mb,a.group_number from v$asm_diskgroup a;
節點1新建Normal冗余級別的ASM卷組
sqlplus / as sysasm
create diskgroup newocr normal redundancy disk
'/dev/oracleasm/disks/neworc1',
'/dev/oracleasm/disks/neworc2',
'/dev/oracleasm/disks/neworc3'
attribute 'compatible.asm'='11.2','compatible.rdbms'='11.2';
節點1執行mount磁盤組:
ALTER DISKGROUP NEWOCR MOUNT;
crsctl stat res -t
在其中一個節點,root用戶下執行:
替換VOTE
crsctl replace votedisk +newocr
確認
crsctl query css votedisk
[root@node1 ~]# crsctl replace votedisk +OCR
Successful addition of voting disk 83fc22d0d6164fd2bfc2c48c9edcd64d.
Successful deletion of voting disk afbe52656e124f8ebff3f7236ed85e32.
Successfully replaced voting disk group with +OCR.
CRS-4266: Voting file(s) successfully replaced
[root@node1 ~]# crsctl query css votedisk
## STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE 83fc22d0d6164fd2bfc2c48c9edcd64d (ORCL:OVDISK) [OCR]
Located 1 voting disk(s).
[root@node1 ~]#
在grid用戶下執行
Node1:
ocrconfig -add +newocr
ocrconfig -delete +ocr
more /etc/oracle/ocr.loc
[root@node1 ~]# ocrconfig -add +OCR
[root@node1 ~]# more /etc/oracle/ocr.loc
#Device/file getting replaced by device +OCR
ocrconfig_loc=+TEST
ocrmirrorconfig_loc=+OCR
local_only=false
[root@node1 ~]# ocrconfig -delete +TEST
[root@node1 ~]# more /etc/oracle/ocr.loc
#Device/file +TEST getting replaced by device +OCR
ocrconfig_loc=+OCR
local_only=false
[root@node1 ~]#
Node2不用執行:
ocrconfig -repair -add +newocr
ocrconfig -repair -delete +ocr
[root@node2 ~]# crsctl query css votedisk
## STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE afbe52656e124f8ebff3f7236ed85e32 (/dev/asm-diskb) [TEST]
Located 1 voting disk(s).
[root@node2 ~]# crsctl query css votedisk
## STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE 83fc22d0d6164fd2bfc2c48c9edcd64d (ORCL:OVDISK) [OCR]
Located 1 voting disk(s).
[root@node2 ~]# more /etc/oracle/ocr.loc
#Device/file +OVDISK getting replaced by device +TEST
ocrconfig_loc=+TEST
local_only=false
[root@node2 ~]# more /etc/oracle/ocr.loc
#Device/file getting replaced by device +OCR
ocrconfig_loc=+TEST
ocrmirrorconfig_loc=+OCR
local_only=false
[root@node2 ~]# more /etc/oracle/ocr.loc
#Device/file +TEST getting replaced by device +OCR
ocrconfig_loc=+OCR
local_only=false
[root@node2 ~]#
在GRID用戶下任一節點執行
$ asmcmd
查看當前的ASMSPFILE
ASMCMD> spget
復制SPFILE至新卷組
ASMCMD> spcopy -u +CRSDG/xx/asmparameterfile/registry.xx +newocr/spfileASM.ora
查看新SPFILE絕對路徑
ASMCMD> ls -l +newocr/spfileASM.ora
+NEWOCR/XX/ASMPARAMETERFILE/REGISTRY.253.833623103
ASMCMD>spset +NEWOCR/XX/ASMPARAMETERFILE/REGISTRY.253.833623103
修改兩個節點ORACLE用戶下$ORACLE_HOME/dbs/init.ora文件內容
SPFILE='+newocr/spfileASM.ora'
[grid@node1 ~]$ asmcmd
ASMCMD> spget
+TEST/node-cluster/ASMPARAMETERFILE/REGISTRY.253.936725677
ASMCMD> spcopy -u +TEST/node-cluster/ASMPARAMETERFILE/REGISTRY.253.936725677 +OCR/spfileASM.ora
ASMCMD> ls -l +ocr/spfileASM.ora
Type Redund Striped Time Sys Name
N spfileASM.ora => +OCR/node-cluster/ASMPARAMETERFILE/REGISTRY.253.936729105
ASMCMD> spset +OCR/node-cluster/ASMPARAMETERFILE/REGISTRY.253.936729105
ASMCMD> spget
+OCR/node-cluster/ASMPARAMETERFILE/REGISTRY.253.936729105
ASMCMD>
重啟集群后:
節點2:
su - grid
sqlplus / as sysasm
alter diskgroup OCR dismount;
exit
節點1:
su - grid
sqlplus / as sysasm
drop diskgroup ocr;
drop diskgroup OVDISK INCLUDING CONTENTS;
drop diskgroup OVDISK FORCE INCLUDING CONTENTS;
任一節點ROOT用戶下操作:
# /usr/sbin/oracleasm dropdisk OCR
刪除多路徑綁定配置,刪除配置/etc/multipatch.conf中原有OCR盤內容。
最后從存儲上刪除到2個節點的映射。
About Me
...............................................................................................................................
● 本文整理自網絡
● 本文在itpub(http://blog.itpub.net/26736162)、博客園(http://www.cnblogs.com/lhrbest)和個人微信公眾號(xiaomaimiaolhr)上有同步更新
● 本文itpub地址:http://blog.itpub.net/26736162/abstract/1/
● 本文博客園地址:http://www.cnblogs.com/lhrbest
● 本文pdf版及小麥苗云盤地址:http://blog.itpub.net/26736162/viewspace-1624453/
● 數據庫筆試面試題庫及解答:http://blog.itpub.net/26736162/viewspace-2134706/
● QQ群:230161599 微信群:私聊
● 聯系我請加QQ好友(646634621),注明添加緣由
● 于 2017-06-02 09:00 ~ 2017-06-30 22:00 在魔都完成
● 文章內容來源于小麥苗的學習筆記,部分整理自網絡,若有侵權或不當之處還請諒解
● 版權所有,歡迎分享本文,轉載請保留出處
...............................................................................................................................
拿起手機使用微信客戶端掃描下邊的左邊圖片來關注小麥苗的微信公眾號:xiaomaimiaolhr,掃描右邊的二維碼加入小麥苗的QQ群,學習最實用的數據庫技術。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。