Shared Pool

1. 딕셔너리 캐시

  • 말 그래로 오라클 딕셔너리 정보를 저장해 두는 캐시영역으로서 Row 단위로 읽고 쓰기 때문에 '로우 캐시(Row Cache)' 라고도 불린다.
  • 테이블, 인덱스 같은 오브젝트는 물론 테이블 스페이스, 테이터파일, 세그먼트, 익스텐트, 사용자, 제약, Sequence, DB Link에 과한 정보들을 캐싱한다.

SQL> select parameter
  2       , gets
  3       , getmisses
  4       , round((gets-getmisses) / gets * 100, 2) hit_ratio
  5       , modifications
  6    from v$rowcache
  7   where gets > 0
  8  order by hit_ratio desc;

PARAMETER                              GETS  GETMISSES HIT_RATIO MODIFICATIONS
-------------------------------- ---------- ---------- --------- -------------
dc_rollback_segments               54379600         21    100.00            71
dc_tablespaces                     21987603          8    100.00             2
dc_users                             502660         32     99.99             2
dc_awr_control                         4512          1     99.98           144
dc_segments                         4920644       1488     99.97           923
dc_profiles                            6916          2     99.97             0
dc_global_oids                       211744         83     99.96             0
dc_usernames                          19960         18     99.91             0
dc_users                              16571         26     99.84             0
dc_object_ids                        406679       1816     99.55           265
dc_histogram_data                     25901        241     99.07           335

PARAMETER                              GETS  GETMISSES HIT_RATIO MODIFICATIONS
-------------------------------- ---------- ---------- --------- -------------
dc_objects                           106208       2790     97.37          1110
dc_object_grants                       2645         91     96.56             0
dc_sequences                            234          9     96.15           234
dc_files                                119          5     95.80             2
dc_histogram_data                    109719       8492     92.26          6325
outstanding_alerts                     5968        486     91.86           948
dc_histogram_defs                    215659      21870     89.86          6478
dc_tablespace_quotas                      3          1     66.67             0
dc_constraints                          348        117     66.38           348
dc_table_scns                            32         32      0.00             0

21 개의 행이 선택되었습니다.

라이브러리 캐시

  • 사용자가 던진 SQL과 그 실행계획을 저장해 두는 캐시영역이다.
  • 하드 파싱 : 쿼리 구문을 분석해서 문법 오류 및 실행 권한 등을 체크하고, 최적화 과정을 거쳐 실행 계획을 만들고, SQL 실행 엔진이 이해할 수 있는 형태의 포맷팅하는 전 과정을 하드 파싱으로한다.
  • 소프트 파싱 : 반복적인 하드 파싱을 최소화 하기 위한 새로운 캐시 공간을 두게 되었고, 바로 라이브러리 캐시 영역