Loading
1

11g中高‘Resmgr:Cpu Quantum’等待事件(即使你已经禁用了resource manager)造成数据库hang住的解决办法

 

‘Resmgr:Cpu Quantum’是resource manager用来控制分配CPU给processes的标准事件,当sessions无论什么原因使用了大量的CPU的时候,你有可能会看到一个‘hang’住的场景。这个事件发生在resource manager被启用,并用来节省CPU消耗的时候,但在11g中你即便已经禁用了resource manager,你仍旧会发现有高的‘Resmgr:Cpu Quantum’等待事件出现,亦或者出现‘sqlplus / as sysdba’被hang在那里的情况,你确定了参数‘RESOURCE_MANAGER_PLAN’是被设置为空的,但你依旧会看到高的‘Resmgr:Cpu Quantum’等待事件占据Top 5 Event:

Top 5 Timed Foreground Events:

这是由于从11g开始每个weekday window有一个预定义的Resource Plan叫做DEFAULT_MAINTENANCE_PLAN,当相关的window被打开的时候它就会被激活。

当它被激活的时候你会在alert log里看到以下条目信息:

解决办法:

较好的解决办法是将维护窗口移动到一个较空闲的时候,能有足够有效的CPU资源去运行和完成这个任务。

禁用DEFAULT_MAINTENANCE_PLAN应该只能作为最后的选项来解决这个问题,因为如果Oracle没有足够的维护窗口去收集新的优化器状态、为昂贵的SQL找到更好的执行计划、清空AWR等的话,这种做法可能导致在长期运行中的一些其他问题。

1.  设置当前的resource manager plan为空

2.  改变激活的window为使用空的resource manager plan

11g开始有更多的维护窗口,同样需要修改它们

3.  对其他的自定义的window也同样设置

请尊重我们的辛苦付出,未经允许,请不要转载 Ask600 的文章!