I wanted to rebalance 2 diskgroups at the same time on an standalone ASM instance.
So I issueed 2 rebalance commands as following
SQL> ALTER DISKGROUP TESTDG REBALANCE POWER 10
SQL> ALTER DISKGROUP FRA REBALANCE POWER 10
To check the status I queried the v$asm_operation view. Following was the output
SQL> select * from v$asm_operation
It was only rebalancing one diskgroup.
GROUP_NUMBER OPERA STAT POWER ACTUAL SOFAR EST_WORK EST_RATE EST_MINUTES
———— —– —- ———- ———- ———- ———- ———- ———–
2 REBAL WAIT 10 0 0 0 0 0
4 REBAL RUN 10 10 12600 110265 1386 70
Read Oracle docs, where it is clearly mentioned that “ASM can perform one disk group rebalance at a time on a given instance. Therefore, if you have initiated multiple rebalances on different disk groups, then Oracle processes this operation serially. However, you can initiate rebalances on different disk groups on different nodes in parallel”
It was working exactly as stated i.e., one operation was in REBAL RUN & another was in REBAL WAIT state. If I was using RAC, it would have been possible to initiate the rebalance operation on different nodes for different diskgroups.
Couple for more points
1. In RAC environment, ASM disk rebalancing only happens on one node
2. ASM rebalancing will survive, instance crash