오라클의 성능을 점검하기 위해
Library Cache 와 Dictionary Cache, Buffer Cache의 Hit Ratio 를 측정할 때가 있다.
아래의 쿼리를 참고하여 히트율을 확인할 수 있다.
Library Cache Get Hit Ratio 라이브러리 캐쉬의 [Get] 적중율
(SQL 파싱시 커서의 재사용 여부)
-- 적중율
select round(sum(pinhits)/sum(pins) * 100,2)
from v$librarycache;
Dictionary Cache Hit Ratio 딕셔너리 캐쉬 전체의 적중률
-- 적중률
select sum(GETS),
sum(GETMISSES),
round((1 - (sum(GETMISSES) / sum(GETS))) * 100,2)
from v$rowcache;
Buffer Cache Hit Ratio 데이터베이스 버퍼캐쉬의 적중률
-- BUFFER CACHE HIT RATIO
select sum(decode(NAME, 'consistent gets',VALUE, 0)) "Consistent Gets",
sum(decode(NAME, 'db block gets',VALUE, 0)) "DB Block Gets",
sum(decode(NAME, 'physical reads',VALUE, 0)) "Physical Reads",
round((sum(decode(name, 'consistent gets',value, 0)) +
sum(decode(name, 'db block gets',value, 0)) -
sum(decode(name, 'physical reads',value, 0))) /
(sum(decode(name, 'consistent gets',value, 0)) +
sum(decode(name, 'db block gets',value, 0))) * 100,2) "Hit Ratio"
from v$sysstat;