您好,登錄后才能下訂單哦!
實驗環境:
centos6.4
oracle 11.2.0.4
--
使用的是udev方式映射的raw,然后做的是asm
---
本來想把sdb,sdc這個塊磁盤替換掉。
sdb => 1g:sdb1,sdb2,sdb3. 2g:sdb5,sdb6,sdb7
sdc => 2g:sdc1,sdc2,sdc3,sdc5,sdc6
做成了2個磁盤組
OCR sdb1,sdb2,sdb3 raw1,raw2,raw3,raw4
DATA sdb5,sdb6,sdb7 sdc1 raw5 ,raw6,raw7,raw8
FRA sdc2,sdc3,sdc5,sdc6 raw9 ,raw10,raw11,raw12
asm磁盤組的磁盤不建議用擴展分區,
--------
想把這2塊盤換掉
退出虛擬機,又加了2塊磁盤
sdd :1g:sdd1,sdd2,sdd3. 2g:sdd5,sdd6,sdd7
sde :2g:sde1,sde2,sde3,sde5,sde6
然后在/etc/udev/rules.d/60-raw.rules 添加下面內容
ACTION=="add", KERNEL=="sdd1", RUN+="/bin/raw /dev/raw/raw12 %N"
ACTION=="add", KERNEL=="sdd2", RUN+="/bin/raw /dev/raw/raw13 %N"
ACTION=="add", KERNEL=="sdd3", RUN+="/bin/raw /dev/raw/raw14 %N"
ACTION=="add", KERNEL=="sdd5", RUN+="/bin/raw /dev/raw/raw15 %N"
ACTION=="add", KERNEL=="sdd6", RUN+="/bin/raw /dev/raw/raw16 %N"
ACTION=="add", KERNEL=="sdd7", RUN+="/bin/raw /dev/raw/raw17 %N"
ACTION=="add", KERNEL=="sde1", RUN+="/bin/raw /dev/raw/raw18 %N"
ACTION=="add", KERNEL=="sde2", RUN+="/bin/raw /dev/raw/raw19 %N"
ACTION=="add", KERNEL=="sde3", RUN+="/bin/raw /dev/raw/raw20 %N"
ACTION=="add", KERNEL=="sde5", RUN+="/bin/raw /dev/raw/raw21 %N"
ACTION=="add", KERNEL=="sde6", RUN+="/bin/raw /dev/raw/raw22 %N"
KERNEL=="raw[1-9]",OWNER="grid",GROUP="asmadmin" MODE="660"
KERNEL=="raw1[0-9]",OWNER="grid",GROUP="asmadmin" MODE="660"
KERNEL=="raw2[0-2]",OWNER="grid",GROUP="asmadmin" MODE="660"
---
然后進如asm實例
su - grid
sqlplus / as sysasm
select name,path from v$asm_disk;
name path
------- ----------
OCR_0000 /dev/raw/raw1
OCR_0001 /dev/raw/raw2
OCR_0002 /dev/raw/raw3
DATA_0000 /dev/raw/raw4
DATA_0001 /dev/raw/raw5
DATA_0002 /dev/raw/raw6
DATA_0003 /dev/raw/raw7
FRA_0000 /dev/raw/raw8
FRA_0001 /dev/raw/raw9
FRA_0002 /dev/raw/raw10
FRA_0003 /dev/raw/raw11
發現到了新添加的磁盤
然后進行替換
-
OCR
alter diskgroup ocr add disk '/dev/raw/raw12','/dev/raw/raw13','/dev/raw/raw14';
alter diskgroup ocr drop disk 'OCR_0000','OCR_0001','OCR_0002';
-
DATA
alter diskgroup data add disk '/dev/raw/raw15','/dev/raw/raw16','/dev/raw/raw17','/dev/raw/raw18';
alter diskgroup data drop disk 'DATA_0000','DATA_0001','DATA_0002','DATA_0003';
--
FRA
alter diskgroup fra add disk '/dev/raw/raw19','/dev/raw/raw20','/dev/raw/raw21','/dev/raw/raw22';
alter diskgroup fra drop disk 'FRA_0000','FRA_0001','FRA_0002','FRA_0003';
--
select group_number,operation,power,state from v$asm_operation;
等這里面沒有信息,說明數據全部移動完。
-----
然后關閉虛擬機。
把sdb和sdc這2塊對應的盤從虛擬機中刪除
還在rac2節點加了一塊非共享盤
開機
發現磁盤的對應關系發生了改變。
rac1
sdd 成了sdb
sde 成了sdc
rac2
sdd 成了sdc
sde 成了sdd
盤符全亂了。
自己重新映射了一下。發現還是有問題。
-
然后決定不用盤符映射。用scsi_id方式映射,這樣共享盤是不能分區的。
在沒做其他操作下,
把2塊共享盤的分區全部刪除。這樣就在共享盤上的ocr,vote disk,data,fra的信息全部丟失。
--
然后在/etc/udev/rules.d/60-raw.rules做如下改動
ACTION=="add", KERNEL=="sd*", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$name",
RESULT=="360022a11000e085d0de717f500000003", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sd*", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$name",
RESULT=="360022a11000e085d0de7372c0000002e", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="adc", KERNEL=="sd*", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$name",
RESULT=="360022a11000e085d0de7372c0000018e", RUN+="/bin/raw /dev/raw/raw2 %N"
KERNEL=="raw[1-3]", OWNER="grid", GROUP="oinstall", MODE="660"
--
RESULT=="360022a11000e085d0de717f500000003"
這個值的獲得 root#/sbin/scsi_id -g -u -d /dev/sdd
linux版本不同,命令的路徑不同。
---
映射后,最好重啟下。
===
這樣,系統重啟后,發現crs宕掉,也無法啟動。
asm實例無法啟動,磁盤組也不存在。
===============
先重建crs
2節點都做
root#./crsctl stop crs
pwd
/oracle/app/11.2.0/grid/crs/install
root#./rootcrs.pl -deconfig -force
--
然后
2節點都做
pwd
/oracle/app/11.2.0/grid
./root.sh
重建成功
===============
那就做ocr和vote disk恢復吧。數據庫還有一份備份。
pwd
/oracle/app/11.2.0/grid/bin
rac1
root#./crsctl stop has
rac2
root#./crsctl stop has
ocr的備份在rac2上
rac2
root#./crsctl start crs -excl -nocrs 啟動到獨占模式
grid$sqlplus / as sysasm
進入到asm實例成功
創建磁盤組
create diskgroup OCR external redundancy disk '/dev/raw/raw1'
ATTRIBUTE 'compatible.asm'='11.2.0.0.0';
===============================================
ATTRIBUTE 'compatible.asm'='11.2.0.0.0';
這句比較關鍵,如果不帶,恢復OCR無法成功。
/ocrconfig –restore backup00.ocr
無法完成
PROT-35: The configured OCR locations are not accessible.
==============================================
然后恢復OCR
root#./ocrconfig -restore /oracle/app/11.2.0/grid/cdata/rac-cluster/backup.ocr
成功
恢復vote disk
root#./crsctl replace votedisk +OCR
sqlplus / as sysasm
create spfile from memory;
-------
rac2
root#./crsctl stop has
--
rac1
root#./crsctl start crs
rac2
root#./crsctl start crs
=====
然后
rac1
用+ASM1登錄時出錯
sqlplus / as sysasm
ps -ef|grep asm
asm2
--
export ORACLE_SID=+ASM2
sqlplus / as sysasm
進入成功
exit
--
vi /etc/oratab
+ASM2 -->+ASM1
--
oraenv
+ASM1
sqlplus / as sysasm
實例進入成功
ps -ef |grep asm
----
然后重新創建DATA和FRA磁盤組
sqlplus / as sysasm
create diskgroup data add disk '/dev/raw/raw2';
create diskgroup fra add disk '/dev/raw/raw3';
===============
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。