본문 바로가기
공부/DBMS

Data Dictionary Cache Hit Ratio(v$rowcache)

by 개공 2022. 5. 18.

[Data Dictionary Cache(데이터 딕셔너리 캐시)]

※ instance 재기동시 Cache 영역은 재생성됨
shared_pool_size에 존재하며,  dictionary cache 및 library cache 영역으로 나뉨

1) Data Dictionary Cache 정의
: Data Dictionary Object 정보를 저장하는 곳.

hard parsing 수행시 테이블/컬럼/사용자의 권한을 확인하는 작업을 진행 필요하며,
이때 Data Dictionary의 Object가 Data Dictionary Cache로 로딩됨.

2) Data Dictionary Cache 성능
: 데이터 처리 속도 향상
디스크에 저장된 Data Dictionary의 정보에 대한 I/O가 발생하지 않고 바로 메모리 영역에서 읽어 사용할 수 있음.
 
3) Data Dictionary Hit Ratio 정의
: Data Dictionary Cache에서 데이터를 읽어들인 비율을 Hit Ratio로 표현함.
Data Dictionary Cache에서 읽은 횟수(GETS)와 Cache에 없어 I/O를 진행했을 때(GETMISSES)의 값을 비율을 
V$ROWCACHE View를 통해 산출하여 확인할 수 있음.

4) Data Dictionary Hit Ratio 저하 원인 * Tibero 기준 분석시 APM/TPR 있어야함.
(1) Dictionary Cache가 작아서 필요한 Dictionary Object 가 Dictionary Cache에 계속 존재하지 않았을 경우   
(2) DDL이 대량으로 수행되어 Dictionary Object가 대량으로 invalidation 이 일어났을 가능성 존재                          (3) 분석업무 등 OLAP (데이터 일회성으로 접근)  
(4) table full scan 많이 사용하는 경우 재사용될 가능성이 높은 블록까지 cache out 되버려 디스크I/O 발생 확률 증가

5) Data Dictionary Hit Ratio 조회

--Oracle 기준

select (1-(sum(getmisses)/sum(gets))) * 100 “Hit Ratio” from v$rowcache;

--Tibero 기준

(1)SELECT to_char(ROUND( ( sum(hit_cnt) - sum(miss_cnt) ) / sum(hit_cnt) * 100, 1)) "Dictionary Cache Hit Ratio(%)"
FROM v$rowcache;

Dictionary Cache Hit Ratio(%)
--------------------------------------
97.8

(2) SELECT TRUNC(SUM(miss_cnt)/SUM(hit_cnt)*100, 5), SUM(miss_cnt), SUM(hit_cnt) FROM v$rowcache

(3)SELECT TO_CHAR(sysdate,'yyyy/mm/dd hh24:mi:ss') AS "Time"
       , 'Dictionary Cache' AS "Name"
       , hit AS "Hit(%)"
       , CASE WHEN hit > 90 then 'Good'
             WHEN hit between 70 and 90 then 'Average'
             ELSE 'Not Good'
         END AS "Status"
FROM ( SELECT ROUND((1- sum(miss_cnt)/(sum(hit_cnt+miss_cnt)))*100, 2) AS hit
        FROM v$rowcache )
/

Time                Name                 Hit(%) Status
------------------- ---------------- ---------- --------
2022/05/18 16:57:38 Dictionary Cache      97.84 Good

반응형

'공부 > DBMS' 카테고리의 다른 글

tibero resetlogs open  (0) 2020.10.03
데이터베이스(Database, DB) 개념  (0) 2018.11.20