全面學習和應用ORACLE ASM特性--(3)新增和修改asm磁碟組
2.1 新增磁碟組
DBCA 中建立磁碟組想必大家都很熟悉了,對,不過是點兩下滑鼠,SQL*PLUS下操作也很簡單,主要是使用CREATE DISKGROUP語句,該語句的語法如下:
CREATE DISKGROUP diskgroup_name
[ { HIGH | NORMAL | EXTERNAL } REDUNDANCY ]
[ FAILGROUP failgroup_name ]
DISK [ NAME disk_name ] [ SIZE size_clause ] [ FORCE | NOFORCE ] ...;語法很簡單,大多數都是可選項:
- 首先要指定的就是磁碟組名稱(diskgroup_name);
- 指定冗餘度,有三個選擇:HIGH(高度冗餘>三路)、NORMAL(標準冗餘--雙路)和EXTERNAL(外部儲存冗餘);
- 選擇是否指定FAILGROUP(如果選擇非external則必須指定);
- 指定該磁碟組中的成員(對應的LUN),在指定成員時一般ASM能夠自動檢測出磁碟的容量,不過如果DBA基於某些方面的考慮,希望限制ASM使用的空間的話,也可以在指定成員過程中,順便指定大小(只要指定的大小不超出磁碟實際容量),在新增成員時,ASM也會自動檢查磁碟頭以確定該磁碟是否被加入到其它的磁碟組中,當發現該盤已加入其它磁碟組的話,你可以透過FORCE選項來強制修改該盤所屬磁碟組。
2.2 修改磁碟組
事物總是在變化中前進,這是事物的一般規律,磁碟組也不例外,在其建立完之後,保不齊什麼時候可能就需要加或刪個磁碟,或者修改某個盤的大小(如果還有機會改的話)。這時候你就需要ALTER DISKGROUP語句了,ALTER DISKGROUP語句的語法太簡單(靈活)了,因此這裡三思就不列了,後面透過幾個實際應用的示例來說明其語法規則。
ASM 最好的一點就是,不管你是加還是刪磁碟組中的磁碟,它都能自動進行平衡,確保該磁碟組中每塊盤儲存的資料量平均,以實現最最佳化的IO效能,並且這一過程不會對資料造成影響
2.2.1 新增磁碟
比如,新增一個磁碟到磁碟組asmdisk1,語句如下:
SQL> Alter diskgroup asmdisk2 add disk '/dev/raw/raw7' name asmdisk2_0002;
Diskgroup altered.事實上,alter diskgroup新增磁碟時,也可以使用萬用字元,比如新增所有raw_a0開頭的裝置,可執行語句如下:
- Alter diskgroup asmdisk1 add disk '/dev/raw/raw_a0*' ;
再比如新增raw_a5,raw_a6,raw_a7,可以執行語句如下:
- Alter diskgroup asmdisk1 add disk '/dev/raw/raw_a[567]' ;
總之非常靈活,大家可以根據實際情況自行嘗試以簡化操作。這也屬於最佳化著幹活的範疇嘛。
注意喲,語句雖然執行了,不過ASM需要自動平均磁碟組中的資料,這必然需要消耗一定的時間(視資料量多少),預設情況下ALTER DISKGROUP語句並不會等待所有工作全部完成才返回控制權,
要監控後臺進行的操作,可以透過V$ASM_OPERATION檢視查詢。
如果希望ALTER DISKGROUP語句完成所有工作才返回的話,可以在執行時附加REBALANCE WAIT子句,這樣該語句就會等待自動平衡的操作,直接所有操作完成才返回結果,當然在等待期間,如果你改主意了不願意繼續等待,CTRL+C中斷即可獲得控制權,而平衡的操作不受影響,會在後臺繼續進行。
2.2.2 刪除磁碟
雖然刪除磁碟也涉及到資料庫的重新平衡,因此刪除跟新增還有點兒不同,就是當刪除磁碟時,當ASM發現怎麼平衡都平衡不過來時(比如剩下的磁碟空間不足以存放所有資料時),刪除操作也會失敗。這種情況要麼先刪資料,要麼取消刪除的操作。
簡單舉個例子,比如說刪除asmdisk2磁碟組中的asmdisk2_0001磁碟,操作如下:
SQL> alter diskgroup asmdisk2 drop disk asmdisk2_0001;
Diskgroup altered.不知道算不算是優點,由於前面提到的ASM自動平衡的特性,上述語句返回後並不代表磁碟已經被刪除,此時後臺可能由於正忙碌地執行著IO重平衡的工作,因此如果在這個當口,DBA忽然意識到操作失誤,其實磁碟並不需要被刪除,那也可以馬上透過alter diskgroup dgname undrop disks語句來取消刪除的操作,例如:
SQL> alter diskgroup asmdisk2 undrop disks;
Diskgroup altered.只要刪除操作還沒有真正完成,任何就會被取消,否則的話,上述語句也挽回不了什麼了,如果希望挽回,那DBA只能再透過ADD語句將該磁碟重新加入到磁碟組了。
2.2.3 修改磁碟大小
ASM 中的磁碟也可以被RESIZE--擴大或縮小,不過需要注意的是,擴大的話,要確保該磁碟對應的裸卷確實有足夠的空間去擴大(比如該卷原有20g,建立時僅用了10g,則最大可擴大到20g-塊頭佔用的nM空間);縮小的話,要確保縮小後剩餘的空間仍以放的下當前磁碟上已存在的資料,不然操作就會報錯。
具體的操作是很簡單的,例如將磁碟組asmdisk2的磁碟asmdisk2_0000的磁碟空間調整為1000m(原為8189m),操作如下:
SQL> alter diskgroup asmdisk2 resize disk asmdisk2_0000 size 1000m;
Diskgroup altered.2.2.4 手動平衡磁碟組
一般情況下ASM都會自動對其下的磁碟組進行平衡,不過ORACLE也提供了手動平衡磁碟組的方式,透過alter diskgroup ... power 語句。前面提到過磁碟組的平衡度有0到11多個級別,預設是按照ASM_POWER_LIMIT初始化引數中設定的值,手動平衡的話,設定的平衡度可以與初始化引數中並不相同,例如,設定磁碟組平衡度為5,語句如下:
SQL> alter diskgroup asmdisk2 rebalance power 5;
Diskgroup altered.手動平衡磁碟組可能涉及大量的工作,該操作可能費時較久,因此DBA在執行該語句時,一定要注意該操作對IO效能的影響。
另外再次強調,上述語句將很快返回diskgroup altered的提示,但這並不表示操作真正完成,它只是反饋語句提交而已,檢視磁碟後臺的操作,可以透過v$asm_operator檢視,或者在語句執行時增加wait子句,這樣ASM將會等到操作真正完成時,才返回提示資訊。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28389881/viewspace-1762235/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【ASM】Oracle asm刪除磁碟組注意事項ASMOracle
- 【ASM】Oracle asm磁碟被格式化,如何掛載該磁碟組ASMOracle
- ORACLE ASM磁碟組空間溢位OracleASM
- ASM磁碟組限制ASM
- 一次ASM新增新的磁碟組ASM
- Oracle ASM磁碟組擴容(AIX7.1)OracleASMAI
- 遷移ASM磁碟組ASM
- Oracle RAC環境下ASM磁碟組擴容OracleASM
- 遷移OCR和VotingDisk並刪除原ASM磁碟組ASM
- Oracle RAC ASM磁碟組擴容時遇到的VIP漂移OracleASM
- ASM磁碟組更換磁碟的操作方法ASM
- ASM磁碟簡單維護,新增,刪除ASM
- ASM 磁碟組的建立及擴容ASM
- 使用udev擴充套件ASM磁碟組dev套件ASM
- ASM磁碟組擴容操作文件ASM
- Oracle RAC日常運維-ASM磁碟擴容Oracle運維ASM
- ORACLE ASM的SSD磁碟空間回收分析OracleASM
- Oracle asm磁碟損壞異常恢復OracleASM
- 【BUILD_ORACLE】使用ASMLib包搭建ASM磁碟UIOracleASM
- ASM磁碟組ORA-15042 ORA-15096ASM
- 【ASM】ASM磁碟頭被重寫,如何修復ASM
- Oracle 12c新特性--ASMFD(ASM Filter Driver)特性OracleASMFilter
- Oracle資料庫 ASM磁碟線上擴容Oracle資料庫ASM
- 【ARCH】Oracle 判斷asm磁碟組大小,超過閾值清理指令碼OracleASM指令碼
- 如何檢視Oracle RAC的asm磁碟的udev對應關係OracleASMdev
- 從定位資料塊所在ASM磁碟到ASM strippingASM
- Java ASM學習(2)JavaASM
- ASM磁碟頭資訊損壞和修復(kfed/dd)ASM
- 關於Oracle 10g ASM磁碟大小的限制Oracle 10gASM
- ASM重新命名包含OCR/vote file的磁碟組ASM
- RAC之grid叢集安裝及ASM磁碟組配置ASM
- Oracle ASM神書《撥雲見日 解密Oracle ASM核心》出版了OracleASM解密
- 基於裸裝置的ASM磁碟組擴容方案ASM
- Oracle ASM擴容(NFS)OracleASMNFS
- oracle RAC+DG 擴容ASM和表空間(Linux)OracleASMLinux
- Oracle ASM AMDU工具的使用OracleASM
- Oracle ASM Cluster File Systems (ACOracleASM
- Oracle:ASM & 密碼檔案OracleASM密碼
- Oracle 11.2.0.4 rac for aix acfs異常環境的克隆環境ASM磁碟組掛載緩慢OracleAIASM