Oracle性能分析_AWR报告分析_最详细的性能分析报告10g和11g
Oracle AWR性能分析报告最详细的解释10g和11g
Automatic Workload Repository(AWR)收集、处理和维护性能系统信息,为性能调优的问题检测提供了有力的帮助。
AWR收集和处理的统计信息包括:
1. 段的统计信息;
2. 时间模型统计信息(在v$sys_time_model和v$sess_time_model视图中查看);
3. 一些在v$sysstat和v$sesstat视图中收集的系统和会话的统计信息;
4. 系统中负载最高的一些sql语句,分别按执行时间、cpu时间、执行次数等标准来统计
5. ASH统计信息,包含近期会话活动的历史记录
awr报告是oracle 10g/11G/12C下提供的一种性能收集和分析工具,它能提供一个时间段内整个系统资源使用情况的报告,通过这个报告,我们就可以了解一个系统的整个运行情况,这就像一个人全面的体检报告。
如何分析,详见附件:
Oracle AWR性能分析报告最详细的解释10g.pdf
Oracle AWR性能分析报告最详细的解释11g+.pdf
举例:
WORKLOAD REPOSITORY report for
DB Name |
DB Id |
Instance |
Inst num |
Release |
RAC |
Host |
fgtest |
1314098396 |
fgtest |
1 |
10.2.0.4.0 |
YES |
fgtest |
Snap Id |
Snap Time |
Sessions |
Cursors/Session |
|
Begin Snap: |
2678 |
25-Dec-18 14:04:50 |
24 |
1.5 |
End Snap: |
2680 |
25-Dec-18 15:23:37 |
26 |
1.5 |
Elapsed: |
78.79 (mins) |
|||
DB Time: |
11.05 (mins) |
DB Time不包括Oracle后台进程消耗的时间。如果DB Time远远小于Elapsed时间,说明数据库比较空闲。
db time= cpu time + wait time(不包含空闲等待) (非后台进程)
说白了就是db time就是记录的服务器花在数据库运算(非后台进程)和等待(非空闲等待)上的时间
DB time = cpu time + all of nonidle wait event time
在79分钟里(其间收集了3次快照数据),数据库耗时11分钟,RDA数据中显示系统有8个逻辑CPU(4个物理CPU),平均每个CPU耗时1.4分钟,CPU利用率只有大约2%(1.4/79)。说明系统压力非常小。
列出下面这两个来做解释:
Report A:
Snap Id Snap Time Sessions Curs/Sess
--------- ------------------- -------- ---------
Begin Snap: 4610 24-Jul-18 22:00:54 68 19.1
End Snap: 4612 24-Jul-18 23:00:25 17 1.7
Elapsed: 59.51 (mins)
DB Time: 466.37 (mins)
Report B:
Snap Id Snap Time Sessions Curs/Sess
--------- ------------------- -------- ---------
Begin Snap: 3098 13-Nov-17 21:00:37 39 13.6
End Snap: 3102 13-Nov-17 22:00:15 40 16.4
Elapsed: 59.63 (mins)
DB Time: 19.49 (mins)
服务器是AIX的系统,4个双核cpu,共8个核:
/sbin> bindprocessor -q
The available processors are: 0 1 2 3 4 5 6 7
先说Report A,在snapshot间隔中,总共约60分钟,cpu就共有60*8=480分钟,DB time为466.37分钟,则:
cpu花费了466.37分钟在处理Oralce非空闲等待和运算上(比方逻辑读)
也就是说cpu有 466.37/480*100% 花费在处理Oracle的操作上,这还不包括后台进程
看Report B,总共约60分钟,cpu有 19.49/480*100% 花费在处理Oracle的操作上
很显然,2中服务器的平均负载很低。
从awr report的Elapsed time和DB Time就能大概了解db的负载。
可是对于批量系统,数据库的工作负载总是集中在一段时间内。如果快照周期不在这一段时间内,或者快照周期跨度太长而包含了大量的数据库空闲时间,所得出的分析结果是没有意义的。这也说明选择分析时间段很关键,要选择能够代表性能问题的时间段。