1. 程式人生 > >oracle 11gR2 ASM新增和刪除磁碟 轉 oracle 11gR2 ASM新增和刪除磁碟

oracle 11gR2 ASM新增和刪除磁碟 轉 oracle 11gR2 ASM新增和刪除磁碟

oracle 11gR2 ASM新增和刪除磁碟

 

一、環境
oracle 11gR2 RAC + Oracle Linux Server release 5.9

二、實施
備註:安全起見,操作之前停資料庫例項、ASM例項
1、節點1、2磁碟資訊
---共享磁碟資訊
[[email protected] ~]# ls -l /dev/asm* --格式:/dev/asm-diskc
---需新加磁碟
[[email protected] ~]# ls -l /dev/sd* --/dev/sdh是新增磁碟

2、udev方式將新磁碟配置為ASM共享磁碟(節點1、2都要執行)
[

[email protected] rules.d]# pwd
/etc/udev/rules.d
[[email protected] rules.d]# for i in h; do echo "KERNEL=="sd", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="scsi_id -g -u -s /block/sd$i", NAME="asm-disk$i", OWNER="grid", GROUP="asmadmin", MODE="0660""; done
KERNEL=="sd
", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s p",RESULT=="SATA_VBOX_HARDDISK_VBfeab29eb-3b887e7b_", NAME="asm-diskh", OWNER="grid", GROUP="asmadmin", MODE="0660"
[
[email protected]
rules.d]# vi 99-oracle-asmdevices.rules
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="SATA_VBOX_HARDDISK_VBfeab29eb-3b887e7b_",NAME="asmdiskh",OWNER="grid",GROUP="asmadmin", MODE="0660"

3、重啟udev服務
[[email protected] rules.d]# start_udev
[[email protected]

rules.d]# start_udev

4、檢查/dev/sdh是否已為/dev/asm-diskh格式的asm磁碟
[[email protected] ~]# ls -l /dev/asm*

5、向ASM磁碟組中加盤(grid使用者的sysasm)
SQL> select GROUP_NUMBER,DISK_NUMBER, MODE_STATUS,HEADER_STATUS, MODE_STATUS,state,TOTAL_MB,FREE_MB,name,PATH from v$asm_disk;
SQL> alter diskgroup data_dg add disk '/dev/asm-diskh';
SQL> select GROUP_NUMBER,DISK_NUMBER, MODE_STATUS,HEADER_STATUS,MODE_STATUS,state,TOTAL_MB,FREE_MB,name,PATH from v$asm_disk;
新增完磁碟之後,oracle會自動做重平衡rebalance操作,可以通過檢視檢視
SQL> select * from v$asm_operation;
SOFAR:就是目前為止挪動的AU數量
EST_WORK:估計要挪動的AU數量
EST_RATE:估計每分鐘挪動的AU數量
EST_MINUTES:估計挪動多少分鐘
重平衡的過程就是從其他的磁碟向新磁碟挪動資料的過程,如果資料量很大,這個時間會很長,可以更改power值加快速度,預設power值為1,可根據儲存效能將此值設定大一些(power取值0-11),資料平衡完畢復原power值即可
SQL> show parameter asm_power_limit
SQL> alter diskgroup data_dg rebalance power 11;
注:power=0是停止rebalance操作
也可在加盤時直接新增rebalance指令,如下:
SQL> alter diskgroup data_dg add disk '/dev/asm-diskh' rebalance power 8;
注:如新增磁碟報錯(新增磁碟不為全新盤,有舊資料在裡頭),可使用dd命令將磁碟頭資訊清除掉
dd if=/dev/zero of=/dev/sdd bs=4096 count=256 --磁碟頭資訊大小一般是1M。

6、刪除ASM磁碟
SQL> select GROUP_NUMBER,DISK_NUMBER, MODE_STATUS,HEADER_STATUS, MODE_STATUS,state,TOTAL_MB,FREE_MB,name,PATH from v$asm_disk;
SQL> alter diskgroup data_dg drop disk 'DATA_DG_0002'; --按照name來刪除
或:SQL> alter diskgroup data_dg drop disk 'DATA_DG_0002' rebalance power 8;
SQL> select * from v$asm_operation;
SQL> select GROUP_NUMBER,DISK_NUMBER, MODE_STATUS,HEADER_STATUS, MODE_STATUS,state,TOTAL_MB,FREE_MB,name,PATH from v$asm_disk;

一、環境
oracle 11gR2 RAC + Oracle Linux Server release 5.9

二、實施
備註:安全起見,操作之前停資料庫例項、ASM例項
1、節點1、2磁碟資訊
---共享磁碟資訊
[[email protected] ~]# ls -l /dev/asm* --格式:/dev/asm-diskc
---需新加磁碟
[[email protected] ~]# ls -l /dev/sd* --/dev/sdh是新增磁碟

2、udev方式將新磁碟配置為ASM共享磁碟(節點1、2都要執行)
[[email protected] rules.d]# pwd
/etc/udev/rules.d
[[email protected] rules.d]# for i in h; do echo "KERNEL=="sd", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="scsi_id -g -u -s /block/sd$i", NAME="asm-disk$i", OWNER="grid", GROUP="asmadmin", MODE="0660""; done
KERNEL=="sd
", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s p",RESULT=="SATA_VBOX_HARDDISK_VBfeab29eb-3b887e7b_", NAME="asm-diskh", OWNER="grid", GROUP="asmadmin", MODE="0660"
[[email protected] rules.d]# vi 99-oracle-asmdevices.rules
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="SATA_VBOX_HARDDISK_VBfeab29eb-3b887e7b_",NAME="asmdiskh",OWNER="grid",GROUP="asmadmin", MODE="0660"

3、重啟udev服務
[[email protected] rules.d]# start_udev
[[email protected] rules.d]# start_udev

4、檢查/dev/sdh是否已為/dev/asm-diskh格式的asm磁碟
[[email protected] ~]# ls -l /dev/asm*

5、向ASM磁碟組中加盤(grid使用者的sysasm)
SQL> select GROUP_NUMBER,DISK_NUMBER, MODE_STATUS,HEADER_STATUS, MODE_STATUS,state,TOTAL_MB,FREE_MB,name,PATH from v$asm_disk;
SQL> alter diskgroup data_dg add disk '/dev/asm-diskh';
SQL> select GROUP_NUMBER,DISK_NUMBER, MODE_STATUS,HEADER_STATUS,MODE_STATUS,state,TOTAL_MB,FREE_MB,name,PATH from v$asm_disk;
新增完磁碟之後,oracle會自動做重平衡rebalance操作,可以通過檢視檢視
SQL> select * from v$asm_operation;
SOFAR:就是目前為止挪動的AU數量
EST_WORK:估計要挪動的AU數量
EST_RATE:估計每分鐘挪動的AU數量
EST_MINUTES:估計挪動多少分鐘
重平衡的過程就是從其他的磁碟向新磁碟挪動資料的過程,如果資料量很大,這個時間會很長,可以更改power值加快速度,預設power值為1,可根據儲存效能將此值設定大一些(power取值0-11),資料平衡完畢復原power值即可
SQL> show parameter asm_power_limit
SQL> alter diskgroup data_dg rebalance power 11;
注:power=0是停止rebalance操作
也可在加盤時直接新增rebalance指令,如下:
SQL> alter diskgroup data_dg add disk '/dev/asm-diskh' rebalance power 8;
注:如新增磁碟報錯(新增磁碟不為全新盤,有舊資料在裡頭),可使用dd命令將磁碟頭資訊清除掉
dd if=/dev/zero of=/dev/sdd bs=4096 count=256 --磁碟頭資訊大小一般是1M。

6、刪除ASM磁碟
SQL> select GROUP_NUMBER,DISK_NUMBER, MODE_STATUS,HEADER_STATUS, MODE_STATUS,state,TOTAL_MB,FREE_MB,name,PATH from v$asm_disk;
SQL> alter diskgroup data_dg drop disk 'DATA_DG_0002'; --按照name來刪除
或:SQL> alter diskgroup data_dg drop disk 'DATA_DG_0002' rebalance power 8;
SQL> select * from v$asm_operation;
SQL> select GROUP_NUMBER,DISK_NUMBER, MODE_STATUS,HEADER_STATUS, MODE_STATUS,state,TOTAL_MB,FREE_MB,name,PATH from v$asm_disk;