oracle性能调优之--Share Pool调整与优化(二)

2014-11-24 15:14:11 · 作者: · 浏览: 5
八、v$librarycache视图
scott@ORCL > desc v$librarycache;
Name Null Type
----------------------------- ----------------------
NAMESPACE VARCHAR2(15) --存储在库缓存中的对象类型,值为SQLarea,table/procedure,body,trigger
GETS NUMBER --显示请求库缓存中的条目的次数(或语句句柄数)
GETHITS NUMBER --显示被请求的条目存在于缓存中的次数(获得的句柄数)
GETHITRATIO NUMBER --前两者之比
PINS NUMBER --位于execution阶段,显示库缓存中条目被执行的次数
PINHITS NUMBER --位于execution阶段,显示条目已经在库缓存中之后被执行的次数
PINHITRATIO NUMBER --前两者之比
RELOADS NUMBER --显示条目因过时或无效时在库缓存中被重载的次数
INVALIDATIONS NUMBER --由于对象被修改导致所有参照该对象的执行计划无效的次数,需要被再次解析
DLM_LOCK_REQUESTS NUMBER
DLM_PIN_REQUESTS NUMBER
DLM_PIN_RELEASES NUMBER
DLM_INVALIDATION_REQUESTS NUMBER
DLM_INVALIDATIONS NUMBER
get表示请求条目或对象、获得对象句柄;
pin根据句柄找到实际对象并执行,但对象内容可能因为老化而pin不到所以出现reload;
一个session需要使用一个object时,如果是初次使用,则必然是先get然后pin并维护这个object的句柄。下次再使用这个object时,因为
已经维护该句柄,所以直接pin而没有了get过程。如果对象老化则移除共享池,再次请求则会出现reload。 www.2cto.com
由上面所列出的字段可知,v$librarycache视图可以用来监控librarycache的活动情况。
重点关注字段
RELOADS列:表示对象被重新加载的次数,理论上该值应该接近于零。过大是由于对象无效或librarypool过小被换出。
INVALIDATIONS:列表示对象失效的次数,对象失效后,需要被再次解析。
GETHITRATIO:该列值过低,表明过多的对象被换出内存。
GETPINRATIO:该列值过低,表明会话没有多次执行相同的游标,即使对象被不同的会话共享或会话没有找到共享的游标。
下面查询v$librarycache的性能状况:
sys@ASMDB > select * from v$version where rownum < 2;
BANNER
----------------------------------------------------------------
Oracle9iEnterprise Edition Release 9.2.0.1.0 - 64bit Production
SELECT namespace,gets,gethits,ROUND(GETHITRATIO*100,2) gethit_ratio,pins,pinhits,
ROUND(PINHITRATIO*100,2) pinhit_ratio,reloads,invalidations FROM v$librarycache;
NAMESPACE GETS GETHITSGETHIT_RATIO PINS PINHITSPINHIT_RATIO RELOADS INVALIDATIONS
--------------- ---------- ---------------------- ---------- ---------- ------------ ---------- -------------
SQLAREA 336824947 326237186 96.861137146337 1113509653 97.92 1202492 38273
TABLE/PROCEDURE 15363106111536263944 10015914153431591166141 99.98 85574 0
BODY 144906 143990 99.37 144969 142474 98.28 128 0
TRIGGER 47765371 47765105 100 47765381 47765113 100 0 0
INDEX 1104164 1103706 99.96 1104133 1103467 99.94 0 0
CLUSTER 42341 42038 99.28 42860 42260 98.6 0 0
OBJECT 0 0 100 0 0 100 0 0
PIPE 0 0 100 0 0 100 0 0
JAVASOURCE 40 19 47.5 40 19 47.5 0 0
JAVARESOURCE 40 19 47.5 40 19 47.5 0 0
JAVADATA 116 71 61.21 237 147 62.03 0 0 www.2cto.com
分析上面的查询,在此仅仅分析SQL AREA对象,其余的类似分析
a.在SQL AREA中