首页 > 数据库 > Oracle > enq: WF - contention等待事件

enq: WF - contention等待事件

原创 Oracle 作者:charsi 时间:2016-05-02 18:59:44 0 删除 编辑
前几天在客户现场看到一个比较少见的数据库等待事件  enq: WF - contention

What is the "WF - Contention'' Enqueue ?

MMON (Manageability Monitor) is attempting the autoflush function which means that we are trying to flush the ASH (Active Session History) data into the AWR (Active Workload Repository) for the historical repository. 

We take out the WF enqueue for doing this and hence in your wait sessions you may see WF enqueue contention.

What is the "WF - Contention'' Enqueue ? (Doc ID 358208.1)

也就是说,MMON进程在将ASH的数据导入到AWR中时,会请求一个WF的enqueue。这个等待事件一般很少出现,也很少会在AWR报告中的top 5中展现出来。
当天客户出现这个等待事件期间,RAC集群的存储链路出现了问题。除了这个等待事件,数据库中还有大量的Disk IO等待。因此我们大概可以推断是因为在存储链路出现问题时,刚好ash数据往awr中写。导致这个等待事件比较明显。(该数据库本身平时的压力并不大)

下面是网上找到的Jonathan Lewis对这个等待事件的描述:
As far as my understanding goes it shouldn't matter and shouldn't be reported in the Top 5 anyway). This is just one instance "saying" - is it safe for me to flush my AWR (and ASH) data to disc without causing cross instance contention - and the instances are synchhronised through this lock. But if you have a very large number of active sessions, or the SGA is small you could find that the ASH flush happens more frequently that once per hour because there isn't enough memory allocated to ASH to hold an hour's worth of data.

来自 “ ITPUB博客 ” ,链接:,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录


  • 博文量
  • 访问量