Oracle Awr报告分析-细节

Oracle Awr报告分析-细节

  • 内容衔接
  • 细节剖析
    • SQL Statistic分析
    • ASH Report分析
    • Latch Statistics
    • 参数观察
  • 分析结论

内容衔接

在进行Oracle Awr报告分析中,我们的分析思路是先总后分。先从Awr的总览信息中,分析系统的负载、数据库繁忙程度、严重的等待事件等,再从具体的事务入手分析。

在上一篇文章Oracle Awr报告分析-总览,我们分析得出如下结论:

  1. CPU利用率超过100%,说明出现了等待事件;
  2. 数据库非常繁忙,数据变更频率快,每秒产生日志量达到27M;
  3. 数据库软解析非常高,达到了100%;
  4. 主要的等待事件为游标等待和写日志等待时间;
  5. 主要的等待事件类型为concurrency和commit类。

细节剖析

SQL Statistic分析

Oracle Awr报告分析-细节_第1张图片

冲突点检查:我们观察了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 )

Oracle Awr报告分析-细节_第2张图片

从上边信息我们可看出top sql执行次数为965531次,并且version count达到了181次。

ASH Report分析

Oracle Awr报告分析-细节_第3张图片
Oracle Awr报告分析-细节_第4张图片

从Ash Report可看出该sql语句执行时发生“cursor: mutext S”锁。并且我们可以看到存在大量log file sync等待事件。

Latch Statistics

Oracle Awr报告分析-细节_第5张图片
Oracle Awr报告分析-细节_第6张图片

从latch统计上来看,hash table类型的cursor latch等待时间最为明显。

参数观察

cursor_obsolete_threshold

open_cursor
cursor_sharing
session_cache_cursors

分析结论

  1. cursor: mutext S等待事件:Hash table类型Mutex发生竞争,即子游标列表过长,即版本计数过高了导致。可通过调整隐含参数_cursor_obsolete_threshold进行优化。
  2. 软解析率非常高:可通过增大session_cached_cursor参数,以增大软解析的频率。
  3. log file sync等待事件:可通过调整sql减少commit次数进行优化。

你可能感兴趣的:(Oracle,linux,网络传输,交换机)