本文主要是介绍Oracle Awr报告分析-细节,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Oracle Awr报告分析-细节
- 内容衔接
- 细节剖析
- SQL Statistic分析
- ASH Report分析
- Latch Statistics
- 参数观察
- 分析结论
内容衔接
在进行Oracle Awr报告分析中,我们的分析思路是先总后分。先从Awr的总览信息中,分析系统的负载、数据库繁忙程度、严重的等待事件等,再从具体的事务入手分析。
在上一篇文章Oracle Awr报告分析-总览,我们分析得出如下结论:
- CPU利用率超过100%,说明出现了等待事件;
- 数据库非常繁忙,数据变更频率快,每秒产生日志量达到27M;
- 数据库软解析非常高,达到了100%;
- 主要的等待事件为游标等待和写日志等待时间;
- 主要的等待事件类型为concurrency和commit类。
细节剖析
SQL Statistic分析
冲突点检查:我们观察了top sql中消耗cpu性能,同时执行较长的主要有如下插入操作的sql,平均一条sql插入时间为0.14s,显然有锁存在:
# b3tdyv5np8r10
insert into CPS_TRANS_INTERACT ( TRANS_LOG_ID, EVENT, EVENT_TIME, EVENT_RESULT, REMARK, TRANS_INITIATE_TIME ) values ( :1 , :2 , :3 , :4 , :5 , :6 )
从上边信息我们可看出top sql执行次数为965531次,并且version count达到了181次。
ASH Report分析
从Ash Report可看出该sql语句执行时发生“cursor: mutext S”锁。并且我们可以看到存在大量log file sync等待事件。
Latch Statistics
从latch统计上来看,hash table类型的cursor latch等待时间最为明显。
参数观察
分析结论
- cursor: mutext S等待事件:Hash table类型Mutex发生竞争,即子游标列表过长,即版本计数过高了导致。可通过调整隐含参数_cursor_obsolete_threshold进行优化。
- 软解析率非常高:可通过增大session_cached_cursor参数,以增大软解析的频率。
- log file sync等待事件:可通过调整sql减少commit次数进行优化。
这篇关于Oracle Awr报告分析-细节的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!