38 lines
1.4 KiB
SQL
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 |