實(shí)驗(yàn)環(huán)境:
創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供資興網(wǎng)站建設(shè)、資興做網(wǎng)站、資興網(wǎng)站設(shè)計(jì)、資興網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、資興企業(yè)網(wǎng)站模板建站服務(wù),10多年資興做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
centos6.4
oracle 11.2.0.4
--
使用的是udev方式映射的raw,然后做的是asm
---
本來想把sdb,sdc這個(gè)塊磁盤替換掉。
sdb => 1g:sdb1,sdb2,sdb3. 2g:sdb5,sdb6,sdb7
sdc => 2g:sdc1,sdc2,sdc3,sdc5,sdc6
做成了2個(gè)磁盤組
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磁盤組的磁盤不建議用擴(kuò)展分區(qū),
--------
想把這2塊盤換掉
退出虛擬機(jī),又加了2塊磁盤
sdd :1g:sdd1,sdd2,sdd3. 2g:sdd5,sdd6,sdd7
sde :2g:sde1,sde2,sde3,sde5,sde6
然后在/etc/udev/rules.d/60-raw.rules 添加下面內(nèi)容
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"
---
然后進(jìn)如asm實(shí)例
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
發(fā)現(xiàn)到了新添加的磁盤
然后進(jìn)行替換
-
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;
等這里面沒有信息,說明數(shù)據(jù)全部移動(dòng)完。
-----
然后關(guān)閉虛擬機(jī)。
把sdb和sdc這2塊對(duì)應(yīng)的盤從虛擬機(jī)中刪除
還在rac2節(jié)點(diǎn)加了一塊非共享盤
開機(jī)
發(fā)現(xiàn)磁盤的對(duì)應(yīng)關(guān)系發(fā)生了改變。
rac1
sdd 成了sdb
sde 成了sdc
rac2
sdd 成了sdc
sde 成了sdd
盤符全亂了。
自己重新映射了一下。發(fā)現(xiàn)還是有問題。
-
然后決定不用盤符映射。用scsi_id方式映射,這樣共享盤是不能分區(qū)的。
在沒做其他操作下,
把2塊共享盤的分區(qū)全部刪除。這樣就在共享盤上的ocr,vote disk,data,fra的信息全部丟失。
--
然后在/etc/udev/rules.d/60-raw.rules做如下改動(dòng)
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"
這個(gè)值的獲得 root#/sbin/scsi_id -g -u -d /dev/sdd
linux版本不同,命令的路徑不同。
---
映射后,最好重啟下。
===
這樣,系統(tǒng)重啟后,發(fā)現(xiàn)crs宕掉,也無法啟動(dòng)。
asm實(shí)例無法啟動(dòng),磁盤組也不存在。
===============
先重建crs
2節(jié)點(diǎn)都做
root#./crsctl stop crs
pwd
/oracle/app/11.2.0/grid/crs/install
root#./rootcrs.pl -deconfig -force
--
然后
2節(jié)點(diǎn)都做
pwd
/oracle/app/11.2.0/grid
./root.sh
重建成功
===============
那就做ocr和vote disk恢復(fù)吧。數(shù)據(jù)庫還有一份備份。
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 啟動(dòng)到獨(dú)占模式
grid$sqlplus / as sysasm
進(jìn)入到asm實(shí)例成功
創(chuàng)建磁盤組
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';
這句比較關(guān)鍵,如果不帶,恢復(fù)OCR無法成功。
/ocrconfig –restore backup00.ocr
無法完成
PROT-35: The configured OCR locations are not accessible.
==============================================
然后恢復(fù)OCR
root#./ocrconfig -restore /oracle/app/11.2.0/grid/cdata/rac-cluster/backup.ocr
成功
恢復(fù)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登錄時(shí)出錯(cuò)
sqlplus / as sysasm
ps -ef|grep asm
asm2
--
export ORACLE_SID=+ASM2
sqlplus / as sysasm
進(jìn)入成功
exit
--
vi /etc/oratab
+ASM2 -->+ASM1
--
oraenv
+ASM1
sqlplus / as sysasm
實(shí)例進(jìn)入成功
ps -ef |grep asm
----
然后重新創(chuàng)建DATA和FRA磁盤組
sqlplus / as sysasm
create diskgroup data add disk '/dev/raw/raw2';
create diskgroup fra add disk '/dev/raw/raw3';
===============