数据库出现很高的enq: DX - contention等待该怎么解决

发布时间:2021-11-05 16:21:45 作者:柒染
来源:亿速云 阅读:350

数据库出现很高的enq: DX - contention等待该怎么解决,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

检查客户AWR报告时,发现数据库经历严重的enq: DX – contention等待。

 

 

这个数据库的版本是11.1.0.6 for Windows 64bits for AMD,在AWR报告中,TOP 5等待事件为:

 

 

Event

Waits

Time(s)

Avg  wait (ms)

%  DB time

Wait  Class

enq:  DX - contention

22,627

135,751

6000

126.41

Other

inactive  transaction branch

22,625

22,626

1000

21.07

Other

db  file scattered read

1,312,470

4,212

3

3.92

User  I/O

DB  CPU


3,928


3.66


db  file sequential read

1,349,206

3,522

3

3.28

User  I/O

其中以enq: DX – contention等待最为严重,其实是inactive transaction branch。而这两个等待事件平均等待时间分别是6秒和1秒,平均等待时间这么整,显然不是偶然,这说明这两个等待时间都经历了各自的超时时间。

查询metalink,这个问题也是BUG所致,在文档High CPU by Sessions Holding DX Enqueue; Others Waiting 'enq: DX - contention' [ID 1275884.1]中描述了这个错误。

导致问题的原因是一些持有分布式事务队列的用户尝试中止或退出分布式事务,Oracle在处理的时候占用了大量的CPU资源。

而用来判断是否出现这个问题的标志是,数据库中出现了明显的enq: DX – contentioninactive transaction branch等待事件。

这个问题影响10.211.1版本,在11.2中被FIXED。可以通过打单独的8552942的补丁来解决这个问题。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

推荐阅读:
  1. 数据库连接用php写的前端的方法如何实现
  2. python3+PyQt5使用数据库表视图

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

数据库 enq

上一篇:怎么用Java模拟多线程实现抢票代码

下一篇:怎么用Python写出新冠状病毒确诊人数地图

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》