天天看點

學習動态性能表 第十六篇--V$ROWCACHE

學習動态性能表

第16篇--V$ROWCACHE 

  本視圖顯示資料字典緩存(也叫rowcache)的各項統計。每一條記錄包含不同類型的資料字典緩存資料統計,注意資料字典緩存有層次差别,是以同樣的緩存名稱可能不止一次出現。

V$ROWCACHE常用列

l         PARAMETER:緩存名

l         COUNT:緩存項總數

l         USAGE:包含有效資料的緩存項數

l         GETS:請求總數

l         GETMISSES:請求失敗數

l         SCANS:掃描請求數

l         SCANMISSES:掃描請求失敗次數

l         MODIFICATIONS:添加、修改、删除操作數

l         DLM_REQUESTS:DLM請求數

l         DLM_CONFLICTS:DLM沖突數

l         DLM_RELEASES:DLM釋放數

使用V$ROWCACHE資料

1>.确認資料字典緩存是否擁有适當的大小。如果shared pool過小,那資料字典緩存就不足以擁有合适的大小以緩存請求資訊。

2>.确認應用是否有效通路緩存。如果應用設計未能有效使用資料字典緩存(比如,大資料字典緩存并不有助于解決性能問題)。例如,DC_USERS緩存在過去某段時期内出現大量GETS,看起來像是資料庫中建立了大量的不同使用者,并且應用記錄下使用者頻繁登陸和登出。通過檢查logon比率以及系統使用者數可以驗證上述資料。同時解析比率也會很高,如果這是一個大型的OLTP系統的中間層,它可能在中間層更有效的管理個别帳戶,允許中間層以單使用者登陸成為應用所有者。通過保持活動連接配接來減少logon/logoff比率也同樣有效。

3>.确認是否發生動态空間配置設定。DC_SEGMENTS, DC_USED_EXTENTS, 以及DC_FREE_EXTENTS大量的類似大小修改将指出存在大量動态空間配置設定。可行的解決方案包括指定下一個區大小或者使用本地管理表空間。如果發生空間配置設定的是臨時的表空間,則可以為其指定真正的臨時表空間(If the space allocation is occurring on the temp tablespace, then use a true temporary tablespace for the temp. )。

4>.dc_sequences值的變化指出是否大量sequence号正在産生。

5>.搜集硬解析的證據。硬解析常表現為大量向DC_COLUMNS, DC_VIEWS 以及 DC_OBJECTS caches的gets。

示例:

1.分組統計資料字典統計項

SELECT parameter,sum("COUNT"),sum(usage),sum(gets),sum(getmisses),

       sum(scans),sum(scanmisses),sum(modifications),

       sum(dlm_requests),sum(dlm_conflicts),sum(dlm_releases)

 FROM V$ROWCACHE

 GROUPBY parameter;

2.檢查資料字典的命中率

select1 - sum(getmisses) / sum(gets) "data dictionary hitratio" from v$rowcache;