数据库出现很高的enq: DX – contention等待该怎么解决,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。检查客户AWR报告时,发现数据库经历严重的enq: DX – contention等待。这个数据库的版本是11.1.0.6 for Windows 64bits for AMD,在AWR报告中,TOP 5等待事件为:
EventWaitsTime(s)Avg
wait (ms)%
DB timeWait
Classenq:
DX – contention22,627135,7516000126.41Otherinactive
transaction branch22,62522,626100021.07Otherdb
file scattered read1,312,4704,21233.92开发云主机域名User
I/ODB
CPU3,9283.66db
file sequential read1,349,2063,52233.28User
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 – contention和inactive transaction
branch等待事开发云主机域名件。这个问题影响10.2和11.1版本,在11.2中被FIXED。可以通过打单独的8552942的补丁来解决这个问题。看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注开发云行业开发云主机域名资讯频道,感谢您对开发云的支持。
本文从转载,原作者保留一切权利,若侵权请联系删除。
《数据库出现很高的enq: DX – contention等待该怎么解决》来自互联网同行内容,若有侵权,请联系我们删除!