如何看AWR报告文档格式.docx
《如何看AWR报告文档格式.docx》由会员分享,可在线阅读,更多相关《如何看AWR报告文档格式.docx(121页珍藏版)》请在冰豆网上搜索。
![如何看AWR报告文档格式.docx](https://file1.bdocx.com/fileroot1/2022-10/25/60554a5b-2ff6-43e1-b33d-6c3709d26768/60554a5b-2ff6-43e1-b33d-6c3709d267681.gif)
24
1.5
EndSnap:
2680
25-Dec-0815:
23:
37
26
Elapsed:
78.79(mins)
DBTime:
11.05(mins)
DBTime不包括Oracle后台进程消耗的时间。
如果DBTime远远小于Elapsed时间,说明数据库比拟空闲。
dbtime=cputime+waittime〔不包含空闲等待〕〔非后台进程〕
说白了就是dbtime就是记录的效劳器花在数据库运算(非后台进程)和等待(非空闲等待)上的时间
DBtime=cputime+allofnonidlewaiteventtime
在79分钟里〔其间收集了3次快照数据〕,数据库耗时11分钟,RDA数据中显示系统有8个逻辑CPU〔4个物理CPU〕,平均每个CPU耗时1.4分钟,CPU利用率只有大约2%〔1.4/79〕。
说明系统压力非常小。
列出下面这两个来做解释:
ReportA:
SnapIdSnapTimeSessionsCurs/Sess
---------------------------------------------
461024-Jul-0822:
00:
546819.1
461224-Jul-0823:
25171.7
59.51(mins)
466.37(mins)
ReportB:
309813-Nov-0721:
373913.6
310213-Nov-0722:
154016.4
59.63(mins)
19.49(mins)
效劳器是AIX的系统,4个双核cpu,共8个核:
/sbin>
bindprocessor-q
Theavailableprocessorsare:
01234567
先说ReportA,在snapshot间隔中,总共约60分钟,cpu就共有60*8=480分钟,DBtime为466.37分钟,那么:
cpu花费了466.37分钟在处理Oralce非空闲等待和运算上(比方逻辑读)
也就是说cpu有466.37/480*100%花费在处理Oracle的操作上,这还不包括后台进程
看ReportB,总共约60分钟,cpu有19.49/480*100%花费在处理Oracle的操作上
很显然,2中效劳器的平均负载很低。
从awrreport的Elapsedtime和DBTime就能大概了解db的负载。
可是对于批量系统,数据库的工作负载总是集中在一段时间。
如果快照周期不在这一段时间,或者快照周期跨度太长而包含了大量的数据库空闲时间,所得出的分析结果是没有意义的。
这也说明选择分析时间段很关键,要选择能够代表性能问题的时间段。
ReportSummary
CacheSizes
BufferCache:
3,344M
StdBlockSize:
8K
SharedPoolSize:
704M
LogBuffer:
14,352K
显示SGA中每个区域的大小〔在AMM改变它们之后〕,可用来与初始参数值比拟。
sharedpool主要包括librarycache和dictionarycache。
librarycache用来存储最近解析〔或编译〕后SQL、PL/SQL和Javaclasses等。
librarycache用来存储最近引用的数据字典。
发生在librarycache或dictionarycache的cachemiss代价要比发生在buffercache的代价高得多。
因此sharedpool的设置要确保最近使用的数据都能被cache。
LoadProfile
Redosize:
918,805.72
775,912.72
Logicalreads:
3,521.77
2,974.06
Blockchanges:
1,817.95
1,535.22
Physicalreads:
68.26
57.64
Physicalwrites:
362.59
306.20
Usercalls:
326.69
275.88
Parses:
38.66
32.65
Hardparses:
0.03
Sorts:
0.61
0.51
Logons:
0.01
Executes:
354.34
299.23
Transactions:
1.18
%BlockschangedperRead:
51.62
RecursiveCall%:
51.72
Rollbackpertransaction%:
85.49
RowsperSort:
########
显示数据库负载概况,将之与基线数据比拟才具有更多的意义,如果每秒或每事务的负载变化不大,说明应用运行比拟稳定。
单个的报告数据只说明应用的负载情况,绝大多数据并没有一个所谓“正确〞的值,然而Logons大于每秒1~2个、Hardparses大于每秒100、全部parses超过每秒300说明可能有争用问题。
Redosize:
每秒产生的日志大小(单位字节),可标志数据变更频率,数据库任务的繁重与否。
Logicalreads:
每秒/每事务逻辑读的块数.平决每秒产生的逻辑读的block数。
LogicalReads=ConsistentGets+DBBlockGets
Blockchanges:
每秒/每事务修改的块数
Physicalreads:
每秒/每事务物理读的块数
Physicalwrites:
每秒/每事务物理写的块数
Usercalls:
每秒/每事务用户call次数
Parses:
SQL解析的次数.每秒解析次数,包括fastparse,softparse和hardparse三种数量的综合。
软解析每秒超过300次意味着你的"
应用程序"
效率不高,调整session_cursor_cache。
在这里,fastparse指的是直接在PGA中命中的情况〔设置了session_cached_cursors=n〕;
softparse是指在sharedpool中命中的情形;
hardparse那么是指都不命中的情况。
Hardparses:
其中硬解析的次数,硬解析太多,说明SQL重用率不高。
每秒产生的硬解析次数,每秒超过100次,就可能说明你绑定使用的不好,也可能是共享池设置不合理。
这时候可以启用参数cursor_sharing=similar|force,该参数默认值为exact。
但该参数设置为similar时,存在bug,可能导致执行方案的不优。
Sorts:
每秒/每事务的排序次数
Logons:
每秒/每事务登录的次数
Executes:
每秒/每事务SQL执行次数
Transactions:
每秒事务数.每秒产生的事务数,反映数据库任务繁重与否。
BlockschangedperRead:
表示逻辑读用于修改数据块的比例.在每一次逻辑读中更改的块的百分比。
RecursiveCall:
递归调用占所有操作的比率.递归调用的百分比,如果有很多PL/SQL,那么这个值就会比拟高。
Rollbackpertransaction:
每事务的回滚率.看回滚率是不是很高,因为回滚很耗资源,如果回滚率过高,可能说明你的数据库经历了太多的无效操作,过多的回滚可能还会带来UndoBlock的竞争该参数计算公式如下:
Round(Userrollbacks/(usermits+userrollbacks),4)*100%。
RowsperSort:
每次排序的行数
注:
Oracle的硬解析和软解析
提到软解析(softprase)和硬解析(hardprase),就不能不说一下Oracle对sql的处理过程。
当你发出一条sql语句交付Oracle,在执行和获取结果前,Oracle对此sql将进展几个步骤的处理过程:
1、语法检查(syntaxcheck)
检查此sql的拼写是否语法。
2、语义检查(semanticcheck)
诸如检查sql语句中的访问对象是否存在及该用户是否具备相应的权限。
3、对sql语句进展解析(prase)
利用部算法对sql进展解析,生成解析树(parsetree)及执行方案(executionplan)。
4、执行sql,返回结果(executeandreturn)
其中,软、硬解析就发生在第三个过程里。
Oracle利用部的hash算法来取得该sql的hash值,然后在librarycache里查找是否存在该hash值;
假设存在,那么将此sql与cache中的进展比拟;
假设“一样〞,就将利用已有的解析树与执行方案,而省略了优化器的相关工作。
这也就是软解析的过程。
诚然,如果上面的2个假设中任有一个不成立,那么优化器都将进展创立解析树、生成执行方案的动作。
这个过程就叫硬解析。
创立解析树、生成执行方案对于sql的执行来说是开销昂贵的动作,所以,应当竭力防止硬解析,尽量使用软解析。
InstanceEfficiencyPercentages(Target100%)
BufferNowait%:
100.00
RedoNoWait%:
BufferHit%:
98.72
In-memorySort%:
99.86
LibraryHit%:
99.97
SoftParse%:
99.92
ExecutetoParse%:
89.09
LatchHit%:
99.99
ParseCPUtoParseElapsd%:
7.99
%Non-ParseCPU:
99.95
本节包含了Oracle关键指标的存命中率及其它数据库实例操作的效率。
其中BufferHitRatio也称CacheHitRatio,LibraryH