数据库环境:oracle12.1.0.2.170718,两节点RAC+单实例ADG
日常巡检时候发现,晚上11点系统跑批的时候,会出现系统负载过高情况,明显有异于平时。但并不是每天晚上跑批都会出现该问题,一开始怀疑是跑批内容存在差异导致,后跟开发人员再三确认,跑批程序一致,数据也不相上下。
正常时,跑批期间DB Time:

异常时,跑批期间DB Time:

看看等待事件情况:
正常时的等待事件情况:

异常时的等待事件情况:

这个问题观察了有半个月的时间,发现问题的出现不存在规律性,更像是偶然事件,但偶发性概率较高,平均三四天就可能出现一次,有时候会连续出现两三天。
根据等待事件来看,主要是cursor:mutex X和library cache:mutex X,其中cursor:mutex X尤为突出。
关于cursor:mutex X的介绍:

本文分析了一起在Oracle数据库中遇到的cursor:mutex X等待事件问题,该问题导致系统负载异常。经过排查,发现与绑定变量无关,而是由于统计信息收集后游标失效引发的解析风暴。通过调整统计信息收集任务的no_invalidate参数为false,成功减少了cursor:mutex X的争用,目前问题已得到缓解。
最低0.47元/天 解锁文章
1268

被折叠的 条评论
为什么被折叠?



