AWR(Automatic Workload Repository)——分析(4)!

续接前面“AWR(Automatic Workload Repository)——分析(3)!

Instance Activity Stats

StatisticTotalper Secondper Trns
CPU used by this session99,100102.3191.84

。。。 。。。

这部分是实例的信息统计,项目非常多,我值重点讨论上面这个事件。

CPU used by this session:这个指标说明在当前的性能采集区间里面,Oracle消耗的cpu单位,一个cpu单位是1/100秒。

假设我们现在系统是6颗cpu的服务器,那么每颗cpu消耗的cpu单位就是102/6=17个cpu单位。

在一秒钟内,每个cpu处理的时间就是17/100=0.17秒。从这里可以判断数据库的cpu资源丰富,远没有出现瓶颈。


Tablespace IO Stats

  • ordered by IOs (Reads + Writes) desc
TablespaceReadsAv Reads/sAv Rd(ms)Av Blks/RdWritesAv Writes/sBuffer WaitsAv Buf Wt(ms)
SYSAUX22709.961.01420000.00
UNDOTBS1504.001.002170110.00
SYSTEM120011.671.7574000.00
这一部分是表空间的I/O性能统计,这里面的数据也是相对的。

Reads:发生了多少次物理读

Av Reads/s :每秒钟物理读的次数

Av Rd(ms) :平均一次物理读的时间(毫秒)

Av Blks/Rd :每次读了多少个数据块

Writes :发生了多少次写

Av Writes/s :每秒钟写的次数

Buffer Waits :获取内存数据块等待的次数

Av Buf Wt(ms) :获取内存数据块平均等待时间


File IO Stats

  • ordered by Tablespace, File
TablespaceFilenameReadsAv Reads/sAv Rd(ms)Av Blks/RdWritesAv Writes/sBuffer WaitsAv Buf Wt(ms)
SYSAUX/u01/app/oracle/oradata/orcl/sysaux01.dbf22709.961.01420000.00
SYSTEM/u01/app/oracle/oradata/orcl/system01.dbf120011.671.7574000.00
UNDOTBS1/u01/app/oracle/oradata/orcl/undotbs01.dbf504.001.002170110.00
这部分是文件级别的I/O统计,和上一部分表空间的信息一样。


从下面这部分开始,会看到Oracle给出一些关于各个内存组件大小的建议。

这几部分并不能帮组我们直观的定位系统的性能,但是它给我们一些关于几个Oracle内存组件大小的建议,所以我们应该关注一下这里,以便于知道当前数据库在这方面的设置是否合理。

Buffer Pool Advisory

  • Only rows with estimated physical reads >0 are displayed
  • ordered by Block Size, Buffers For Estimate
PSize for Est (M)Size FactorBuffers for EstimateEst Phys Read FactorEstimated Physical Reads
D960.1011,5021.019,280,242,678
D1920.2023,0041.019,221,206,840
D2880.3034,5061.009,203,382,424
D3840.4046,0081.009,187,795,751
D4800.5057,5101.009,173,359,689
D5760.6069,0121.009,170,239,226
D6720.7080,5141.009,167,537,392
D7680.8092,0161.009,165,125,531
D8640.90103,5181.009,162,962,005
D9601.00115,0201.009,160,956,280
D1,0561.10126,5221.009,159,872,178
D1,1521.20138,0241.009,158,692,041
D1,2481.30149,5261.009,157,439,260
D1,3441.40161,0281.009,156,077,677
D1,4401.50172,5301.009,154,595,433
D1,5361.60184,0321.009,141,375,909
D1,6321.70195,5341.009,117,577,424
D1,7281.80207,0360.999,093,764,198
D1,8241.90218,5380.999,069,947,117
D1,9202.00230,0400.797,195,790,859
这一部分是buffer pool的大小建议。

Size for Est (M) :Oracle估算buffer pool的大小

Size Factor :估算值和实际值的一个比例,比如0.9就是估算值是实际值的90%大小,1.0表示buffer pool的实际大小

Buffers for Estimate :估算的buffer的大小(数量)

Est Phys Read Factor :估算的物理读的影响因子,是估算物理读和实际物理读的一个比例,1.0表示实际的物理读

Estimated Physical Reads :估算的物理读次数
现在我们看到实际的buffer pool的大小为960MB(Size Factor=1.0),此时发出的物理读次数为9,160,956,280次,当Oracle尝试增大buffer pool到原来的1.1倍大小时(Size Factor=1.1),物理读降低到9,159,872,178,物理读降低了9,160,956,280-9,159,872,178=1084102次。如果我们继续增加buffer pool的大小到原来的2倍时,物理读降低为7,195,790,859次,降低了9,160,956,280-7,195,790,859=1965165421次。可以发现尽管我们将buffer pool的大小翻了一倍,物理读的下降程度是有限的,但我们付出的代价却是非常大的。所以我们不能一味的通过增加内存来减少物理读,需要找到一个最经济,效率又高的点,这就是Oracle建议器的目的。实际上,从上面可以看出这个系统目前还是非常闲的,buffer pool稍微大一点,和小一点对物理读的影响并不会非常大。


PGA Memory Advisory

  • When using Auto Memory Mgmt, minimally choose a pga_aggregate_target value where Estd PGA Overalloc Count is 0
PGA Target Est (MB)Size FactrW/A MB ProcessedEstd Extra W/A MB Read/ Written to DiskEstd PGA Cache Hit %Estd PGA Overalloc Count
6100.13548,398.44284,625.9566.00303
1,2200.25548,398.44275,104.6467.00286
2,4400.50548,398.44263,712.0968.00176
3,6590.75548,398.44229,058.8571.00142
4,8791.00548,398.4427,379.4995.000
5,8551.20548,398.4425,113.7696.000
6,8311.40548,398.4425,113.7696.000
7,8061.60548,398.4425,113.7696.000
8,7821.80548,398.4425,113.7696.000
9,7582.00548,398.4425,113.7696.000
14,6373.00548,398.4425,113.7696.000
19,5164.00548,398.4425,113.7696.000
29,2746.00548,398.4425,113.7696.000
39,0328.00548,398.4425,113.7696.000
这一部分建议器是关于PGA内存大小的建议。

PGA Target Est (MB) :PGA的估算大小

Size Factr :影响因子,作用和buffer pool相同

W/A MB Processed :Oracle为了产生估算处理的数据量

Estd Extra W/A MB Read/ Written to Disk  :处理数据中需要物理读写的数据量

Estd PGA Cache Hit % :估算的PGA命中率

Estd PGA Overalloc Count :需要在估算的PGA大小下额外分配的内存次数
这一部分我们要判断两个点,第一个点就是Oracle估算的PGA大小不会导致额外分配内存,在上面的表中就是Size Factor=1.0时PGA的大小;第二个点是物理读写的值不在增加,在这里的Size Factor=1.2的时候,如果要这两个条件满足,我们需要取Size Factor=1.2时的PGA大小,即5855MB,即如果要达到PGA性能最好,应该将pga_aggregate_target设置为5855MB,这个值固然比前面的值性能要好,但是我们需要考虑实际内存情况。


Shared Pool Advisory

  • SP: Shared Pool Est LC: Estimated Library Cache Factr: Factor
  • Note there is often a 1:Many correlation between a single logical object in the Library Cache, and the physical number of memory objects associated with it. Therefore comparing the number of Lib Cache objects (e.g. in v$librarycache), with the number of Lib Cache Memory Objects is invalid.
Shared Pool Size(M)SP Size FactrEst LC Size (M)Est LC Mem ObjEst LC Time Saved (s)Est LC Time Saved FactrEst LC Load Time (s)Est LC Load Time FactrEst LC Mem Obj Hits (K)
3200.63697,2432,390,5211.008,1871.34343,271
3840.7513113,6552,391,4201.007,2881.19343,453
4480.8819319,5892,392,0631.006,6451.08343,577
5121.0025626,0302,392,5771.006,1311.00343,676
5761.1331932,5392,393,0191.005,6890.93343,756
6401.2538239,0672,393,3721.005,3360.87343,822
7041.3844544,2502,393,6671.005,0410.82343,875
7681.5050850,0552,393,9061.004,8020.78343,919
8321.6357156,5572,394,1001.004,6080.75343,955
8961.7563463,2712,394,2561.004,4520.73343,984
9601.8869769,8082,394,3861.004,3220.70344,008
1,0242.0076076,1902,394,4901.004,2180.69344,027
这一部分是建议器对共享池大小的建议。

Shared Pool Size(M) :估算的共享池大小

SP Size Factr :共享池大小的影响因子

Est LC Size (M) :估算的库高速缓存占用的大小(library cache)

Est LC Mem Obj :高速缓存中的对象数

Est LC Time Saved (s) :需要额外将对象读入共享池的时间

Est LC Time Saved Factr :影响因子

Est LC Load Time (s) :分析所花费的时间

Est LC Load Time Factr :分析花费事件的影响因子

Est LC Mem Obj Hits (K) :内存中对象被发现的次数
我们看这个列表时,主要考虑这一列Est LC Time Saved Factr,它表示每一个模拟的Shared pool大小对重新将对象读入共享池的影响情况。当这个值变化很小,或者不变的时候,增加Shared pool大小就没有太大的意义!


SGA Target Advisory

SGA Target Size (M)SGA Size FactorEst DB Time (s)Est Physical Reads
7680.504,683,8989,187,523,012
1,1520.754,674,5579,165,536,717
1,5361.004,670,8209,160,956,239
1,9201.254,663,8149,141,718,231
2,3041.504,296,2207,195,931,126
2,6881.754,293,4187,195,931,126
3,0722.004,292,9517,195,931,126
这部分是建议器对SGA整体性能的一个建议。

SGA Target Size (M) :估算的SGA大小

SGA Size Factor :SGA大小的影响因子

Est DB Time (s) :估算的SGA大小计算出的DB Time

Est Physical Reads :物理读次数
从上面的列表可以看见当影响因子变为SGA Size Factor=1.5倍的时候,物理读的次数下降还是比较客观的,但是内存是否充足呢!如果充足的话可以将SGA调整为2304MB。


Segments by Logical Reads

  • Total Logical Reads: 3,662,795
  • Captured Segments account for 89.9% of Total
OwnerTablespace NameObject NameSubobject NameObj. TypeLogical Reads%Total
UNIPAYUSERCUCPAYPAYLART_PAY_SMSEND TABLE1,818,84849.66
UNIPAYUSERCUCPAYPAYLART_PAY_ORDER_INFO TABLE186,8805.10
UNIPAYUSERCUCPAYPAYLART_PAY_ORD_AUTO_NOTIFY TABLE159,6484.36
SYSSYSTEMI_OBJAUTH1 INDEX138,2723.78
UNIPAYUSERCUCPAYPAYLART_PAY_USERINFO TABLE111,6163.05

Segments by Physical Reads

  • Total Physical Reads: 96,430
  • Captured Segments account for 99.8% of Total
OwnerTablespace NameObject NameSubobject NameObj. TypePhysical Reads%Total
UNIPAYUSERCUCPAYPAYLART_PAY_USERINFO TABLE70,93273.56
UNIPAYUSERCUCPAYPAYLART_PAY_SMSEND TABLE21,31822.11
UNIPAYUSERCUCPAYPAYLARUK_BINDAGR INDEX1,7511.82
UNIPAYUSERCUCPAYPAYLARUK_USR_MBLBIND INDEX6730.70
UNIPAYUSERCUCPAYPAYLART_PAY_MERBINDAGR TABLE5000.52
这两部分是从对象角度来展现I/O的情况。分析这两部分信息,可以具体知道是哪些对象的访问导致了I/O性能的下降,这些信息对于我们最终定位和解决问题有一定帮助。


Segments by Buffer Busy Waits

  • % of Capture shows % of Buffer Busy Waits for each top segment compared
  • with total Buffer Busy Waits for all segments captured by the Snapshot
OwnerTablespace NameObject NameSubobject NameObj. TypeBuffer Busy Waits% of Capture
UNIPAYUSERCUCPAYPAYLARPK_T_MAN_JOURNAL INDEX2100.00
从这部分可以看出访问非常频繁的对象。

AWR报告里面提供了非常丰富的内容,其它部分在这里就不做介绍了!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值