如果在执行"alter diskgroup"操作、或在添加、删除磁盘而引发的隐式rebalance的时,没有指定power选项,rebalance操作会使用初始化参数asm_power_limit的值。
这个参数的值可以动态调整。power选项的值越高,rebalance操作越快,但消耗的I/O资源也相对较多。
12c 中新的explain work for 语句用于衡量一个给定asm rebalance操作所需的工作量, 并在v$asm_estimate动态视图中输入结果,其中est_work表示要移动的au个数。使用此动态视图,你可以调整power limit 语句对rebalance操作工作进行改善。
例如,如果你想衡量删除一个新asm磁盘所需的工作量,在实际执行手动均衡操作之前,你可以使用以下命令:
SQL> explain work for alter diskgroup crs drop disk crs_0000; Explained. SQL> select * from v$asm_estimate; GROUP_NUMBER STATEMENT_ID TIMESTAMP EST_WORK CON_ID
------------ ------------------------------ --------- ---------- ----------
1 14-SEP-16 6357 0 SQL> SQL> explain work set statement_id='online' for alter diskgroup data online disk data_0000; explained. SQL> select est_work from v$asm_estimate where statement_id='online';
est_work
--------
635