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