ASM (Automatic Storage Management) 磁盤組成員變更屬於高風險操作,需嚴格遵循標準流程,確保數據重平衡期間業務不中斷。
SHUTDOWN IMMEDIATE;RAC 可滾動實例。注意:ASM 實例必須保持啟動。
ALTER DISKGROUP dgdata MOUNT;
SELECT name, total_mb/1024 AS total_gb, free_mb/1024 AS free_gb, path
FROM v$asm_disk
WHERE group_number = (SELECT group_number FROM v$asm_diskgroup WHERE name = 'DGDATA');
-- 記錄 NAME (如 DGDATA_0003) 與 PATH (/dev/raw/raw9)
SELECT name, total_mb/1024, free_mb/1024
FROM v$asm_disk_stat
WHERE name = 'DGDATA_0003';
# Raw 設備映射
raw -qa | grep raw9
# 多路徑映射
multipath -ll | grep -A5 -B5 oradata4
# 存儲端 LUN ID 確認
ALTER DISKGROUP dgdata DROP DISK 'DGDATA_0003' REBALANCE POWER 5 WAIT;
-- WAIT 等待重平衡完成才返回;NOWAIT 異步執行
SELECT * FROM v$asm_operation;
-- STATE: RUN/WAIT/REBALANCE, POWER, ACTUAL, SOFAR, EST_WORK, EST_RATE, EST_MINUTES
SELECT name FROM v$asm_disk WHERE group_number = ...;
-- 目標磁盤不再列出
oracle:asmadmin 660。ALTER DISKGROUP dgdata ADD DISK '/dev/raw/raw_new' REBALANCE POWER 5 WAIT;v$asm_operation 至完成。| 參數/操作 | 建議 | 說明 |
|---|---|---|
| REBALANCE POWER | 業務低峰 5-7,高峰 1-3 | 11g+ 最大 1024 (ASM_POWER_LIMIT) |
| WAIT vs NOWAIT | 變更窗口內用 WAIT 確認完成 | NOWAIT 需自行輪詢 v$asm_operation |
| 冗餘度檢查 | NORMAL 需 ≥ 2 故障組,HIGH ≥ 3 | 刪除前確保剩餘磁盤滿足冗餘 |
| 磁盤大小一致 | 同磁盤組磁盤大小盡量一致 | 避免空間浪費與熱點 |