asm新增刪除磁碟
一、 ASM_POWER_LIMIT 引數
這個引數 ASM_POWER_LIMIT 引數控制 ASM 後臺程式 ARBx 的數量。ARBx 程式用來進行 ASM 磁碟資料重新分佈打散。ASM_POWER_LIMIT 取值 從 0 到 11(據說從 10gR2 開始可以設定為 0 ). 當新新增磁碟或者刪除磁碟後,ASM 會啟動 ARBx 進行 IO 分散操作,該引數值越大,io 越大。這是個非常消耗資源的動作,所以一定要選擇系統空閒的時候進行。
ASM_POWER_LIMIT 引數官方描述:
ASM_POWER_LIMIT specifies the maximum power on an Automatic Storage Management instance for disk rebalancing. The higher the limit, the faster rebalancing will complete. Lower values will take longer, but consume fewer processing and I/O resources.
If the POWER clause of a rebalance operation is not specified, then the default power will be the value of ASM_POWER_LIMIT.
根據 邏輯 cpu個數 與 負載情況 ,確定 asm_power_limit 引數。
1.1 檢視邏輯cpu個數
$ cat /proc/cpuinfo |grep "processor"|wc -l
48
1.2 grid使用者登入,設定 asm_power_limit 引數
$ sqlplus / as sysasm
SQL> show parameter asm_power_limit
NAME TYPE VALUE
------------------------------------ --------------- ------------------------------
asm_power_limit integer 1
1.3 修改 asm_power_limit 引數
SQL> alter system set asm_power_limit=20 sid= '*' scope=both;
1.4 新增或者刪除asm磁碟
1.5 還原 asm_power_limit 預設值
SQL> alter system set asm_power_limit=1 sid= '*' scope=both;
二、 新增磁碟組磁碟成員 (最好保證新增的磁碟成員size大小與該磁碟組其他成員size大小一致,否則浪費最大可用空間)
1.grid使用者進入asm環境
node1-> sqlplus / as sysasm
2.檢視當前環境的資訊
SQL>
col name for a35;
select a.group_number,b.name,a.path from v$asm_disk a,v$asm_diskgroup b where a.group_number=b.group_number;
3.增加一個asm磁碟 ,之後磁碟做 rebalance 操作
SQL> ALTER DISKGROUP DATA ADD DISK '/dev/asm-data02';
Diskgroup altered.
-- 如果查詢出來有結果,說明磁碟資料遷移沒有結束。如果查詢出來結束輸出為 no rows selected ,說明磁碟資料遷移已經結束。
SQL> select OPERATION,POWER,EST_RATE,EST_MINUTES,STATE from v$asm_operation;
GROUP_NUMBER OPERATION STATE POWER ACTUAL SOFAR
------------ --------------- ------------ ---------- ---------- ----------
EST_WORK EST_RATE EST_MINUTES
---------- ---------- -----------
ERROR_CODE
--------------------------------------------------------------------------------
3 REBAL RUN 1 1 195
300 782 0
4. 查詢磁碟情況
SQL>
col name for a40;
select group_number, name, TOTAL_MB, FREE_MB from V$asm_disk_stat;
GROUP_NUMBER NAME TOTAL_MB FREE_MB
------------ ---------------------------------------- ---------- ----------
3 DATA_0000 43008 40913
2 FLASH_0000 15360 14211
1 GRIDDG_0000 1024 830
1 GRIDDG_0001 1024 863
3 DATA_0001 6144 5842
SQL> select OPERATION,POWER,EST_RATE,EST_MINUTES,STATE from v$asm_operation;
no rows selected > 磁碟 rebalance 操作結束
三、 刪除磁碟組磁碟成員
3.0 查詢磁碟資訊,保留磁碟機代號path路徑 ( 刪除磁碟組的一個磁碟成員,但必須確保刪除該磁碟成員之後,該磁碟組的其他成員有足夠空間做 rebalance )
SQL>
col path for a30;
select group_number,disk_number,path from v$asm_disk order by group_number,disk_number;
GROUP_NUMBER DISK_NUMBER PATH
------------ ----------- ------------------------------
1 0 /dev/asm-ocr
1 1 /dev/asm-vd
2 0 /dev/asm-date
2 1 /dev/asm-date02
3 0 /dev/asm-flash
SQL> col name for a40
SQL> select group_number, name, TOTAL_MB, FREE_MB from V$asm_disk_stat;
GROUP_NUMBER NAME TOTAL_MB FREE_MB
------------ ---------------------------------------- ---------- ----------
3 DATA_0000 43008 40913
2 FLASH_0000 15360 14211
1 GRIDDG_0000 1024 830
1 GRIDDG_0001 1024 863
3 DATA_0001 6144 5842
3.1 開始刪除磁碟 DATA_0001 , 磁碟做 rebalance 操作
SQL> alter diskgroup DATA drop disk DATA_0001;
Diskgroup altered.
3.2 檢視磁碟情況
SQL>
col name for a45;
select group_number, name, TOTAL_MB, FREE_MB from V$asm_disk_stat;
GROUP_NUMBER NAME TOTAL_MB FREE_MB
------------ --------------------------------------------- ---------- ----------
3 DATA_0000 43008 40613
2 FLASH_0000 15360 14211
1 GRIDDG_0000 1024 830
1 GRIDDG_0001 1024 863
說明: 一旦重新調整刪除了所有的分配單元,那麼這個磁碟就從這個磁碟組中刪除了。
3.3 檢視磁碟 rebalance 操作是否結束,如果查詢輸出結果為 no rows selected ,表示已經 rebalance 結束。
SQL> select OPERATION,POWER,EST_RATE,EST_MINUTES,STATE from v$asm_operation;
no rows selected
SQL>
col state for a10;
col path for a20;
SQL> select path,group_number, disk_number,mount_status,state from v$asm_disk;
PATH GROUP_NUMBER DISK_NUMBER MOUNT_STATUS STATE
-------------------- ------------ ----------- --------------------- ----------
/dev/asm-data02 0 0 CLOSED NORMAL
/dev/asm-date 3 0 CACHED NORMAL
/dev/asm-flash 2 0 CACHED NORMAL
/dev/asm-ocr 1 0 CACHED NORMAL
/dev/asm-vd 1 1 CACHED NORMAL
說明:踢出磁碟後的成員, GROUP_NUMBER,DISK_NUMBER 顯示為 0 , 0
補充:磁碟處理方案
SQL>
col name for a20;
select group_number,disk_number,name,TOTAL_MB,FREE_MB,TOTAL_MB-FREE_MB used_size from V$asm_disk_stat order by group_number,disk_number;
GROUP_NUMBER NAME TOTAL_MB FREE_MB USED_SIZE
------------ -------------------- ---------- ---------- ----------
1 OCRVOTDG_0001 4096 3914 182
1 OCRVOTDG_0000 4096 3880 216
2 DATADG01_0004 284672 188576 96096
2 DATADG01_0000 284672 188648 96024
2 DATADG01_0005 284672 188632 96040
2 DATADG01_0006 284672 188616 96056
2 DATADG01_0007 284672 188664 96008
2 DATADG01_0001 284672 188584 96088
2 DATADG01_0002 284672 188560 96112
2 DATADG01_0003 284672 188584 96088
3 DATADG02_0004 284672 200504 84168
GROUP_NUMBER NAME TOTAL_MB FREE_MB USED_SIZE
------------ -------------------- ---------- ---------- ----------
3 DATADG02_0003 284672 200424 84248
3 DATADG02_0002 284672 200440 84232
3 DATADG02_0001 284672 200480 84192
3 DATADG02_0000 284672 200472 84200
3 DATADG02_0007 284672 200496 84176
3 DATADG02_0005 284672 200432 84240
3 DATADG02_0006 284672 200424 84248
4 DATADG03_0002 284672 273664 11008
4 DATADG03_0000 284672 273664 11008
4 DATADG03_0001 284672 273656 11016
5 ARCHDG_0000 284672 82672 202000
22 rows selected.
SQL> select sum(total_mb-free_mb) T_size from v$asm_disk;
T_SIZE
----------
1677646
SQL> select sum(total_mb) T_size from v$asm_disk;
T_SIZE
----------
5701632
SQL> select sum(free_mb) T_size from v$asm_disk;
T_SIZE
----------
4023986
磁碟處理情況說明:
SQL> select group_number,sum(total_mb) total_M,sum(total_mb-free_mb) used_size_M ,sum(free_mb) free_M from v$asm_disk group by group_number order by group_number ;
GROUP_NUMBER TOTAL_M USED_SIZE_M FREE_M
------------ ---------- ----------- ----------
1 8192 398 7794 (不動)
2 2277376 768512 1508864
3 2277376 673704 1603672
4 854016 33032 820984
5 284672 202000 82672 (不動)
SQL> select sum(total_mb) total_M,sum(total_mb-free_mb) used_size_M ,sum(free_mb) free_M from v$asm_disk where group_number in (2,3,4);
TOTAL_M USED_SIZE_M FREE_M
---------- ----------- ----------
5408768 1475248 3933520
計劃方案:已經使用 1677646 M ,存留 2.7 T=2831155 M , 踢出 2870477 M
5701632 - 2831155 = 2870477 M
2870477/284672 = 10.0834539
實際實施:
group 2 踢出4塊磁碟,DATADG01_0007~DATADG01_0004 。
group 3 踢出4塊磁碟,DATADG02_0007~DATADG02_0004。
group 4 踢出2塊磁碟,DATADG03_0002,DATADG03_0001 。
實際踢出空間:284672*10=2846720/1024/1024= 2.71484375 T
實際存留空間:5408768-2846720=2562048/1024/1024= 2.44335938 T
實施後儲存情況:
GROUP_NUMBER TOTAL_M USED_SIZE_M FREE_M
------------ ---------- ----------- ----------
1 8192 398 7794
2 1138688 768512 370176
3 1138688 673704 464984
4 284672 33032 251640
5 284672 202000 82672
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31383567/viewspace-2142935/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ASM磁碟簡單維護,新增,刪除ASM
- ASM的管理----刪除和新增磁碟組ASM
- asm新增和刪除磁碟ASM
- ASM磁碟組刪除DISK操作ASM
- 在ASM磁碟組中刪除一個磁碟ASM
- 11.2刪除第一個ASM磁碟組ASM
- asm 磁碟組 增刪磁碟組ASM
- linux下新增ASM磁碟LinuxASM
- 遷移OCR和VotingDisk並刪除原ASM磁碟組ASM
- 【ASM學習】手工刪除ASM磁碟組時提示錯誤ORA-15039ASM
- Oracle ASM新增磁碟組POWER OPTIONOracleASM
- 【ASM】Oracle asm刪除磁碟組注意事項ASMOracle
- 刪除ASM例項ASM
- 新增磁碟多連路磁碟併為ASM磁碟組擴容ASM
- asm例項刪除方法ASM
- ASM磁碟分割槽或者裝置檔案刪除後恢復的方法ASM
- 一次ASM新增新的磁碟組ASM
- 在Oracle10g 新增ASM磁碟組OracleASM
- RAC資料庫新增ASM磁碟組(1)資料庫ASM
- informix新增刪除chunkORM
- 在ASM磁碟組中刪除歸檔日誌報ORA-15028ASM
- 【RAC】刪除RAC資料庫節點(二)——刪除ASM資料庫ASM
- 向ASM diskgroup中新增磁碟的例行檢查ASM
- jQuery 新增和刪除classjQuery
- 紅黑樹新增刪除
- Cookie 的新增與刪除Cookie
- js新增刪除文字框JS
- Solr 刪除和新增 indexSolrIndex
- 新增/刪除約束(Oracle)Oracle
- swap分割槽新增刪除
- 單例項刪除ASM例項單例ASM
- OracleRAC新增asm磁碟組並設定歸檔位置OracleASM
- 在Oracle10g RAC下新增ASM磁碟組OracleASM
- 新增cookie、刪除cookie、清除cookieCookie
- class屬性的新增刪除
- 陣列的方法-新增刪除陣列
- javascript新增刪除cookie程式碼JavaScriptCookie
- 新增、刪除日誌檔案