Library cache

▶ V$LIBRARYCACHE Table

  • 가장 최근의 인스턴스 시작 이후 모든 Library cache actibity를 나타냄
  • Library cache 행동을 감시
  • 사용자 SYS 와 SELECT ANY TABLE 시스템 권한을 가진 사용자, 즉 SYSTEM과 같은 사용자만이 이용

NAMESPACE column : SQL 문장과 PL/SQL 블록들을 위한 Library cache actibity
                                 ('SQL AREA', 'TABLE/PROCEDURE', 'BODY', 'TRIGGER')
PINS : Library cache 내의 항목이 실행된 수
RELOADS : 실행 단계에서의 Library cache miss의 수

Library cache miss ratio :
라이브러리 캐시는 사용자가 요청한 질의 문장을 Server Process가 여러 단계를 거쳐 작업할 때 사용하는 작업 공간으로서 공유 SQL 영역과 개별 SQL 영역, PL/SQL 영역으로 나누어 볼 수 있다. Library cache의 가장 중요한 목적은 Library Cache 안에 저장된 Object를 가장 빠르게 찾고 저장하는 기법을 제공하는 것이다.

Query ①
SQL> select sum(pins) "Executions", sum(reloads) "Cache misses while executing"
  2  from v$librarycache;

Executions Cache misses while executing
---------- ----------------------------
   1534122                           24

Query ②
SQL> select to_char(trunc(sum(reloads)/sum(pins) * 100, 5), 99.99999) ||
  2  '% (less than 1%)' "Library cache miss ratio"
  3  from v$librarycache;

Library cache miss ratio
-------------------------
  .00156% (less than 1%)

  1. PINS column의 합은 SQL 문장, PL/SQL blocks, object 정의가 총 1,534,122번 실행하기 위해 access 되었음.
  2. Reloads의 합은 실행 횟수 중 24번의 실행이 Library cache의 대기 상태를 발생
  3. 총 PINS에서 총 reloads의 비율 : 0.00156% (물론 ①, ② 쿼리 시간이 틀려 오차 발생할 수 있음)

총 Reloads는 0에 가가워야 하며 Pins 에서 Reloads의 비율이 1% 이상이라면 Library cache miss를 줄여야 함.




SQL> select namespace name, gets, gethits,round(gethitratio*100,2) "GetHit Percentage",
  2  Pins, pinhits, round(pinhitratio*100,2) "PinHit Percentage", reloads, invalidations
  3  from v$librarycache
  4  order by 1 ;

NAME                  GETS    GETHITS GetHit Percentage       PINS    PINHITS
--------------- ---------- ---------- ----------------- ---------- ----------
PinHit Percentage    RELOADS INVALIDATIONS
----------------- ---------- -------------
BODY                    20          8                40         19          8
            42.11          0             0

CLUSTER                558        550             98.57        434        424
             97.7          0             0

INDEX               116392     116350             99.96     116361     116319
            99.96          0             0


NAME                  GETS    GETHITS GetHit Percentage       PINS    PINHITS
--------------- ---------- ---------- ----------------- ---------- ----------
PinHit Percentage    RELOADS INVALIDATIONS
----------------- ---------- -------------
JAVA DATA                0          0               100          0          0
              100          0             0

JAVA RESOURCE            0          0               100          0          0
              100          0             0

JAVA SOURCE              0          0               100          0          0
              100          0             0


NAME                  GETS    GETHITS GetHit Percentage       PINS    PINHITS
--------------- ---------- ---------- ----------------- ---------- ----------
PinHit Percentage    RELOADS INVALIDATIONS
----------------- ---------- -------------
OBJECT                   0          0               100          0          0
              100          0             0

PIPE                     0          0               100          0          0
              100          0             0

SQL AREA            343944     343502             99.87    1058533    1057735
            99.92         24             1


NAME                  GETS    GETHITS GetHit Percentage       PINS    PINHITS
--------------- ---------- ---------- ----------------- ---------- ----------
PinHit Percentage    RELOADS INVALIDATIONS
----------------- ---------- -------------
TABLE/PROCEDURE     367737     367360              99.9     367952     367440
            99.86          0             0

TRIGGER                 24         21              87.5         24         21
             87.5          0             0


11 rows selected.

 

'IT > Oracle' 카테고리의 다른 글

Unix 에서 Raw Device 사용법  (0) 2008.04.16
Oracle monitoring query  (0) 2008.04.03
Dictionary Cache (v$rowcache)  (0) 2008.04.03
Oracle architecture  (0) 2008.03.28
Oracle DB dictionary  (0) 2008.01.07

+ Recent posts