测量共享池的性能
• 共享池的性能主要用库缓存命中率和数据字典缓存命中率来测量,前者更重要,Oracle建议在未调整好库缓存之前,不必费力去调整数据字典缓存。
测量库缓存的性能
• 库缓存的性能指标来自V$LIBRARYCACHE视图,这个视图的主要字段描述如下:
字段名 描述 可接受值(OLTP)
NAMESPACE 主要的类型有SQL AREA (SQL语句), TABLE/PROCEDURE (存储过程或函数), BODY (包体), TRIGGER (触发器)
GETS 解析次数
GETHITS 解析时发现语句的解析版本已存在于库缓存中(解析命中)的次数
GETHITRATIO 解析命中率 大于90%
PINS 执行次数
PINHITS 执行命中次数
PINHITRATIO 执行命中率 大于90%
RELOADS 重新解析的次数,重新解析的原因是已缓存的解析版本老化或失效 sum(reloads)/sum(pins) < 1%
INVALIDATIONS 语句缓存失效的次数,失效的原因是依赖对象被修改删除或者编译
• STATSPACK中存放关于库缓存性能的数据有两个地方:
Ø Instance Efficiency Percentages (Target 100%)(实例命中率) – Library Hit %;
Ø Library Cache Activity for DB(库缓存活动)。
测量数据字典缓存的性能
• 数据字典缓存性能指标来自V$ROWCACHE视图,用下面的查询来获得命中率:
select 1 – (sum(getmisses) / sum(gets)) from v$rowcache;可以接受的命中率是85%以上;
• STATSPACK中关于数据字典缓存性能的数据存放在Dictionary Cache Stats for DB(数据字典缓存统计)。