码迷,mamicode.com
首页 > 其他好文 > 详细

awr报告基础

时间:2018-06-10 18:33:02      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:运行   占用   内容   情况   10g   summary   保存   内存数据   for   

awr报告基础

awr

1. awr是什么

awr是oracle 10g后提供的一种性能收集和分析工具,它能够提供一个时间段内整个系统资源使用情况的报告。

2. awr生成方式

修改awr生成时间,保存周期

-- interval  快照间隔,单位是分钟
-- retention 快照保留周期,单位是分钟
execdbms_workload_repository.modify_snapshot_settings(interval=>60,retention=>7*2*24*60);

手工生成

注:生成当前时间awr

-- 生成当前时点awr报告,后续使用awr生成命令
exec dbms_workload_repository.create_snapshot();

生成方式

SQL>@?/rdbms/admin/awrrpt

3. 分析awr

用处:通过awr报告可以:1)查看系统的负载和繁忙程度;2)查看系统的瓶颈,发生的等待事件;3)查看可优化的sql;

3.1 Report Summary(报告摘要):

1、SESSIONS:实例连接的会话数,数据库大概的并发用户数;
2、cursors/session:每个会话平均打开的游标数;
3、DB time:用户操作花费的时间的合集,包括CPU时间和等待事件;
4、cache sizes:列举awr在性能采集开始和结束的时候,数据缓冲池和共享池的大小,可以了解系统内存消耗的变化,可以判断SGA的内存分配是否合理;
5、load profile:数据库资源负载的一个明细列表,用来判断系统的繁忙程度。分割为每秒钟的资源负载和每个事务的资源负载情况。
6、Instance Efficiency Percentages:内存效率的统计信息,对于OLTP系统,应尽可能的接近100%。如果哪个数据偏低,就要做相关的分析研究。
  1)buffer nowait:非等待方式获取数据库;
  2)redo nowait:非等待方式获取redo数据;
  3)buffer hit:内存数据块命中率;
  4)in-memory sort:数据块在内存中排序的百分比;
  5)library hit:共享池中sql解析的命中率;
  6)execute to parse:执行次数对分析次数的百分比;
  7)latch Hit:latch命中率百分比;
  8)parse cpu to parse elapsed:解析总时间中消耗CPU的时间百分比;
  9)non-parse cpu:cpu非分析时间在整个cpu时间的百分比;
7、TOP 5 TIMED EVENTS:查看最高5个耗费时间及等待事件,要联系报告的采集周期来看耗费时间是否合理。一般来说,CPU time出现在TOP5中的第一位,并且消耗时间占总时间的大部分比例。可以说明系统在正常运行。
对于ORACLE常见的等待事件可参考oracle常见的等待事件说明
以上这部分就是awr报告的总体概要,是需要重点关注的部分,根据这些信息可以知道等待时间比较长的事件,然后根据这些事件,去下面具体的部分查找问题原因。

3.2 Wait Events Statistics:

 1、Time Model Statistics列出了各种操作占用的数据库时间比例;
 2、Foreground Wait Class列出了等待事件类型,可以看到等待时间最长的事件;
 3、Foreground Wait Events是第一部分TOP 5 TIMED EVENTS的详细部分;
 4、Background Wait Events实例的后台进程等待事件;

3.3 SQL Statistics:

 1、SQL ordered by Elapsed Time:按照sql的执行时间从长到短的排序;
  1)CPU time:sql消耗的CPU时间;
  2)elapsed time:sql执行时间;
  3)executions:sql执行的次数;
  4)elapsed per exec:每次执行消耗的执行时间;
2、SQL ordered by CPU Time:按照sql的CPU时间从长到短排序:
3、SQL ordered by User I/O Wait Time
4、SQL ordered by Gets:按照sql获取的内存数据块的数量排序:
5、SQL ordered by Reads:按照sql执行物理读排序:
6、SQL ordered by Physical Reads (UnOptimized)
7、SQL ordered by Executions:按照sql的执行次数的排序;
8、SQL ordered by Parse Calls:按照sql被分析次数(不区分软解析还是硬解析)的信息排序;
9、SQL ordered by Version Count:sql产生多版本的信息;version count是sql的版本数;
以上指标孤立起来看都没有实际意义,需要看系统的类型和性能问题是什么方面,有侧重的进行分析。例如SQL ordered by Executions和SQL ordered by Parse Calls对OLTP比较重要,而OLAP系统不需要太关注。

3.4 Instance Activity Statistics:

  cpu used by this session:oracle消耗的cpu单位,可以看出cpu的负载情况;如果total为1000,per sec 为80,cpu个数为2;
那么就是整个统计周期消耗了1000个cpu单位,每秒钟消耗了80个cpu单位,对应实际的时间是80/100=0.8秒;每秒钟每个cpu消耗80/2=40个cpu单位;每秒钟中每个cpu处理使用的时间是40/100=0.4秒。

3.5 IO Stats:

Tablespace IO Stats:表空间的IO性能统计;
File IO Stats
  1)reads:发生了多少次物理读;
  2)writes:发生了多少次写;
  3)Av reads:每秒钟物理读的次数;
  4)Av Rd:平均一次物理读的时间;
  5)Blks/Rd:每次读多少个数据块;
  6)Av writes:每秒钟写的次数;
  7)buffer waits:获取内存数据块等待的次数;
segments by logical readssegment by physical reads从对象角度来展现了IO情况,分析这两部分信息,可以具体知道哪些对象的访问导致了IO性能下降。

ASH























部分内容摘自ORACLE AWR性能报告和ASH性能报告的解读

awr报告基础

标签:运行   占用   内容   情况   10g   summary   保存   内存数据   for   

原文地址:https://www.cnblogs.com/andymdcc/p/9163785.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!