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 실행 엔진이 이해할 수 있는 형태의 포맷팅하는 전 과정을 하드 파싱으로한다.
- 소프트 파싱 : 반복적인 하드 파싱을 최소화 하기 위한 새로운 캐시 공간을 두게 되었고, 바로 라이브러리 캐시 영역