时间:2021-07-01 10:21:17 帮助过:2人阅读
AWR默认保存一周的数据统计信息,产生快照频率和保留时间都可以手动调整,它完全可以取代statspack.
2.AWR报告生成步骤
2.1利用工具Toad连接到AWR报告生成界面
Database->monitor->ADDM/AWRReports(OEM)
2.2选择快照生成的时间段点击绿色按钮执行生成AWR报告
2.3通过数据库脚本文件生成AWR报告,执行如下脚本
$ORACLE_HOME\RDBMS\admin\awrrpt.sql
3.分析AWR报告
3.1 AWR报告头信息
Elapsed:采样时间段
DB Time:用户操作花费的时间
DB Time远小于Elapsed Time说明数据库比较空闲
3.2 AWR负载概要信息
Redo size:标志数据库的繁忙程度
Parses:小于300则表示正常
Hard parses:硬解析,小于100则表示正常
从以上数据可以初步说明此数据库的吞吐量与负载正常
3.3 AWR实例效率
Buffer Nowait%:内存获得数据的未等待比例
Buffer Hit%:小于80%则要加内存
Library Hit%:若低于90%,则需要调大share pool
In-memory sort%:内存排序比例,过低排序会在临时表中进行,则需调大PGA
Soft Parse%:确保大于99%,否则意味着share pool latch争用
以上数据可以说明数据库实例命中率处于正常状态
3.4 AWR TOP等待事件
在一个没有问题的数据库中,CPU time总是列在第一个位置
DB file sequential read:此等待事件为多表连接的顺序存在问题,可能没有正确的使用基表或是不加选择的使用索引
DB file scattered read:此等待事件比较显著说明存在大量的全表扫描或没有创建合适的索引
ARCH wait on SENDERQ:远程传送archivelog的等待事件
Oracle大致有100多个空闲等待事件与非空闲等待事件,
Top 5 Timed Events是DB系统中影响比较大的前五个等待事件,
CPU Time是空闲等待时间,它在排第一名说明DB比较空闲,
Db file sequentail read与scattered read表明索引的选择不是很合理,
3.5 AWR TOP SQL Tuning
对排名前几位的sql进行turning,Top sql的order by 对象有以下几种
SQL ordered by Elapsed Time: 根据sql执行时间总和排序
SQL ordered by CPU Time: 根据sql消耗CPU time总和排序
SQL ordered by Gets: 根据sql消耗逻辑IO总和排序
SQL ordered by Reads: 根据sql消耗物理IO总和排序
SQL ordered by Executions: 根据sql执行次数排序
SQL ordered by Parse Calls: 根据sql软解析次数
主要针对ordered by Elapsed time,orderedby CPU time,orderedbygets,orderedby read排名前三SQL进行观察并调优.
Oracle对SQL处理的步骤:
1.语法检查(检查SQL的拼写语法是否正确)
2.语义检查(检查SQL中的访问对象是否存在及是否具备相应权限)
3.进行解析(parse)(利用内部算法对SQL解析,生成解析树(parsetree)及执行计划(execution plan))à软硬解析发生在此过程中
4.执行SQL,返回结果
http://www.cnblogs.com/rootq/archive/2009/09/24/1573196.html
[转]oracle awr报告生成和分析
标签: