Oracle详细解读 STATSPACK 报告
Oracle性能分析工具Statpack安装使用详解

Oracle性能分析工具Statpack安装使用详解文件版本:V1.0文件编号:发布日期:2015-03-05编制:程万超审核:批准:修订记录:修订版本号修订人修订日期修订描述V1.0程万超2014-12-17新建简介Oracle Statspack 是用来诊断数据库性能的强有力的工具,通过Statspack 我们很容易的确定Oracle的所有瓶颈,记录数据库的性能状态。
安装步骤一、Statpack原理:1.运行oracle自带脚本,生成一系列的统计表。
2.生成快照,采样。
3.根据快照生成报告。
二、安装准备1.检查部分参数值--job_queue_process:取值范围为0到1000,总共可创建多少个job进程,为了能够建立自动任务,执行数据收集,此参数大于零alter system set job_queue_processess=6;---timed_statistics,设置为true,使收集的时间信息存储在V$sessstats和V$sysstats等动态性能视图中,但会消耗资源,可以在使用Satspack之前设为true,采样过后,把该参数动态修改为false.alter system set timed_statistics=true;2. 脚本使用此功能,需要运行oracle自带脚本,在数据库中生成一系列的表和视图,用于收集各种信息。
脚本位于%oracle_home%\rdbms\admin(224数据库的该目录为/oracle/app/product/10.2.0/Db_1/rdbms/admin)目录下,oracle816下是一组以stat开头的文件,以后的版本是一组以sp开头的文件。
三、安装1.shell中切换到oracle用户:su - oracle2.以sysdba身份登录sqlplus。
9i及以后版本,可以用sys用户以sysdba身份登录:sqlplus / as sysdba(最好转到脚本所有目录%oracle_home%\rdbms\admin,便于执行脚本)3.创建表空间,用于保存采样数据create tablespace perfstat datafile '/oradata/xdgl/perfstat.dbf(表空间存储路径)' size 100m;Statspack的报表数据还是相当占空间的,特别是在多次连续采样的情况下,所以不能太小,最小100M,否则创建对象会失败。
Statspack报告中的重要指标的含义

8
后台进程启动的CHECKPOINTS数量,可能比上一个状态的值大一些。如果一个新的CHECKPOINT覆盖了一个未完成的CHECKPOINT或者CHECKPOINT还正在执行。这个状态只包含REDO的CHECKPOINT,不包括其他类型的CHECKPOINT,比如OFFLINE文件或者BEGIN BACKUP或者ALTER SYSTEM CHECKPOINT LOCAL命令等
commit cleanout failures: cannot pin
8
Oracle在COMMIT的时候,做清除操作时无法PIN到这个BUFFER的计数
commit cleanout failures: hot backup in progress
8
Oracle在COMMIT的时候,做清除操作时发现正在做热备份的技术。此时在修改这个BUFFER前,这个BUFFER的修改信息需要被记录下来,以便于备份操作使用。
参数:
file#:SESSION正在读取的控制文件的文件号
block#:SESSION正在读取的块号
blocks:SESSION读取的块的数量
buffer deadlock
BUFFER获取的时候发生死锁。Oracle不会真正等待这个事件。前台程序会等待CPU。数据库发生这个等待的几率很小。等待时间:0。前台程序会等待CPU,并且一般会被放入CPU等待队列的尾部
8
Number of times a buffer is written for reasons other than advancement of the
checkpoint. Used as a metric for determining the I/O overhead imposed by setting
oracle rac日记

RAC的主要性能指标经常有人问老白,一套RAc系统,如何评价CACHE FUSION方面有没有问题呢?这个问题确实有点麻烦,任何一套系统的健康性分析都是很复杂的,因为每个系统都是不一样的,都有独立的特性。
不过作为技术分析手段,还是有很多指标可以反映出系统的状况。
本节将介绍主要的GCS/GES相关性能指标的情况。
这些性能指标可以从AWR报告或者STATSPACK报告中获取,也可以从VSGES STATISTICS中读取。
总体负载与命中率指标本节里的部分指标是Oracle l0g才有的,0racle 10g AwR报告在指标分析方面有了较大的改DBA遥过这些指标可以更容易地进行性能分析。
以下是0racle l09的一个例子:第一部分是LOAD PROFILE(负载情况),从负载情况我们可以判断这个系统中GES/GCS 的总体负载,由于每个系统都是个性化的,因此我们不能简单地通过这些指标来判断这个系统是否存在问题。
不过我们可以进行横向的比较,在系统中采集性能基线,通过性能基线的分析确定这些指标的正常范围和平均值,通过这些基线指标来判断当前的指标是否处于正常范围。
第二部分Global Cached Efficiency Percentages是一个我们了解RAC中CACHE共享情况的重要指标。
如上面数据,这个系统中99.54%的数据是从本地CACHE中获取,0.14%是从远程CACHE中获取,0.32%是从本地磁盘获取。
这是一个做了应用分区的系统,两个实例的应用之间互相共享的数据十分少。
而一个具有较为严重冲突的系统可能是这详的:其中有差不多6%是从远程CACHE中获取的,这种情况下,CACHE FUSION可能带来较为严重的冲突。
从以下指标也可以看出流控的比例十分高:在Oracle 9i中,可以从Statspack报告中看到类似的指标,彳i过没有109AWR报告那么清晰:其中的Global cache hit rati0是通过CACHE FUSION来访问的CACHE的百分比。
Oracle数据备份与data guard容灾技术

1.4 RMAN(备份与恢复管理器)
1.4.1 RMAN 概述
Recovery manager(RMAN)是 ORACLE 提供的 DBA 工具,用语管理备份和恢复操作。 RMAN 只能用于 ORACLE8 或更高的版本中。它能够备份整个数据库或数据库部件,其中 包括表空间、数据文件,控制文件和归档文件。RMAN 可以按要求存取和执行备份和恢复。 RMAN 备份有如下优点 ☆ 支持在线热备份 ☆ 支持多级增量备份 ☆ 支持并行备份、恢复 ☆ 减少所需要备份量 ☆ 备份、恢复使用简单 重要的是,使用恢复管理器允许您进行增量数据块级的备份(这个与导出 /导入的增量 截然不同) 。 增量 RMAN 备份是时间和空间有效的, 因为他们只备份自上次备份以来有变化 的那些数据块。另一个空间有效的 RMAN 特性是它只备份数据文件中使用的数据块,忽略 空的,未用的数据块,这个对于预分配空间的表空间有很大的好处。 从 9i 开始,还增加了 RMAN 的数据块级别的恢复,可以进一步减少数据库恢复时间。 RMAN 支持以下不同类型的备份 数据库全备份,包括所有的数据块 � FULL INCREMENTAL 增量备份,只备份自上次增量备份以来修改过 � 的数据块。需要一个 0 级的增量作为增量的基础,可以支持 7 级增量。 在数据库打开的时候使用 � OPEN 在数据库安装(MOUNT)但不打开的时候备份, � CLOSED 关闭备份可以是 CONSISTENT 或 IN CONSISTENT 类型的。 在数据库安装,单不打开,并且在安装之前数 � CONSISTENT 据库被彻底关闭(而不是被破坏或异常退出)时使用。 CONSISTENT 备份可 以简单的进行复原(RESTORE)而不是恢复(RECOVER)。 在数据库打开或安装(但不打开)时使用。 在 � INCONSISTENT 该数据库正常关闭或崩溃后,INCONSISTENT 备份需要恢复。 理解 BACKUP ,RESTORE,RECOVER 命令,这是 RMAN 最基本的三个命令,可以 进行数据库的备份,复原以及恢复操作。
Statspack工具

Statspack工具在Oracle项目中的应用目录1附录 (5)1.1附录1:S TATSPACK R EPORT模块解释 (5)1.1.1Head Information (5)1.1.1.1 原始算法 (5)1.1.1.2 关键字说明 (6)1.1.1.3 参数说明 (7)1.1.1.1.1 SESSION_CACHED_CURSORS (7)1.1.1.1.2 OPEN_CURSORS (7)1.1.2Cache Sizes (end) (7)1.1.2.1 原始算法 (8)1.1.2.2 关键字说明 (8)1.1.2.3 参数说明 (8)1.1.1.1.3 DB_CACHE_SIZE (8)1.1.1.1.4 DB_KEEP_CACHE_SIZE (9)1.1.1.1.5 DB_RECYCLE_CACHE_SIZE (9)1.1.1.1.6 DB_nK_CACHE_SIZE (9)1.1.1.1.7 DB_BLOCK_SIZE (9)1.1.1.1.8 SHARED_POOL_SIZE (10)1.1.1.1.9 LOG_BUFFER (10)1.1.3Load Profile (11)1.1.3.1 原始算法说明 (11)1.1.3.2 关键字说明 (14)1.1.1.1.10 Redo size (14)1.1.1.1.11 Logical reads (14)1.1.1.1.12 block changes (14)1.1.1.1.13 Physical reads (15)1.1.1.1.14 Physical writes (16)1.1.1.1.15 User calls (16)1.1.1.1.16 Parses (17)1.1.1.1.17 Hard parses (18)1.1.1.1.18 Sorts (20)1.1.1.1.19 Average Rows Per Sort (20)1.1.1.1.20 Logons (21)1.1.1.1.21 Executes (21)1.1.1.1.22 Transactions (21)1.1.1.1.23 Commits Per Second (21)1.1.1.1.24 Commit % (21)1.1.1.1.25 % Blocks changed per Read (22)1.1.1.1.26 Recursive Call % (22)1.1.1.1.27 Rollback per transaction % (22)1.1.1.1.28 Rows per Sort (23)1.1.3.3 参数说明 (24)1.1.4Instance Efficiency Percentages (24)1.1.4.1 原始算法说明 (25)1.1.4.2 关键字说明 (26)1.1.1.1.30 Buffer Nowait % (26)1.1.1.1.31 Redo NoWait % (26)1.1.1.1.32 Buffer Hit % (27)1.1.1.1.33 Buffer Cache Hit % (27)1.1.1.1.34 In-memory Sort % (28)1.1.1.1.35 Library Hit % (29)1.1.1.1.36 Data Dictionary Hit % (31)1.1.1.1.37 Data Dictionary Miss % (31)1.1.1.1.38 Soft Parse % (32)1.1.1.1.39 Execute to Parse % (33)1.1.1.1.40 Latch Hit % (34)1.1.1.1.41 Parse CPU to Parse Elapsd % (34)1.1.1.1.42 % Non-Parse CPU (34)1.1.5Shared Pool Statistics (34)1.1.5.1 原始算法说明 (34)1.1.5.2 关键字说明 (36)1.1.6SQL ordered by Gets (37)1.1.6.1 原始算法说明 (37)1.1.6.2 关键子字说明 (42)1.1.1.1.43 Buffer Gets (42)1.1.1.1.44 Executions (42)1.1.1.1.45 Gets per Exec (43)1.1.1.1.46 %Total (43)1.1.1.1.47 CPU Time (s) (43)1.1.1.1.48 Elapsd Time (s) (43)1.1.1.1.49 Hash V alue (43)1.1.7SQL ordered by Reads (43)1.1.7.1 原始算法说明 (44)1.1.7.2 关键字段说明 (45)1.1.8SQL ordered by Executions (46)1.1.8.1 原始算法说明 (46)1.1.8.2 关键字说明 (47)1.1.9SQL ordered by Parse Calls (48)1.1.9.1 原始算法说明 (48)1.1.9.2 关键字段说明 (49)1.1.10SQL ordered by Sharable Memory (49)1.1.10.1 原始算法说明 (50)1.1.10.2 关键字段说明 (51)1.1.11ordered by Version Count (52)1.1.11.1 原始算法说明 (52)1.2附录2:SQL优化测试方法 (53)1.2.1使用Statspack 测试SQL (53)1.2.2使用autotrace测试SQL (55)1.2.2.1 Set autotrace on (55)1.1.1.1.50 范例 (56)1.2.2.2 Set autotrace traceonly explain (63)1.2.3使用SQL_TRACE测试SQL (64)1.2.4使用Set Event测试SQL (64)1.3附录3:定制S TATSPACK R EPORT (65)1.3.1Report完整的SQL语句 (65)1.3.2Report更多的SQL语句 (65)1.3.3Report指定模块的SQL语句 (65)1.3.4Report指定字段的排序 (66)1.4附录4:AUTOTRACE STATISTICS字段说明 (67)1附录1.1附录1:Statspack Report模块解释1.1.1Head Information1.1.1.1 原始算法我们可通过如下语句直接从数据库获取更多的DB和instance信息:◆SELECTdbid,name,CREATEd,log_mode,checkpoint_change#,archive_change#,controlfile_created,contro lfile_change#FROM v$database;◆SELECTinstance_number,instance_name,host_name,version,startup_time,status,PARALLEL,archiver,dat abase_status FROM v$instance;也可直接从perfstat表查询:◆SELECT DISTINCTdbid "DB Id", instance_number "Inst Num", db_name "DB Name", instance_name "Instance", host_name "Host", version "Release",PARALLEL"Cluster"FROM stats$database_instance;整个statspack report报告一行记录。
Oracle统计分析 - dbms_stats

dbms_stats能良好地估计统计数据(尤其是针对较大的分区表),并能获得更好的统计结果,最终制定出速度更快的SQL执行计划。
exec dbms_stats.gather_schema_stats(ownname => 'SCOTT',options => 'GATHER AUTO',estimate_percent => dbms_stats.auto_sample_size,method_opt => 'for all columns size repeat',degree => 15)为了充分认识dbms_stats的好处,需要仔细体会每一条主要的预编译指令(directive)。
下面让我们研究每一条指令,并体会如何用它为基于代价的SQL 优化器收集最高质量的统计数据。
options参数使用4个预设的方法之一,这个选项能控制Oracle统计的刷新方式:gather——重新分析整个架构(Schema)。
gather empty——只分析目前还没有统计的表。
gather stale——只重新分析修改量超过10%的表(这些修改包括插入、更新和删除)。
gather auto——重新分析当前没有统计的对象,以及统计数据过期(变脏)的对象。
注意,使用gather auto类似于组合使用gather stale和gather empty。
注意,无论gather stale还是gather auto,都要求进行监视。
如果你执行一个alter table xxx monitoring命令,Oracle会用dba_tab_modifications视图来跟踪发生变动的表。
这样一来,你就确切地知道,自从上一次分析统计数据以来,发生了多少次插入、更新和删除操作。
estimate_percent选项estimate_percent参数是一种比较新的设计,它允许Oracle的dbms_stats在收集统计数据时,自动估计要采样的一个segment的最佳百分比:estimate_percent => dbms_stats.auto_sample_size要验证自动统计采样的准确性,你可检视dba_tables sample_size列。
oracle 10g 性能调整-statspack(p23)

14
Using STATSPACK and the AWR Report to Tune Waits and Latches
694
Oracle Database 10g Performance Tuning Tips & Techniques
f you could choose just two Oracle utilities to monitor and find performance problems of your system, those two utilities would be Enterprise Manager (Chapter 5) and the new AWR (Automatic Workload Repository) Report and/or STATSPACK (both covered in this chapter). In Oracle 10gR2, the new AWR Report has everything that is in STATSPACK and a whole lot more! STATSPACK also remains in 10g and has a few great improvements. The STATSPACK utility has been available since Oracle 8.1.6 to monitor the performance of your database. STATSPACK originally replaced the UTLBSTAT/UTLESTAT scripts available with earlier versions of Oracle. The AWR Report leverages the Automatic Workload Repository statistics and can be executed within Enterprise Manager Grid Control if desired and will probably replace STATSPACK for good in the future. Although the AWR Report has some very nice things in it that STATSPACK doesn't have, you must license the Oracle Diagnostics Pack to access the AWR dictionary views necessary for the AWR Report (STATSPACK is still a free utility).
statpack

如何读懂statspack报告前言:这篇文章是我从网上找到的,但可惜不知道是哪位大侠写(译)的,因此这里无法注明了。
仔细看了看,这篇文章对初学者应该很有帮助,写的比较详细,通俗易懂,因此整理一下,便于阅读;内容略有调整,不单做调整,此记。
产生一个statspack报告是比较简单的,但是如何读懂statspack报告却不是那么容易,需要对Oracle的体系架构、内存结构、等待事件以及应用系统有充分的了解,加上不断的实践,才能基本读懂statspack报告并且从报告中找到调整优化Oracle的途径。
下面接合一个实际的statspack报告,大致分析一下。
1.基本信息分析DB Name DB Id Instance Inst Num Release OPS Host------------ ----------- ------------ -------- ----------- --- --------- ---RES 2749170756 res 1 8.1.7.0.0 NO resSnap Id Snap Time Sessions------- ------------------ --------Begin Snap: 2 26-Jul-03 16:37:08 38End Snap: 3 26-Jul-03 17:03:23 38Elapsed: 26.25 (mins)Statspack报告首先描述了数据库的基本情况,比如数据库名、实例名、实例个数、oracle版本号等等;然后是该报告的开始快照和结束快照的信息,包括snap id , snap time 等等;最后是该报告经过的时间跨度,单位是分钟(mins)。
Cache Sizes (end)~~~~~~~~~~~~~~~~~Buffer Cache: 200M Std Block Size: 8KShared Pool Size: 48M Log Buffer: 512K然后描述了Oracle内存结构中几个重要的参数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
说在前面,很容易被忽略的几个点:在读报告的时候,我们首先需要看清楚,留意3个内容,这份报告所对应的数据库版本,cluster方式,以及报告的时间段。
尤其需要注意的就是时间段,eygle就说过,离开了时间的statspck将是毫无意义的。
STATSPACK report for/* 报表头信息,数据库实例相关信息,包括数据库名称、ID、版本号及主机明等信息DB Name DB Id Instance Inst Num Release Cluster Host------------ ----------- ------------ -------- ----------- ------- ------------ ORA92 1924035339 ora92 1 9.2.0.6.0NO jsdxh_db02Snap Id Snap Time Sessions Curs/Sess Comment--------- ------------------ -------- --------- ------------------- Begin Snap: 13 14-Jul-07 00:18:52 274 55,345.0End Snap: 14 14-Jul-07 00:32:55 272 55,823.8Elapsed: 14.05 (mins)Cache Sizes (end)~~~~~~~~~~~~~~~~~Buffer Cache: 5,120M Std Block Size: 8KShared Pool Size: 400M Log Buffer: 2,048KLoad Profile~~~~~~~~~~~~ Per Second Per Transaction--------------- ---------------Redo size: 422,086.46 4,706.23Logical reads: 23,200.54 258.68Block changes: 3,080.59 34.35Physical reads: 31.46 0.35Physical writes: 104.38 1.16User calls: 409.32 4.56Parses: 227.20 2.53Hard parses: 7.22 0.08Sorts: 213.87 2.38Logons: 0.85 0.01Executes: 1,191.32 13.28Transactions: 89.69/* 下面详细说明Load Profile各项含义1)Redo size:每秒产生的日志大小(单位字节),可标志数据变更频率, 数据库任务的繁重与否。
2)Logical reads:平决每秒产生的逻辑读的block数。
Logical Reads= Consistent Gets + DB Block Gets3)Block changes:每秒block变化数量,数据库事物带来改变的块数量。
4)Physical reads:平均每秒数据库从磁盘读取的block数。
5)Physical writes:平均每秒数据库写磁盘的block数。
6)User calls:每秒用户调用次数。
7)Parses:每秒解析次数,包括fast parse,soft parse和hard parse三种数量的综合。
软解析每秒超过300次意味着你的"应用程序"效率不高,没有使用绑定变量,调整session_cursor_cache。
8)Hard parses:每秒产生的硬解析次数, 每秒超过100次,就可能说明你绑定使用的不好,或者说共享池设置不合理。
这时候可以启用参数cursor_sharing=similar|force,该参数默认值为exact。
但该参数设置为similar时,存在bug,可能导致执行计划的不优。
9)Sorts:每秒产生的排序次数。
10)Logons:11)Executes:每秒执行次数。
12)Transactions:每秒产生的事务数,反映数据库任务繁重与否。
% Blocks changed per Read: 13.28 Recursive Call %: 80.21Rollback per transaction %: 0.03 Rows per Sort: 2.84/* Load Profile 续1)% Blocks changed per Read:在每一次逻辑读中更改的块的百分比。
2)Rollback per transaction %:看回滚率是不是很高,因为回滚很耗资源 ,如果回滚率过高,可能说明你的数据库经历了太多的无效操作 ,过多的回滚可能还会带来Undo Block的竞争该参数计算公式如下: Round(User rollbacks / (user commits + user rollbacks) ,4)* 100% 。
3)Recursive Call %:递归调用的百分比,如果有很多PL/SQL,那么这个值就会比较高。
4)Rows per Sort:平均每次排序操作的行数。
Instance Efficiency Percentages (Target 100%)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Buffer Nowait %: 99.98 Redo NoWait %: 100.00Buffer Hit %: 99.87 In-memory Sort %: 100.00Library Hit %: 99.67 Soft Parse %: 96.82Execute to Parse %: 80.93 Latch Hit %: 96.10Parse CPU to Parse Elapsd %: 6.93 % Non-Parse CPU: 99.88/* 实例的有效性,这部分值越接近100越好,分项内容详细说明如下:1)Buffer Nowait %:在缓冲区中获取Buffer的未等待比率。
Buffer Nowait的这个值一般需要大于99%。
否则可能有热块争用,可以在后面的等待事件中进一步确认。
2)Redo NoWait %:在Redo缓冲区获取Buffer的未等待比率。
3)Buffer Hit %:数据块在数据缓冲区中的命中率,通常应在95%以上。
否则,小于95%,需要调整重要的参数,小于90%可能是要加db_cache_size。
一个高的命中率,不一定代表这个系统的性能是最优的,比如大量的非选择性的索引被频繁访问,就会造成命中率很高的假相(大量的db file sequential read),但是一个比较低的命中率,一般就会对这个系统的性能产生影响,需要调整。
命中率的突变,往往是一个不好的信息。
如果命中率突然增大,可以检查top buffer get SQL,查看导致大量逻辑读的语句和索引,如果命中率突然减小,可以检查top physical reads SQL,检查产生大量物理读的语句,主要是那些没有使用索引或者索引被删除的。
4)In-memory Sort %:在内存中的排序率。
如果低于95%,可以通过适当调大初始化参数PGA_AGGREGATE_TARGET或者SORT_AREA_SIZE来解决,注意SORT_AREA_SIZE是针对每个session设置的。
5)Library Hit %:STATEMENT在共享区的命中率,通常应该保持在95%以上,否则需要要考虑:加大共享池;使用绑定变量;修改cursor_sharing等参数。
6)Soft Parse %:sql在共享区的命中率,小于<95%,需要考虑到绑定,如果低于80%,那么就可以认为sql基本没有被重用。
7)Execute to Parse %:一个语句执行和分析了多少次的度量。
计算公式为:Execute to Parse =100 *(1 - Parses/Executions)。
所以如果系统Parses > Executions,就可能出现该比率小于0的情况。
本例中,差不多每execution 5次需要一次parse。
该值<0通常说明shared pool设置或者语句效率存在问题,造成反复解析,reparse可能较严重,或者可是同snapshot有关,通常说明数据库性能存在问题。
8)Latch Hit %:要确保>99%,否则存在严重的性能问题。
当该值出现问题的时候,我们可以借助后面的等待时间和latch分析来查找解决问题。
9)Parse CPU to Parse Elapsd %:计算公式为:Parse CPU to Parse Elapsd %= 100*(parse time cpu/ parse time elapsed)。
即:解析实际运行时间/(解析实际运行时间+解析中等待资源时间)。
如果该比率为100%,意味着CPU时间等于经过的时间,没有任何等待。
10)% Non-Parse CPU:计算公式为:% Non-Parse CPU =round(100*1-PARSE_CPU/TOT_CPU),2)。
太低表示解析消耗时间过多。
与PARSE_CPU相比,如果TOT_CPU很高,这个比值将接近100%,这是很好的,说明计算机执行的大部分工作是执行查询的工作,而不是分析查询的工作。
Shared Pool Statistics Begin End------ ------Memory Usage %: 32.87 33.12% SQL with executions>1: 80.00 82.69% Memory for SQL w/exec>1: 77.62 80.701)Memory Usage %:正在使用的共享池的百分率。
这个数字应该长时间稳定在75%~90%。
如果这个百分率太低,表明共享池设置过大,带来额外的管理上的负担,从而在某些条件下会导致性能的下降。
如果这个百分率太高,会使共享池外部的组件老化,如果SQL语句被再次执行,这将使得SQL语句被硬解析。
在一个大小合适的系统中,共享池的使用率将处于75%到略低于90%的范围内。
2)% SQL with executions>1:这是在共享池中有多少个执行次数大于一次的SQL语句的度量。
在一个趋向于循环运行的系统中,必须认真考虑这个数字。
在这个循环系统中,在一天中相对于另一部分时间的部分时间里执行了一组不同的SQL语句。
在共享池中,在观察期间将有一组未被执行过的SQL语句,这仅仅是因为要执行它们的语句在观察期间没有运行。