Files
2026-05-18 06:40:19 +00:00

38 lines
1.4 KiB
SQL

ASM Rebalance diskgroup DATA on Production server (change)
-- 1.Log into ASM instance as sysasm.
-- 2.Check for imbalance status
SELECT g.name "Diskgroup",
100*(max((d.total_mb-d.free_mb)/d.total_mb)-min((d.total_mb-d.free_mb)/d.total_mb))/max((d.total_mb-d.free_mb)/d.total_mb) "Imbalance",
100*(max(d.total_mb)-min(d.total_mb))/max(d.total_mb) "Variance",
100*(min(d.free_mb/d.total_mb)) "MinFree",
count(*) "DiskCnt", g.type "Type"
FROM v$asm_disk d, v$asm_diskgroup g
WHERE d.group_number = g.group_number and d.group_number <> 0 and
d.state = 'NORMAL' and d.mount_status = 'CACHED'
GROUP BY g.name, g.type;
-- 3.ALTER DISKGROUP Z5RECO REBALANCE POWER 11;
-- 4.Check rebalance status:
select INST_ID, OPERATION, STATE, POWER, SOFAR, EST_WORK, EST_RATE, EST_MINUTES from GV$ASM_OPERATION where GROUP_NUMBER=2;
-- 5.Check for imbalance status
SELECT g.name "Diskgroup",
100*(max((d.total_mb-d.free_mb)/d.total_mb)-min((d.total_mb-d.free_mb)/d.total_mb))/max((d.total_mb-d.free_mb)/d.total_mb) "Imbalance",
100*(max(d.total_mb)-min(d.total_mb))/max(d.total_mb) "Variance",
100*(min(d.free_mb/d.total_mb)) "MinFree",
count(*) "DiskCnt", g.type "Type"
FROM v$asm_disk d, v$asm_diskgroup g
WHERE d.group_number = g.group_number and d.group_number <> 0 and
d.state = 'NORMAL' and d.mount_status = 'CACHED'
GROUP BY g.name, g.type;
-- 6.ALTER DISKGROUP Z5RECO REBALANCE POWER 0;
-- 7.View detailed description step 5