學習動態效能表(16)--V$ROWCACHE

聽海★藍心夢發表於2009-03-05

學習動態效能表第16篇--V$ROWCACHE

  本檢視顯示資料字典快取(也叫rowcache)的各項統計。每一條記錄包含不同型別的資料字典快取資料統計,注意資料字典快取有層次差別,因此同樣的快取名稱可能不止一次出現。

V$ROWCACHE常用列
PARAMETER:快取名
COUNT:快取項總數
USAGE:包含有效資料的快取項數
GETS:請求總數
GETMISSES:請求失敗數
SCANS:掃描請求數
SCANMISSES:掃描請求失敗次數
MODIFICATIONS:新增、修改、刪除運算元
DLM_REQUESTS:DLM請求數
DLM_CONFLICTS:DLM衝突數
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
GROUP BY parameter;

2.檢查資料字典的命中率
select 1 - sum(getmisses) / sum(gets) "data dictionary hitratio" from v$rowcache;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/751371/viewspace-561521/,如需轉載,請註明出處,否則將追究法律責任。

相關文章