h1.Shared Pool -* (뒤에서 자세히 다룸)
h3.(1) 딕셔너리 캐시
- 오라클 덕셔너리 정보를 저장해 두는 캐시 영역으로서 Row 단위로 읽고 쓰기 때문에 '로우 캐시 (Row Cache)' 라고도 불린다.
- 테이블, 인덱스 같은 오브젝트는 물론 테이블스페이스, 데이터파일, 세그먼트, 익스멘트, 사용자, 제약, Sequence, DB Link에관한 정보들을 캐싱한다.
- Sequence 객체를 하나 만들면 오라클 덕셔너리에 저장되고, 로우 캐시를 거쳐 읽고 쓰기가 이루어진다.
- 사용자가 Sequence로부터 새로운 값을 인출하기 위해 nextval을 호출할 때마다 로우 캐시를 통해 update가 이루어진다.
Sequence Cache 옵션
잦은 채번은 로우 캐시에 경합을 발생시키게 된다.이를 해소하기 위해 필수적으로 Cache 옵션을 사용해야 하며,
Cache 크기가 10이면 Nocache 일 때보다 로우 캐시를 갱신하는 횟수가 1/10으로 준다. 동시에 채번이 많이 발생하는 Sequence 일수록 cache 사이즈를 크게 설정 하는 것은 매우중요한튜닝 요소중하나이며, 기본설정값은 20이다.
- 딕셔너리 캐시의 활동성에 대한 통계를 조회해 볼 수 있는 뷰가 v$rowcache 이다
*히트율Hit Ratio를 조사했을 때 수치가 낮게 나오면 Shared Pool 사이즈를 늘리는 것을고려해볼필요가있다.
h3.(2) 라이브러리 캐시
- DB 버퍼 시, Redo 로그 버퍼 캐시, 덕셔너리 캐시 등은 데 이터의 입출력을 빠르게 하기 위한 캐시영역
- 라이브러리 캐시는 시용자가 던진 SQL고 그 실행계획을 저장해 두는 캐시영역