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)