ITPUX技术网

交流 . 资讯 . 分享
Make progress together!
Linux操作系统下Oracle11g R2 RAC 安装配置教程
Oracle数据库培训-备份恢复-性能优化-集群容灾
Oracle数据库DBA高级工程师培训视频

深入理解AWR性能报告3

内容发布:dafufeng| 发布时间:2015-4-18 21:02:37

6 缓冲池统计 Buffer Pool Statistics




Buffer Pool Statistics              Snaps: 70719-70723-> Standard block size Pools  D: default,  K: keep,  R: recycle-> Default Pools for other block sizes: 2k, 4k, 8k, 16k, 32k                                                            Free   Writ   Buffer     Number of Pool       Buffer     Physical    Physical   Buff   Comp     BusyP      Buffers Hit%         Gets        Reads      Writes   Wait   Wait    Waits--- ---------- ---- ------------ ------------ ----------- ------ ------ --------16k     15,720  N/A            0            0           0      0      0        0D    2,259,159   98 2.005084E+09   42,753,650     560,460      0      1 8.51E+06

该环节的数据主要来源于WRH$_BUFFER_POOL_STATISTICS, 而WRH$_BUFFER_POOL_STATISTICS是定期汇总v$SYSSTAT中的数据


P   pool池的名字   D: 默认的缓冲池 default buffer pool  , K : Keep Pool , R: Recycle Pool ;  2k 4k 8k  16k 32k: 代表各种非标准块大小的缓冲池

Number of buffers:  实际的 缓冲块数目,   约等于  池的大小 / 池的块大小

Pool Hit % :  该缓冲池的命中率

Buffer Gets: 对该缓冲池的中块的访问次数 包括  consistent gets 和 db block gets

Physical Reads: 该缓冲池Buffer Cache引起了多少物理读, 其实是physical reads cache ,单位为 块数*次数

Physical Writes :该缓冲池中Buffer cache被写的物理写, 其实是physical writes from cache, 单位为 块数*次数

Free Buffer Waits:  等待空闲缓冲的次数, 可以看做该buffer pool 发生free buffer waits 等待的次数

Write Comp Wait:   等待DBWR写入脏buffer到磁盘的次数, 可以看做该buffer pool发生write complete waits等待的次数

Buffer Busy Waits:  该缓冲池发生buffer busy wait 等待的次数



7-1 Checkpoint Activity  检查点与 Instance Recovery Stats    实例恢复



Checkpoint Activity         Snaps: 70719-70723-> Total Physical Writes:                      590,563                                          Other    Autotune      Thread       MTTR    Log Size    Log Ckpt    Settings        Ckpt        Ckpt     Writes      Writes      Writes      Writes      Writes      Writes----------- ----------- ----------- ----------- ----------- -----------          0           0           0           0      12,899           0          -------------------------------------------------------------Instance Recovery Stats     Snaps: 70719-70723-> B: Begin Snapshot,  E: End Snapshot                                                                            Estd  Targt  Estd                                     Log Ckpt Log Ckpt    Opt   RAC  MTTR   MTTR Recovery  Actual   Target   Log Sz   Timeout Interval    Log Avail   (s)    (s) Estd IOs RedoBlks RedoBlks RedoBlks RedoBlks RedoBlks  Sz(M)  Time- ----- ----- -------- -------- -------- -------- -------- -------- ------ -----B     0     6    12828   477505  1786971  5096034  1786971      N/A    N/A     3E     0     7    16990   586071  2314207  5096034  2314207      N/A    N/A     3          -------------------------------------------------------------

该环节的数据来源于WRH$_INSTANCE_RECOVERY

MTTR  Writes  :   为了满足FAST_START_MTTR_TARGET 指定的MTTR值 而做出的物理写  WRITES_MTTR

Log Size Writes :由于最小的redo log file而做出的物理写 WRITES_LOGFILE_SIZE

Log Ckpt writes: 由于 LOG_CHECKPOINT_INTERVAL 和 LOG_CHECKPOINT_TIMEOUT 驱动的增量检查点而做出的物理写 WRITES_LOG_CHECKPOINT_SETTINGS

Other Settings Writes :由于其他设置(例如FAST_START_IO_TARGET)而引起的物理写,  WRITES_OTHER_SETTINGS

Autotune Ckpt Writes : 由于自动调优检查点而引起的物理写, WRITES_AUTOTUNE

Thread Ckpt Writes :由于thread checkpoint而引起的物理写,WRITES_FULL_THREAD_CKPT
B 代表 开始点, E 代表结尾

Targt MTTR (s) : 目标MTTR (mean time to recover)意为有效恢复时间,单位为秒。 TARGET_MTTR 的计算基于 给定的参数FAST_START_MTTR_TARGET,而TARGET_MTTR作为内部使用。 实际在使用中 Target MTTR未必能和FAST_START_MTTR_TARGET一样。 如果FAST_START_MTTR_TARGET过小,那么TARGET_MTTR 将是系统条件所允许的最小估算值;  如果FAST_START_MTTR_TARGET过大,则TARGET_MTTR以保守算法计算以获得完成恢复的最长估算时间。


estimated_mttr (s):   当前基于 脏buffer和重做日志块的数量,而评估出的有效恢复时间 。 它的估算告诉用户 以当下系统的负载若发生实例crash,则需要多久时间来做crash recovery的前滚操作,之后才能打开数据库。

Recovery Estd IOs :实际是当前buffer cache中的脏块数量,一旦实例崩溃 这些脏块要被前滚

Actual RedoBlks :  当前实际需要恢复的redo重做块数量

Target RedoBlks :是 Log Sz RedoBlks 、Log Ckpt  Timeout  RedoBlks、 Log Ckpt Interval  RedoBlks 三者的最小值

Log Sz RedoBlks :   代表 必须在log file switch日志切换之前完成的 checkpoint 中涉及到的redo block,也叫max log lag; 数据来源select LOGFILESZ   from X$targetrba;  select LOG_FILE_SIZE_REDO_BLKS from v$instance_recovery;

Log Ckpt Timeout RedoBlks : 为了满足LOG_CHECKPOINT_TIMEOUT  所需要处理的redo block数,lag for checkpoint timeout ; 数据来源select CT_LAG from x$targetrba;

Log Ckpt Interval RedoBlks :为了满足LOG_CHECKPOINT_INTERVAL 所需要处理的redo block数, lag for checkpoint interval; 数据来源select CI_LAG from x$targetrba;

Opt Log Sz(M) :  基于FAST_START_MTTR_TARGET 而估算出来的redo logfile 的大小,单位为MB 。 Oracle官方推荐创建的重做日志大小至少大于这个估算值


Estd RAC Avail Time  :指评估的 RAC中节点失败后 集群从冻结到部分可用的时间, 这个指标仅在RAC中可用,单位为秒。 ESTD_CLUSTER_AVAILABLE_TIME




7-2 Buffer Pool Advisory 缓冲池建议



Buffer Pool Advisory                      DB/Inst: ITSCMP/itscmp2  Snap: 70723-> Only rows with estimated physical reads >0 are displayed-> ordered by Block Size, Buffers For Estimate                                    Est                                   Phys      Estimated                  Est    Size for   Size      Buffers   Read     Phys Reads     Est Phys %DBtimeP    Est (M) Factor  (thousands) Factor    (thousands)    Read Time for Rds--- -------- ------ ------------ ------ -------------- ------------ -------D      1,920     .1          227    4.9  1,110,565,597            1 1.0E+09D      3,840     .2          454    3.6    832,483,886            1 7.4E+08D      5,760     .3          680    2.8    634,092,578            1 5.6E+08D      7,680     .4          907    2.2    500,313,589            1 4.3E+08D      9,600     .5        1,134    1.8    410,179,557            1 3.5E+08D     11,520     .6        1,361    1.5    348,214,283            1 2.9E+08D     13,440     .7        1,588    1.3    304,658,441            1 2.5E+08D     15,360     .8        1,814    1.2    273,119,808            1 2.2E+08D     17,280     .9        2,041    1.1    249,352,943            1 2.0E+08D     19,200    1.0        2,268    1.0    230,687,206            1 1.8E+08D     19,456    1.0        2,298    1.0    228,664,269            1 1.8E+08D     21,120    1.1        2,495    0.9    215,507,858            1 1.7E+08D     23,040    1.2        2,722    0.9    202,816,787            1 1.6E+08D     24,960    1.3        2,948    0.8    191,974,196            1 1.5E+08D     26,880    1.4        3,175    0.8    182,542,765            1 1.4E+08D     28,800    1.5        3,402    0.8    174,209,199            1 1.3E+08D     30,720    1.6        3,629    0.7    166,751,631            1 1.2E+08D     32,640    1.7        3,856    0.7    160,002,420            1 1.2E+08D     34,560    1.8        4,082    0.7    153,827,351            1 1.1E+08D     36,480    1.9        4,309    0.6    148,103,338            1 1.1E+08D     38,400    2.0        4,536    0.6    142,699,866            1 1.0E+08

缓冲池的颗粒大小 可以参考 SELECT * FROM V$SGAINFO where name like(‘Granule%’);
P 指 缓冲池的名字  可能包括 有 D default buffer pool , K  Keep Pool , R recycle Pool

Size For Est(M):  指以该尺寸的buffer pool作为评估的对象,一般是 目前current size的 10% ~ 200%,以便了解 buffer pool 增大 ~减小 对物理读的影响

Size Factor :  尺寸因子, 只 对应buffer pool 大小  对 当前设置的比例因子, 例如current_size是 100M , 则如果评估值是110M 那么 size Factor 就是 1.1

Buffers (thousands) :指这个buffer pool 尺寸下的buffer 数量, 要乘以1000才是实际值

Est  Phys Read Factor :评估的物理读因子, 例如当前尺寸的buffer pool 会引起100个物理读, 则别的尺寸的buffer pool如果引起 120个物理读, 那么 对应尺寸的Est  Phys Read Factor就是1.2

Estimated Phys Reads (thousands):评估的物理读数目, 要乘以 1000才是实际值, 显然不同尺寸的buffer pool对应不同的评估的物理读数目

Est Phys Read Time : 评估的物理读时间

Est %DBtime for Rds:评估的物理读占DB TIME的比率



我们 看buffer pool advisory 一般有2个目的:


  • 在物理读较多的情况下,希望通过增加buffer pool 大小来缓解物理读等待,这是我们关注Size Factor > 1的buffer pool尺寸是否能共有效减少Est Phys Read  Factor, 如果Est Phys Read  Factor随着Size Factor 增大 而显著减少,那么说明增大buffer cache 是可以有效减少物理读的。
  • 在内存紧张的情况下 ,希望从buffer pool中匀出部分内存来移作他用, 但是又不希望 buffer cache变小导致 物理读增多 性能下降, 则此时 观察Est Phys Read  Factor 是否随着Size Factor 减小而 显著增大, 如果不是 则说明减少部分buffer cache 不会导致 物理读大幅增加,也就可以安心 减少 buffer cache

注意 Size Factor 和 Est Phys Read  Factor之间不是简单的 线性关系,所以需要人为介入评估得失




7-3 PGA Aggr Summary



PGA Aggr Summary                 Snaps: 70719-70723-> PGA cache hit % - percentage of W/A (WorkArea) data processed only in-memoryPGA Cache Hit %   W/A MB Processed  Extra W/A MB Read/Written--------------- ------------------ --------------------------           99.9            412,527                        375

PGA Cache Hit % : 指 W/A WorkArea工作区的数据仅在内存中处理的比率, PGA缓存命中率

workarea是PGA中负责处理 排序、哈希连接和位图合并操作的区域; workarea 也叫做 SQL 作业区域

W/A  MB processes:   指 在Workarea中处理过的数据的量,单位为MB

Extra W/A MB Read/Written :  指额外从磁盘上 读写的 工作区数据, 单位为 MB



7-4 PGA Aggr Target Stats



Warning:  pga_aggregate_target was set too low for current workload, as this          value was exceeded during this interval.  Use the PGA Advisory view          to help identify a different value for pga_aggregate_target.PGA Aggr Target Stats       Snaps: 70719-70723-> B: Begin Snap   E: End Snap (rows dentified with B or E contain data   which is absolute i.e. not diffed over the interval)-> Auto PGA Target - actual workarea memory target-> W/A PGA Used    - amount of memory used for all Workareas (manual + auto)-> %PGA W/A Mem    - percentage of PGA memory allocated to workareas-> %Auto W/A Mem   - percentage of workarea memory controlled by Auto Mem Mgmt-> %Man W/A Mem    - percentage of workarea memory under manual control                                                %PGA  %Auto   %Man    PGA Aggr   Auto PGA   PGA Mem    W/A PGA     W/A    W/A    W/A Global Mem   Target(M)  Target(M)  Alloc(M)    Used(M)     Mem    Mem    Mem   Bound(K)- ---------- ---------- ---------- ---------- ------ ------ ------ ----------B      8,192        512   23,690.5      150.1     .6  100.0     .0    838,860E      8,192        512   23,623.6      156.9     .7  100.0     .0    838,860          -------------------------------------------------------------

此环节的数据来源主要是 WRH$_PGASTAT

PGA Aggr  Target(M) :本质上就是pga_aggregate_target , 当然在AMM(memory_target)环境下 这个值可能会自动变化

Auto PGA Target(M)  : 在自动PGA 管理模式下 实际可用的工作区内存  “aggregate PGA auto target “, 因为PGA还有其他用途 ,不能全部作为workarea memory

PGA Mem Alloc(M) :目前已分配的PGA内存,  alloc  不等于 inuse 即分配的内存不等于在使用的内存,理论上PGA会将确实不使用的内存返回给OS(PGA memory freed back to OS) ,但是存在PGA占用大量内存而不释放的场景

在上例中 pga_aggregate_target 仅为8192M ,而实际processes 在 2,615~ 8000之间,如果一个进程耗费5MB的PGA 也需要 10000M的PGA ,而实际这里 PGA Mem Alloc(M)是23,690 M ,这说明 存在PGA 的过载, 需要调整pga_aggregate_target


W/A PGA Used(M) :所有的工作区workarea(包括manual和 auto)使用的内存总和量, 单位为MB

%PGA W/A Mem:  分配给workarea的内存量占总的PGA的比例,  (W/A PGA Used)/PGA Mem Alloc

%Auto W/A Mem : AUTO 自动工作区管理所控制的内存(workarea_size_policy=AUTO) 占总的workarea内存的比例

%Man W/A Mem : MANUAL 手动工作区管理所控制的内存(workarea_size_policy=MANUAL)占总的workarea内存的比例

Global Mem Bound(K) : 指 在自动PGA管理模式下一个工作区所能分配的最大内存(注意 一个SQL执行过程中可能有多个工作区workarea)。 Global Mem Bound(K)这个指标在实例运行过程中将被持续性的修正,以反应数据库当时工作区的负载情况。显然在有众多活跃工作区的系统负载下相应地Global Mem Bound将会下降。 但应当保持global bound值不要小于1 MB , 否则建议 调高pga_aggregate_target



7-5 PGA Aggr Target Histogram



PGA Aggr Target Histogram           Snaps: 70719-70723-> Optimal Executions are purely in-memory operations  Low     HighOptimal Optimal    Total Execs  Optimal Execs 1-Pass Execs M-Pass Execs------- ------- -------------- -------------- ------------ ------------     2K      4K        262,086        262,086            0            0    64K    128K            497            497            0            0   128K    256K            862            862            0            0   256K    512K            368            368            0            0   512K   1024K        440,585        440,585            0            0     1M      2M         68,313         68,313            0            0     2M      4M            169            161            8            0     4M      8M             50             42            8            0     8M     16M             82             82            0            0    16M     32M              1              1            0            0    32M     64M             12             12            0            0   128M    256M              2              0            2            0          -------------------------------------------------------------

数据来源:WRH$_SQL_WORKAREA_HISTOGRAM

Low Optimal: 此行所包含工作区workarea最适合内存要求的下限

High Optimal: 此行所包含工作区workarea最适合内存要求的上限

Total Execs: 在 Low Optimal~High Optimal 范围工作区内完成的总执行数


Optimal execs: optimal 执行是指完全在PGA内存中完成的执行次数

1-pass Execs :  指操作过程中仅发生1次磁盘读取的执行次数

M-pass Execs:  指操作过程中发生了1次以上的磁盘读取, 频发磁盘读取的执行次数





7-6 PGA Memory Advisory


PGA Memory Advisory                  Snap: 70723-> When using Auto Memory Mgmt, minimally choose a pga_aggregate_target value   where Estd PGA Overalloc Count is 0                                       Estd Extra    Estd P Estd PGAPGA Target    Size           W/A MB   W/A MB Read/    Cache Overallo    Estd  Est (MB)   Factr        Processed Written to Disk   Hit %    Count    Time---------- ------- ---------------- ---------------- ------ -------- -------     1,024     0.1  2,671,356,938.7    387,531,258.9   87.0 1.07E+07 7.9E+11     2,048     0.3  2,671,356,938.7    387,529,979.1   87.0 1.07E+07 7.9E+11     4,096     0.5  2,671,356,938.7    387,518,881.8   87.0 1.07E+07 7.9E+11     6,144     0.8  2,671,356,938.7    387,420,749.5   87.0 1.07E+07 7.9E+11     8,192     1.0  2,671,356,938.7     23,056,196.5   99.0 1.07E+07 6.9E+11     9,830     1.2  2,671,356,938.7     22,755,192.6   99.0 6.81E+06 6.9E+11    11,469     1.4  2,671,356,938.7     20,609,438.5   99.0 4.15E+06 6.9E+11    13,107     1.6  2,671,356,938.7     19,021,139.1   99.0  581,362 6.9E+11    14,746     1.8  2,671,356,938.7     18,601,191.0   99.0  543,531 6.9E+11    16,384     2.0  2,671,356,938.7     18,561,361.1   99.0  509,687 6.9E+11    24,576     3.0  2,671,356,938.7     18,527,422.3   99.0  232,817 6.9E+11    32,768     4.0  2,671,356,938.7     18,511,872.6   99.0  120,180 6.9E+11    49,152     6.0  2,671,356,938.7     18,500,815.3   99.0    8,021 6.9E+11    65,536     8.0  2,671,356,938.7     18,498,733.0   99.0        0 6.9E+11


PGA Target   Est (MB)  用以评估的 PGA_AGGREGATE _TARGET值

Size Factr   , 当前用以评估的PGA_AGGREGATE _TARGET 和 当前实际设置的PGA_AGGREGATE _TARGET 之间的 比例因子  PGA Target Est / PGA_AGGREGATE_TARGE

W/A MB Processed :workarea中要处理的数据量, 单位为MB

Estd Extra  W/A MB Read/ Written to Disk :   以 one-pass 、M-Pass方式处理的数据量预估值, 单位为MB

Estd P Cache Hit % :  预估的PGA缓存命中率

Estd PGA Overalloc Count: 预估的PGA过载量, 如上文所述PGA_AGGREGATE _TARGET仅是一个目标值,无法真正限制PGA内存的使用,当出现 PGA内存硬性需求时会产生PGA overallocate 过载(When using Auto Memory Mgmt, minimally choose a pga_aggregate_target value where Estd PGA Overalloc Count is 0)




7-7  Shared Pool Advisory


Shared Pool Advisory                Snap: 70723-> 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.                                       Est LC Est LC  Est LC Est LC     Shared    SP   Est LC                  Time   Time    Load   Load       Est LC    Pool  Size     Size       Est LC    Saved  Saved    Time   Time      Mem Obj Size(M) Factr      (M)      Mem Obj      (s)  Factr     (s)  Factr     Hits (K)-------- ----- -------- ------------ -------- ------ ------- ------ ------------     304    .8       56        3,987    7,728    1.0      61    1.4          332     352    .9      101        6,243    7,745    1.0      44    1.0          334     400   1.0      114        7,777    7,745    1.0      44    1.0          334     448   1.1      114        7,777    7,745    1.0      44    1.0          334     496   1.2      114        7,777    7,745    1.0      44    1.0          334     544   1.4      114        7,777    7,745    1.0      44    1.0          334     592   1.5      114        7,777    7,745    1.0      44    1.0          334     640   1.6      114        7,777    7,745    1.0      44    1.0          334     688   1.7      114        7,777    7,745    1.0      44    1.0          334     736   1.8      114        7,777    7,745    1.0      44    1.0          334     784   2.0      114        7,777    7,745    1.0      44    1.0          334     832   2.1      114        7,777    7,745    1.0      44    1.0          334          -------------------------------------------------------------

Shared  Pool  Size(M) :  用以评估的shared pool共享池大小,在AMM /ASMM环境下 shared_pool 大小都可能浮动

SP Size Factr :共享池大小的比例因子, (Shared Pool Size for Estim / SHARED_POOL_SIZE)

Estd LC Size(M) : 评估的 library cache 大小 ,单位为MB , 因为是shared pool中包含 library cache 当然还有其他例如row cache

Est LC Mem Obj   指评估的指定大小的共享池内的library cache memory object的数量  ESTD_LC_MEMORY_OBJECTS

Est LC Time Saved(s):   指在 指定的共享池大小情况下可找到需要的library cache memory objects,从而节约的解析时间 。  这些节约的解析时间也是 花费在共享池内重复加载需要的对象(reload),这些对象可能因为共享池没有足够的free memory而被aged out.  ESTD_LC_TIME_SAVED

Est LC Time Saved Factr : Est LC Time Saved(s)的比例因子,(  Est LC Time Saved(s)/ Current LC Time Saved(s) )   ESTD_LC_TIME_SAVED_FACTOR

Est LC Load Time (s):  在指定的共享池大小情况下解析的耗时

Est LC Load Time Factr:Est LC Load Time (s)的比例因子, (Est LC Load Time (s)/ Current LC Load Time (s))         ESTD_LC_LOAD_TIME_FACTOR

Est LC  Mem Obj Hits (K) :  在指定的共享池大小情况下需要的library cache memory object正好在共享池中被找到的次数  ESTD_LC_MEMORY_OBJECT_HITS;


对于想缩小 shared_pool_size 共享池大小的需求,可以关注Est LC  Mem Obj Hits (K) ,如上例中共享池为352M时Est LC  Mem Obj Hits (K) 就为334且之后不动,则可以考虑缩小shared_pool_size到该值,但要注意每个版本/平台上对共享池的最低需求,包括RAC中gcs resource 、gcs shadow等资源均驻留在shared pool中,增大db_cache_size时要对应关注。




7-8 SGA Target Advisory


SGA Target Advisory    Snap: 70723SGA Target   SGA Size       Est DB     Est Physical  Size (M)     Factor     Time (s)            Reads---------- ---------- ------------ ----------------     3,752        0.1 1.697191E+09 1.4577142918E+12     7,504        0.3 1.222939E+09  832,293,601,354    11,256        0.4 1.000162E+09  538,390,923,784    15,008        0.5  895,087,191  399,888,743,900    18,760        0.6  840,062,594  327,287,716,803    22,512        0.8  806,389,685  282,881,041,331    26,264        0.9  782,971,706  251,988,446,808    30,016        1.0  765,293,424  228,664,652,276    33,768        1.1  751,135,535  210,005,616,650    37,520        1.3  739,350,016  194,387,820,900    41,272        1.4  733,533,785  187,299,216,679    45,024        1.5  732,921,550  187,299,216,679    48,776        1.6  732,691,962  187,299,216,679    52,528        1.8  732,538,908  187,299,216,679    56,280        1.9  732,538,917  187,299,216,679    60,032        2.0  732,462,391  187,299,458,716          -------------------------------------------------------------

该环节数据来源于WRH$_SGA_TARGET_ADVICE

SGA target Size   : 用以评估的sga target大小 (sga_target)

SGA Size Factor:  SGA Size的比例因子,  (est SGA target Size / Current SGA target Size )

Est DB Time (s): 评估对应于该指定sga target size会产生多少量的DB TIME,单位为秒

Est Physical Reads:评估对应该指定的sga target size 会产生多少的物理读



7-9 Streams Pool Advisory  


Streams Pool Advisory                     DB/Inst: ITSCMP/itscmp2  Snap: 70723  Size for      Size   Est Spill   Est Spill Est Unspill Est Unspill  Est (MB)    Factor       Count    Time (s)       Count    Time (s)---------- --------- ----------- ----------- ----------- -----------        64       0.5           0           0           0           0       128       1.0           0           0           0           0       192       1.5           0           0           0           0       256       2.0           0           0           0           0       320       2.5           0           0           0           0       384       3.0           0           0           0           0       448       3.5           0           0           0           0       512       4.0           0           0           0           0       576       4.5           0           0           0           0       640       5.0           0           0           0           0       704       5.5           0           0           0           0       768       6.0           0           0           0           0       832       6.5           0           0           0           0       896       7.0           0           0           0           0       960       7.5           0           0           0           0     1,024       8.0           0           0           0           0     1,088       8.5           0           0           0           0     1,152       9.0           0           0           0           0     1,216       9.5           0           0           0           0     1,280      10.0           0           0           0           0

该环节只有当使用了Streams  流复制时才会有必要数据, 数据来源 WRH$_STREAMS_POOL_ADVICE


Size for Est (MB) : 用以评估的 streams pool大小

Size Factor :streams pool大小的比例因子

Est Spill Count  :评估出的 当使用该大小的流池时 message溢出到磁盘的数量 ESTD_SPILL_COUNT

Est Spill Time (s): 评估出的 当使用该大小的流池时 message溢出到磁盘的耗时,单位为秒 ESTD_SPILL_TIME

Est Unspill Count:评估的 当使用该大小的流池时 message unspill 即从磁盘上读取的数量 ESTD_UNSPILL_COUNT

Est Unspill Time (s) : 评估的 当使用该大小的流池时 message unspill 即从磁盘上读取的耗时,单位为秒 ESTD_UNSPILL_TIME


7-10 Java Pool Advisory


java pool的相关指标与shared pool相似,不再鏖述



8 Wait Statistics


8-1 Buffer Wait Statistics


Buffer Wait Statistics          Snaps: 70719-70723-> ordered by wait time desc, waits descClass                    Waits Total Wait Time (s)  Avg Time (ms)------------------ ----------- ------------------- --------------data block           8,442,041             407,259             48undo header             16,212               1,711            106undo block              21,023                 557             261st level bmb            1,038                 266            2562nd level bmb              540                 185            342bitmap block                90                  25            276segment header             197                  13             66file header block          132                   6             43bitmap index block          18                   0              1extent map                   2                   0              0

数据来源 : WRH$_WAITSTAT

该环节是对 缓冲池中各类型(class) 块 等待的汇总信息, wait的原因一般是 buffer busy waits 和 read by other session

class 数据块的class,  一个oracle数据块即有class 属性 还有type 属性,数据块中记录type属性(KCBH), 而在buffer header里存有class属性(X$BH.class)

Waits: 该类型数据块的等待次数

Total Wait Time  (s) : 该类型数据块的合计等待时间 单位为秒

Avg Time (ms) : 该类型数据块 平均每次等待的耗时, 单位 ms


如果用户正使用 undo_management=AUTO 的SMU 则一般不会因为rollback segment过少而引起undo header block类块的等待

对于INSERT 而引起的 buffer争用等待:

1、 对于手动segment 管理MSSM 考虑增加Freelists、Freelist Groups

2、 使用ASSM ,当然ASSM本身没什么参数可调




对于INSERT ON INDEX 引起的争用:


  • 使用反向索引key
  • 使用HASH分区和本地索引
  • 可能的情况下 减少index的density


8-2 Enqueue Activity

enqueue 队列锁等待


Enqueue Activity  Snaps: 70719-70723-> only enqueues with waits are shown-> Enqueue stats gathered prior to 10g should not be compared with 10g data-> ordered by Wait Time desc, Waits descEnqueue Type (Request Reason)------------------------------------------------------------------------------    Requests    Succ Gets Failed Gets       Waits  Wt Time (s) Av Wt Time(ms)------------ ------------ ----------- ----------- ------------ --------------TX-Transaction (index contention)     201,270      201,326           0     193,948       97,517         502.80TM-DML     702,731      702,681           4       1,081       46,671      43,174.08SQ-Sequence Cache      28,643       28,632           0      17,418       35,606       2,044.19HW-Segment High Water Mark       9,210        8,845         376       1,216       12,505      10,283.85TX-Transaction (row lock contention)       9,288        9,280           0       9,232       10,486       1,135.80CF-Controlfile Transaction      15,851       14,094       1,756       2,798        4,565       1,631.64TX-Transaction (allocate ITL entry)         471          369         102         360          169         469.28

Enqueue Type (Request Reason) enqueue 队列的类型,大家在研究 enqueue 问题前 至少搞清楚enqueue type 和enqueue mode , enqueue type是队列锁所要保护的资源 如 TM 表锁  CF 控制文件锁, enqueue mode 是持有队列锁的模式 (SS、SX 、S、SSX、X)


Requests : 申请对应的enqueue type资源或者队列转换(enqueue conversion   例如 S 转 SSX ) 的次数

Succ Gets :对应的enqueue被成功 申请或转换的次数

Failed Gets :对应的enqueue的申请 或者转换失败的次数

Waits :由对应的enqueue的申请或者转换而造成等待的次数

Wt Time (s) : 由对应的enqueue的申请或者转换而造成等待的等待时间

Av Wt Time(ms) :由对应的enqueue的申请或者转换而造成等待的平均等待时间  , Wt Time (s) / Waits ,单位为ms


主要的enqueue 等待事件:

enq: TX – row lock/index contention、allocate ITL等待事件

enq: TM – contention等待事件

Oracle队列锁enq:TS,Temporary Segment (also TableSpace)




上一篇:继续深入理解AWR性能报告-2
下一篇:深入理解AWR性能报告4
回复

使用道具 举报

内容发布:csshuangshuang| 发布时间:2017-5-23 15:43:09
这么详细呀  赶紧做好笔记  感谢分享 顶
回复 支持 反对

使用道具 举报

1框架
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表