一、環境
oracle 11gr2 rac
二、實施
備註:安全起見,操作之前停資料庫例項、asm例項
1、節點1、2磁碟資訊
---共享磁碟資訊
[root@11grac1 ~]# ls -l /dev/asm* --格式:/dev/asm-diskc
---需新加磁碟
[root@11grac1 ~]# ls -l /dev/sd* --/dev/sdh是新增磁碟
2、udev方式將新磁碟配置為asm共享磁碟(節點1、2都要執行)
[root@11grac1 rules.d]# pwd
/etc/udev/rules.d
[root@11grac1 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"
[root@11grac1 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服務
[root@11grac1 rules.d]# start_udev
[root@11grac2 rules.d]# start_udev
4、檢查/dev/sdh是否已為/dev/asm-diskh格式的asm磁碟
[root@11grac1 ~]# 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;
SQL刪除磁碟檔案
以前實現備份檔案管理,有乙個刪除功能,是使用asp.net來實現刪除備份檔案。這段時間改用在sql server儲存過程去實現。您可以參考到這個儲存過程完整 ifexists select from sys.objects where object id object id n dbo usp de...
SQL刪除磁碟檔案
以前實現備份檔案管理,有乙個刪除功能,是使用asp.net來實現刪除備份檔案。這段時間改用在sql server儲存過程去實現。您可以參考到這個儲存過程完整 ifexists select from sys.objects where object id object id n dbo usp de...
4 如何新增與刪除磁碟分割槽
以為我的rh9為例,上面有只有兩個分割槽 dev sda1 和 dev sda2 fdisk dev sda 注意sda後不要加數字 command m for help m 輸入m後,就會看到很多命令 command m for help p 輸出當前磁碟的狀態 command m for hel...