ASM_POWER_LIMIT specifies the disk rebalancing speed of the ASM instance. The higher the limit, the faster rebalancing operation, but consume lot of CPU. Lower values will take longer, but consume fewer processing and I/O resources.
Rebalancing happens when we add or drop a disk from a diskgroup.
Import points:
- Background process ARBx performs the rebalance activity (where x is a number).
- If the POWER clause of a rebalance operation is not specified, then the default power will be the value of ASM_POWER_LIMIT.
- The range of asm_power_limit is from 0 to 1024. Default is one.
EXAMPLE:
1. Default asm_power_limit
SQL> show parameter asm_power_limit NAME TYPE VALUE ------------------------------------ ----------- ----------------------------- asm_power_limit integer 1
2. Add one disk to a asm diskgroup
SQL> alter diskgroup ENUMDATA add disk 'ORCL:NEWSALDATA2'; Diskgroup altered.
Check the rebalance operation:
SQL> select INST_ID, OPERATION, STATE, POWER, SOFAR, EST_WORK, EST_RATE, EST_MINUTES from GV$ASM_OPERATION; INST_ID OPERA STAT POWER SOFAR EST_WORK EST_RATE EST_MINUTES ---------- ----- ---- ---------- ---------- ---------- ---------- ----------- 1 REBAL RUN 1 1603 65299 4288 14 1 REBAL WAIT 1 0 0 0 0
Here the POWER is 1.
Alert log snippet:
SUCCESS: alter diskgroup SALDATA add disk 'ORCL:NEWSALDATA2' Starting background process ARB0 Tue Nov 28 15:00:05 2017 ARB0 started with pid=42, OS id=87252 NOTE: assigning ARB0 to group 1/0x884c0da5 (SALDATA) with 1 parallel I/O Tue Nov 28 15:00:05 2017 NOTE: header on disk 0 advanced to format #2 using fcn 0.451 Tue Nov 28 15:00:08 2017 NOTE: Attempting voting file refresh on diskgroup SALDATA
BACKGROUND process for rebalance
ps -ef | grep asm | grep arb oracle 87252 1 6 15:00 ? 00:00:02 asm_arb0_+ASM
Change the power limit to 4:
SQL> SQL> alter diskgroup SALDATA rebalance power 4; Diskgroup altered. SQL> select INST_ID, OPERATION, STATE, POWER, SOFAR, EST_WORK, EST_RATE, EST_MINUTES from GV$ASM_OPERATION; INST_ID OPERA STAT POWER SOFAR EST_WORK EST_RATE EST_MINUTES ---------- ----- ---- ---------- ---------- ---------- ---------- ----------- 1 REBAL RUN 4 3089 50823 19671 2 1 REBAL WAIT 4 0 0 0 0
We can see the reblance has started with new power limit of 4 and est_minute has been reduced from 14 to 2 minutes
Once completed you can check alert log for more information.
SQL> select INST_ID, OPERATION, STATE, POWER, SOFAR, EST_WORK, EST_RATE, EST_MINUTES from GV$ASM_OPERATION; no rows selected SUCCESS: refreshed membership for 1/0x884c0da5 (SALDATA) NOTE: Attempting voting file refresh on diskgroup SALDATA Tue Nov 28 15:07:27 2017 NOTE: stopping process ARB0 Tue Nov 28 15:07:30 2017 SUCCESS: rebalance completed for group 1/0x884c0da5 (SALDATA)