學習動态性能表
第12篇--V$DB_OBJECT_CACHE
本視圖提供對象在library cache(shared pool)中對象統計,提供比v$librarycache更多的細節,并且常用于找出shared pool中的活動對象。
v$db_object_cache中的常用列:
l OWNER:對象擁有者
l NAME:對象名稱
l TYPE:對象類型(如,sequence,procedure,function,package,package body,trigger)
l KEPT:告知是否對象常駐shared pool(yes/no),有賴于這個對象是否已經利用PL/SQL 過程DBMS_SHARED_POOL.KEEP“保持”(永久固定在記憶體中)
l SHARABLE_MEM:共享記憶體占用
l PINS:目前執行對象的session數
l LOCKS:目前鎖定對象的session數
瞬間狀态列:
下列列保持對象自初次加載起的統計資訊:
l LOADS:對象被加載次數。
示例:
1.shared pool執行以及記憶體使用總計
下列查詢顯示出shared pool記憶體對不同類别的對象
同時也顯示是否有對象通過DBMS_SHARED_POOL.KEEP()過程常駐shared pool。
SELECTtype, kept, COUNT(*), SUM(sharable_mem)
FROM V$DB_OBJECT_CACHE
GROUPBYtype, kept;
2.通過載入次數找出對象
SELECT owner, name sharable_mem, kept, loads
WHERE loads > 1ORDERBY loads DESC;
3.找出使用的記憶體超過10M并且不在常駐記憶體的對象。
SELECT owner, name, sharable_mem, kept
WHERE sharable_mem > 102400AND kept = 'NO'
ORDERBY sharable_mem DESC;