V$ROWCACHE常用列
l PARAMETER:緩存名
l COUNT:緩存項總數(shù)
l USAGE:包含有效數(shù)據(jù)的緩存項數(shù)
l GETS:請求總數(shù)
l GETMISSES:請求失敗數(shù)
l SCANS:掃描請求數(shù)
l SCANMISSES:掃描請求失敗次數(shù)
l MODIFICATIONS:添加、修改、刪除操作數(shù)
l DLM_REQUESTS:DLM請求數(shù)
l DLM_CONFLICTS:DLM沖突數(shù)
l DLM_RELEASES:DLM釋放數(shù)
使用V$ROWCACHE數(shù)據(jù)
1>.確認數(shù)據(jù)字典緩存是否擁有適當(dāng)?shù)拇笮 H绻?/span>shared pool過小,那數(shù)據(jù)字典緩存就不足以擁有合適的大小以緩存請求信息。
2>.確認應(yīng)用是否有效訪問緩存。如果應(yīng)用設(shè)計未能有效使用數(shù)據(jù)字典緩存(比如,大數(shù)據(jù)字典緩存并不有助于解決性能問題)。例如,DC_USERS緩存在過去某段時期內(nèi)出現(xiàn)大量GETS,看起來像是數(shù)據(jù)庫中創(chuàng)建了大量的不同用戶,并且應(yīng)用記錄下用戶頻繁登陸和注銷。通過檢查logon比率以及系統(tǒng)用戶數(shù)可以驗證上述數(shù)據(jù)。同時解析比率也會很高,如果這是一個大型的OLTP系統(tǒng)的中間層,它可能在中間層更有效的管理個別帳戶,允許中間層以單用戶登陸成為應(yīng)用所有者。通過保持活動連接來減少logon/logoff比率也同樣有效。
3>.確認是否發(fā)生動態(tài)空間分配。DC_SEGMENTS, DC_USED_EXTENTS,以及DC_FREE_EXTENTS大量的類似大小修改將指出存在大量動態(tài)空間分配??尚械慕鉀Q方案包括指定下一個區(qū)大小或者使用本地管理表空間。如果發(fā)生空間分配的是臨時的表空間,則可以為其指定真正的臨時表空間(If the space allocation is occurring on the temp tablespace, then use a true temporary tablespace for the temp. )。
4>.dc_sequences值的變化指出是否大量sequence號正在產(chǎn)生。
5>.搜集硬解析的證據(jù)。硬解析常表現(xiàn)為大量向DC_COLUMNS, DC_VIEWS以及DC_OBJECTS caches的gets。
示例:
1.分組統(tǒng)計數(shù)據(jù)字典統(tǒng)計項
SELECTparameter,sum("COUNT"),sum(usage),sum(gets),sum(getmisses),sum(scans),sum(scanmisses),sum(modifications),sum(dlm_requests),sum(dlm_conflicts),sum(dlm_releases)
FROMV$ROWCACHEGROUPBYparameter;
2.檢查數(shù)據(jù)字典的命中率
select1-sum(getmisses) /sum(gets) "data dictionary hitratio" fromv$rowcache;