• Shared Pool은 크게 Dictionary Cache와 Library Cache로 나뉨

1. Dictionary Cache

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

2. Library Cache

  • Dictionary Cache가 데이터의 입출력을 빠르게 하기 위한 캐시영역인 반면, 라이브러리 캐시는 사용자가 던진 SQL과 그 실행계획을 저장해 두는 캐시영역
  • 사용자가 SQL이라는 명령어를 통해 결과집합을 요청하면 이를 최적으로 수행하기 위한 처리루틴이 필요하며, 이를 실행계획이라고 함.
  • 최적화를 하기위해 거치는 모든 과정을 하드파싱이라고 하며, 이 작업은 매우 무거운 작업으로 매번 하드파싱이 발생되면 DB에 막대한 부하를 줌
  • 이를 최소화 하기 위해 SQL들을 재사용할 수 있도록 바인드 변수 처리를 하며, 이런 SQL 재사용을 소프트 파싱이라 함

문서에 대하여