代码改变世界

12C对ASM rebalance操作的优化

2016-09-14 08:59  abce  阅读(2057)  评论(0编辑  收藏  举报
如果在执行"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