2.准备udev
这个可以根据自己情况来,我这里原来环境有 ocr 磁盘5块,data + fra 6块,mgmt两块,一共13块盘,分别如下:
for i in 0 1 2 3 4
do
echo " KERNEL=="dm-*",ENV{DM_UUID}=="mpath-360060e8021a88b005060a88b0000020$i",SYMLINK+="asm_ocr0$i",OWNER="grid",GROUP="asmadmin",MODE="0660"" >>/etc/udev/rules.d/99-oracle-asmdevices.rules;
done
for i in 5 6 7 8 9 a
do
echo " KERNEL=="dm-*",ENV{DM_UUID}=="mpath-360060e8021a88b005060a88b0000020$i",SYMLINK+="asm_data0$i",OWNER="grid",GROUP="asmadmin",MODE="0660"" >>/etc/udev/rules.d/99-oracle-asmdevices.rules;
done
for i in b c
do
echo " KERNEL=="dm-*",ENV{DM_UUID}=="mpath-360060e8021a88b005060a88b0000020$i",SYMLINK+="asm_mgmt0$i",OWNER="grid",GROUP="asmadmin",MODE="0660"" >>/etc/udev/rules.d/99-oracle-asmdevices.rules;
done
4.替换OCR盘
alter diskgroup crsdg add disk '/dev/asm_ocr00','/dev/asm_ocr01','/dev/asm_ocr02','/dev/asm_ocr03','/dev/asm_ocr04' drop disk 'CRSDG_0001','CRSDG_0002','CRSDG_0003','CRSDG_0004','CRSDG_0000' ;
再检查一下VOTEDISK
grid@hisdb02 ~]$ crsctl query css votedisk
## STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE fcdbc07528b74f4dbf5607f0a7dbc305 (/dev/asm_ocr00) [CRSDG]
2. ONLINE e2f5c4216bab4f1fbf483cdd45f847b9 (/dev/asm_ocr01) [CRSDG]
3. ONLINE 9dea3d5f31e64f42bf9522529c47b40b (/dev/asm_ocr02) [CRSDG]
4. ONLINE 5762f8fdd5d54f09bfe9fedb2215591d (/dev/asm_ocr03) [CRSDG]
5. ONLINE 30870976f1114f13bfe79d85e1f4e76d (/dev/asm_ocr04) [CRSDG]
已经更换完成。
5.更换MGMT磁盘组
SQL> alter diskgroup mgmt add disk '/dev/asm_mgmt0b','/dev/asm_mgmt0c' drop disk 'MGMT_0000','MGMT_0001' ;
Diskgroup altered.
6.更换DATA和FRA磁盘组
SQL> alter diskgroup DGDATA add disk '/dev/asm_data05','/dev/asm_data06','/dev/asm_data07' drop disk 'DGDATA_0000','DGDATA_0001','DGDATA_0002';
Diskgroup altered.
ALTER DISKGROUP DGDATA REBALANCE POWER 11; ###指定重平衡操作的力度(调度优先级)
SQL> alter diskgroup fra add disk '/dev/asm_data09','/dev/asm_data0a' rebalance power 11 drop disk 'FRA_0000','FRA_0001';
Diskgroup altered.
这个重平衡要慢一些,看磁盘数据大小
select GROUP_NUMBER,OPERATION,STATE,POWER,ACTUAL,SOFAR,EST_MINUTES from v$asm_operation;
GROUP_NUMBER OPERA STAT POWER ACTUAL SOFAR EST_MINUTES
------------ ----- ---- ---------- ---------- ---------- -----------
2 REBAL WAIT 11 11 0 0
2 REBAL RUN 11 11 103370 22
2 REBAL DONE 11 11 0 0
3 REBAL WAIT 11
3 REBAL WAIT 11
3 REBAL WAIT 11
6 rows selected.
我这里大概等了1小时。
最后替换完成,如下:
SQL> select name,path,label,os_mb,free_mb,state from v$asm_disk order by 2;
NAME PATH LABEL OS_MB FREE_MB STATE
------------- --------------------------------------- ------------ ---------- ------- -------
DGDATA_0003 /dev/asm_data05 2097152 1539556 NORMAL
DGDATA_0004 /dev/asm_data06 2097152 1539560 NORMAL
DGDATA_0005 /dev/asm_data07 2097152 1539560 NORMAL
/dev/asm_data08 2097152 0 NORMAL
FRA_0002 /dev/asm_data09 2097152 2021368 NORMAL
FRA_0003 /dev/asm_data0a 2097152 2021420 NORMAL
MGMT_0002 /dev/asm_mgmt0b 512000 499024 NORMAL
MGMT_0003 /dev/asm_mgmt0c 512000 499024 NORMAL
CRSDG_0005 /dev/asm_ocr00 2048 1760 NORMAL
CRSDG_0006 /dev/asm_ocr01 2048 1764 NORMAL
CRSDG_0007 /dev/asm_ocr02 2048 1776 NORMAL
CRSDG_0008 /dev/asm_ocr03 2048 1772 NORMAL
CRSDG_0009 /dev/asm_ocr04 2048 1760 NORMAL
/dev/oracleasm/disks/DATA01 2097150 0 NORMAL
/dev/oracleasm/disks/DATA02 2097150 0 NORMAL
/dev/oracleasm/disks/DATA03 2097150 0 NORMAL
/dev/oracleasm/disks/DATA04 2097150 0 NORMAL
/dev/oracleasm/disks/DATA05 2097150 0 NORMAL
/dev/oracleasm/disks/DATA06 2097150 0 NORMAL
/dev/oracleasm/disks/MGMT01 511998 0 NORMAL
/dev/oracleasm/disks/MGMT02 511998 0 NORMAL
/dev/oracleasm/disks/VOTDSK01 2046 0 NORMAL
NAME PATH LABEL OS_MB FREE_MB STATE
------------- --------------------------------------- ------------ ---------- ------- -------
/dev/oracleasm/disks/VOTDSK02 2046 0 NORMAL
/dev/oracleasm/disks/VOTDSK03 2046 0 NORMAL
/dev/oracleasm/disks/VOTDSK04 2046 0 NORMAL
/dev/oracleasm/disks/VOTDSK05 2046 0 NORMAL
26 rows selected.