生成AWR报告
AWR报告是 采集与性能相关的统计数据,并从那些统计数据中导出性能量度,以跟踪潜在的问题,可以简单理解成体检报告。
二、 操作步骤
1. 登录到AIX系统
2. 切换到一个目录下(此目录就是生成awr目录)
3. 登录到sql下
4. 键入生成AWR报告命令:
Specify the Report Type
~~~~~~~~~~~~~~~~~~~~~~~
Would you like an HTML report,or a plain text report?
Enter 'html' for an HTML report,or 'text' for plain text
Defaults to 'html'
输入report_type的值:
Type Specified:text
Specify the number of days of snapshots to choose from
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Entering the number of days (n) will result in the most recent
(n) days of snapshots being listed.Pressingwithout
specifying a number lists all completed snapshots.
输入num_days的值:1
Listing the last day's Completed Snapshots
Snap
Instance DB Name Snap Id Snap Started Level
------------ ------------ --------- ------------------ -----
orcl10g ORCL10G 142 03 7月2009 08:11 1
143 03 7月2009 09:00 1
144 03 7月2009 10:00 1
145 03 7月2009 11:00 1
146 03 7月2009 12:01 1
Specify the Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
输入begin_snap的值:142
Begin Snapshot Id specified: 142
输入end_snap的值:146
End Snapshot Id specified: 146
Specify the Report Name
The default report file name is awrrpt_1_142_146.html.To use this name,
pressto continue,otherwise enter an alternative.
输入report_name的值: /awr/awrrpt_1_142_146.txt
此报告就生成在/awr/awrrpt_1_142_146.txt
退出sql,就可以看到AWR报告了。
三、 AWR报告分析
4.1 sql ordered by Elapsed Time
记录了执行总和时间的TOP sql(请注意是监控范围内该sql的执行时间总和,而不是单次sql执行时间Elapsed Time = cpu Time + Wait Time)。
Elapsed Time(S):sql语句执行用总时长,此排序就是按照这个字段进行的。注意该时间不是单个sql跑的时间,而是监控范围内sql执行次数的总和时间。单位时间为秒。Elapsed Time = cpu Time + Wait Time
cpu Time(s):为sql语句执行时cpu占用时间总时长,此时间会小于等于Elapsed Time时间。单位时间为秒。
Executions:sql语句在监控范围内的执行次数总计。
Elap per Exec(s):执行一次sql的平均时间。单位时间为秒。
% Total DB Time:为sql的Elapsed Time时间占数据库总时间的百分比。
sql ID:sql语句的ID编号,点击之后就能导航到下边的sql详细列表中,点击IE的返回可以回到当前sql ID的地方。
sql Module:显示该sql是用什么方式连接到数据库执行的,如果是用sql*Plus或者PL/sql链接上来的那基本上都是有人在调试程序。一般用前台应用链接过来执行的sql该位置为空。
sql Text:简单的sql提示,详细的需要点击sql ID。
记录了执行占cpu时间总和时间最长的TOP sql(请注意是监控范围内该sql的执行占cpu时间总和,而不是单次sql执行时间)。
4.3 sql ordered by Gets:
记录了执行占总buffer gets(逻辑IO)的TOP sql(请注意是监控范围内该sql的执行占Gets总和,而不是单次sql执行所占的Gets)。
4.4 sql ordered by Reads:
记录了执行占总磁盘物理读(物理IO)的TOP sql(请注意是监控范围内该sql的执行占磁盘物理读总和,而不是单次sql执行所占的磁盘物理读)。
4.5 sql ordered by Executions:
记录了按照sql的执行次数排序的TOP sql。该排序可以看出监控范围内的sql执行次数。
4.6 sql ordered by Parse Calls:
记录了sql的软解析次数的TOP sql。说到软解析(soft prase)和硬解析(hard prase),就不能不说一下Oracle对sql的处理过程。
4.7 sql ordered by Sharable Memory:
记录了sql占用library cache的大小的TOP sql。Sharable Mem (b):占用library cache的大小,单位是byte。
4.8 sql ordered by Version Count:
4.9 sql ordered by Cluster Wait Time:http://blog.chinaunix.net/uid-15866552-id-4352121.html
记录了集群的等待时间的TOP sql
四、 总结
可以生成AWR文本报告。