天天看點

學習動态性能表 第十二篇--V$DB_OBJECT_CACHE

學習動态性能表

第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;