學(xué)習(xí)動(dòng)態(tài)性能表第12篇--V$DB_OBJECT_CACHE

  本視圖提供對(duì)象在library cache(shared pool)中對(duì)象統(tǒng)計(jì),提供比v$librarycache更多的細(xì)節(jié),并且常用于找出shared pool中的活動(dòng)對(duì)象。

v$db_object_cache中的常用列:OWNER:對(duì)象擁有者
NAME:對(duì)象名稱
TYPE:對(duì)象類型(如,sequence,procedure,function,package,package body,trigger)
KEPT:告知是否對(duì)象常駐shared pool(yes/no),有賴于這個(gè)對(duì)象是否已經(jīng)利用PL/SQL 過程DBMS_SHARED_POOL.KEEP“保持”(永久固定在內(nèi)存中)
SHARABLE_MEM:共享內(nèi)存占用
PINS:當(dāng)前執(zhí)行對(duì)象的session數(shù)
LOCKS:當(dāng)前鎖定對(duì)象的session數(shù)

瞬間狀態(tài)列:
下列列保持對(duì)象自初次加載起的統(tǒng)計(jì)信息:
LOADS:對(duì)象被加載次數(shù)。

示例:
1.shared pool執(zhí)行以及內(nèi)存使用總計(jì)
下列查詢顯示出shared pool內(nèi)存對(duì)不同類別的對(duì)象
同時(shí)也顯示是否有對(duì)象通過DBMS_SHARED_POOL.KEEP()過程常駐shared pool。
SELECT type, kept, COUNT(*), SUM(sharable_mem)
FROM V$DB_OBJECT_CACHE
GROUP BY type, kept;

2.通過載入次數(shù)找出對(duì)象
SELECT owner, name sharable_mem, kept, loads
FROM V$DB_OBJECT_CACHE
WHERE loads > 1 ORDER BY loads DESC;

找出使用的內(nèi)存超過10M并且不在常駐內(nèi)存的對(duì)象。
SELECT owner, name, sharable_mem, kept
FROM V$DB_OBJECT_CACHE
WHERE sharable_mem > 102400 AND kept = 'NO'
ORDER BY sharable_mem DESC;