oracle asm線上替換dg盤操作

datapeng發表於2015-07-15
1、檢查當前的磁碟的情況
MOUNTED  EXTERN  N         512   4096  1048576    102398   102222                0          102222              0             N  ARCHDG/
MOUNTED  EXTERN  N         512   4096  1048576    204797    19872                0           19872              0             N  DATADG/
MOUNTED  EXTERN  N         512   4096  1048576    102398   102272                0          102272              0             N  RECODG/
MOUNTED  EXTERN  N         512   4096  1048576     30718    26555                0           26555              0             N  REDO1/
注意,重做日誌、歸檔日誌已經替換,只需替換datadg便可以了
SQL> select GROUP_NUMBER,name from v$asm_diskgroup;


GROUP_NUMBER NAME
------------ ------------------------------
           1 ARCHDG
           0 CRSDG
           3 DATADG                                     ---此盤需要替換,磁碟組號為3
           4 RECODG
           0 REDODG2
           0 REDODG1
           7 REDO1


透過確認,盤為:/dev/asm-disk4


[oracle@ecc-prddb1 rules.d]$ more 99-oracle-asmdevices.rules
KERNEL=="sde1",BUS=="scsi",PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent",RESULT=="36000c29a5e6738762b229b31b4f8052a",NAME="asm-disk4",OWNER="oracle",GROUP="oinstall",MODE="0660"




Disk /dev/sde: 214.7 GB, 214748364800 bytes
255 heads, 63 sectors/track, 26108 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xbec85102


   Device Boot      Start         End      Blocks   Id  System
/dev/sde1               1       26108   209712478+  83  Linux


SQL> select name,total_mb,free_mb from v$asm_diskgroup;


NAME                             TOTAL_MB    FREE_MB
------------------------------ ---------- ----------
ARCHDG                             102398     102339
CRSDG                                   0          0
DATADG                             204797      19872
RECODG                             102398     102272
REDODG2                                 0          0
REDODG1                                 0          0
REDO1                               30718      26555


要替換的盤確實是/dev/sde1,大小為200g


[oracle@ecc-prddb1 bin]$ ./ocrcheck -config
Oracle Cluster Registry configuration is :
         Device/File Name         :     +CRSDG
此命令是檢查crs是否是datadg上面,因為有些不規範的磁碟規劃,會與資料盤放在一起,此次不在一起。




2、劃磁碟到該機器


注意:
--要求所劃盤為sas盤
--所劃盤的大小不得小於替換的磁碟
--磁碟的屬性配置,與其它盤相同


3、作業系統對此盤進行處理


--分割槽
fdisk /dev/sd*    注意,當時劃出來的編號是什麼就是什麼,可能會sdn\sdm模式


--掃描磁碟
echo "- - -" > /sys/class/scsi_host/host0/scan
在此目錄下,檢視有多少個host+資料的目錄,可能第一個不正確,需要繼續執行下面的
依次執行,由此獲取到ssid
或者使用如下命令
scsi_id -g -u -d /dev/sdb


--編輯udev裡的配置檔案
99-oracle-asmdevices.rules
其格式如下:
KERNEL=="sde1",BUS=="scsi",PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent",RESULT=="36000c29a5e6738762b229b31b4f8052a",NAME="asm-disk4",OWNER="oracle",GROUP="oinstall",MODE="0660"
注意:
--36000c29a5e6738762b229b31b4f8052a這一串要更改為上面掃描出來的結果
--KERNEL=="sde1",這個需要根據磁碟進行更改
--NAME="asm-disk4",需要根據磁碟命名進行更改


4、新增磁碟到磁碟組


SQL> select GROUP_NUMBER,DISK_NUMBER,STATE,REDUNDANCY,TOTAL_MB,FREE_MB,name,path,failgroup from v$asm_disk order by GROUP_NUMBER;


GROUP_NUMBER DISK_NUMBER STATE    REDUNDA   TOTAL_MB    FREE_MB NAME                           PATHFAILGROUP
------------ ----------- -------- ------- ---------- ---------- ------------------------------ --------------------------------
           1           0 NORMAL   UNKNOWN     102398     102339 ARCHDG_0000                    /dev/asm-disk8ARCHDG_0000
           3           0 NORMAL   UNKNOWN     204797      19872 DATADG_0000                    /dev/asm-disk4DATADG_0000
           4           0 NORMAL   UNKNOWN     102398     102272 RECODG_0000                    /dev/asm-disk5RECODG_0000
           7           0 NORMAL   UNKNOWN      30718      26555 REDO1_0000                     /dev/asm-disk9REDO1_0000


10 rows selected.
找到剛才加入的磁碟。剛剛加入的,是沒有磁碟組的


--執行新增盤的操作
SQL> alter diskgroup DATADG add disk '/dev/asm-disk11' rebalance power 11; 
--rebalance power 11,
說的是並行度,需要考慮當時的效能確定,本次操作建議在4或者5就行了,不必太大
透過以下語句來檢視完成的進度
SQL> select * from V$ASM_OPERATION;
如果仍有資料在上面跑,不可對原磁碟進行刪除。此語句可以檢視進度


5、刪除磁碟操作
SQL> alter diskgroup DATADG drop disk 'DATADG_0000' rebalance power 11;
SQL> select * from V$ASM_OPERATION;
檢視進度
如果上述查詢沒有了,就證明已經完成,按如下語句進行檢視新增是否成功。
SQL> select a.NAME GROUP_NAME,a.TOTAL_MB,a.FREE_MB GROUP_FREE_MB,b.OS_MB,b.FREE_MB,b.name,b.path from v$asm_diskgroup a,v$asm_disk b where a.GROUP_NUMBER=b.GROUP_NUMBER;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29371470/viewspace-1734152/,如需轉載,請註明出處,否則將追究法律責任。

相關文章