深入理解AWR性能报告3

教程发布:风哥 教程分类:ITPUX技术网 更新日期:2022-02-12 浏览学习:1352

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 getsPhysical 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_RECOVERYMTTR Writes : 为了满足FAST_START_MTTR_TARGET 指定的MTTR值 而做出的物理写 WRITES_MTTRLog Size Writes :由于最小的redo log file而做出的物理写 WRITES_LOGFILE_SIZELog Ckpt writes: 由于 LOG_CHECKPOINT_INTERVAL 和 LOG_CHECKPOINT_TIMEOUT 驱动的增量检查点而做出的物理写 WRITES_LOG_CHECKPOINT_SETTINGSOther Settings Writes :由于其他设置(例如FAST_START_IO_TARGET)而引起的物理写, WRITES_OTHER_SETTINGSAutotune Ckpt Writes : 由于自动调优检查点而引起的物理写, WRITES_AUTOTUNEThread 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 PoolSize For Est(M): 指以该尺寸的buffer pool作为评估的对象,一般是 目前current size的 10% ~ 200%,以便了解 buffer pool 增大 ~减小 对物理读的影响Size Factor : 尺寸因子, 只 对应buffer pool 大小 对 当前设置的比例因子, 例如current_size是 100M , 则如果评估值是110M 那么 size Factor 就是 1.1Buffers (thousands) :指这个buffer pool 尺寸下的buffer 数量, 要乘以1000才是实际值Est Phys Read Factor :评估的物理读因子, 例如当前尺寸的buffer pool 会引起100个物理读, 则别的尺寸的buffer pool如果引起 120个物理读, 那么 对应尺寸的Est Phys Read Factor就是1.2Estimated Phys Reads (thousands):评估的物理读数目, 要乘以 1000才是实际值, 显然不同尺寸的buffer pool对应不同的评估的物理读数目Est Phys Read Time : 评估的物理读时间Est %DBtime for Rds:评估的物理读占DB TIME的比率

我们 看buffer pool advisory 一般有2个目的:
[list=1]
[*]在物理读较多的情况下,希望通过增加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中处理过的数据的量,单位为MBExtra 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$_PGASTATPGA Aggr Target(M) :本质上就是pga_aggregate_target , 当然在AMM(memory_target)环境下 这个值可能会自动变化Auto PGA Target(M) : 在自动PGA 管理模式下 实际可用的工作区内存 “aggregate PGA auto target “, 因为PGA还有其他用途 ,不能全部作为workarea memoryPGA 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_HISTOGRAMLow 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_TARGEW/A MB Processed :workarea中要处理的数据量, 单位为MBEstd Extra W/A MB Read/ Written to Disk : 以 one-pass 、M-Pass方式处理的数据量预估值, 单位为MBEstd 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 cacheEst LC Mem Obj 指评估的指定大小的共享池内的library cache memory object的数量 ESTD_LC_MEMORY_OBJECTSEst LC Time Saved(s): 指在 指定的共享池大小情况下可找到需要的library cache memory objects,从而节约的解析时间 。 这些节约的解析时间也是 花费在共享池内重复加载需要的对象(reload),这些对象可能因为共享池没有足够的free memory而被aged out. ESTD_LC_TIME_SAVEDEst LC Time Saved Factr : Est LC Time Saved(s)的比例因子,( Est LC Time Saved(s)/ Current LC Time Saved(s) ) ESTD_LC_TIME_SAVED_FACTOREst 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_FACTOREst 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_ADVICESGA 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_COUNTEst Spill Time (s): 评估出的 当使用该大小的流池时 message溢出到磁盘的耗时,单位为秒 ESTD_SPILL_TIMEEst Unspill Count:评估的 当使用该大小的流池时 message unspill 即从磁盘上读取的数量 ESTD_UNSPILL_COUNTEst 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 sessionclass 数据块的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 Groups2、 使用ASSM ,当然ASSM本身没什么参数可调

对于INSERT ON INDEX 引起的争用:
[list]
[*]使用反向索引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)

本文标签:
网站声明:本文由风哥整理发布,转载请保留此段声明,本站所有内容将不对其使用后果做任何承诺,请读者谨慎使用!
【上一篇】
【下一篇】