http://tayoung00.tistory.com/24 -- Shared pool 2017.07.23 업데이트
◈ 오라클 Shared Pool, 쉐어드풀 ,공유풀
1. Shared Pool 이란?
1. Shared Pool 이란 ?
SGA의 일부로서 라이브러리 캐시, 데이터 딕셔너리 캐시, 고정 영역, 기타의 구조를 포함하고 있습니다.
(그림 1)
(그림 2)
- 데이터 딕셔너리 - 데이터베이스, 해당 구조 및 유저에 대한 참조 정보를 포함하는 데이터베이스 테이블 및 뷰 모음이다.
- 데이터 딕셔너리 캐시 - 오라클 DB는 SQL문 구문 분석중에 데이터 딕셔너리에 자주 엑세스한다. 그리하여 딕셔너리 데이터를 보관하는 곳 중 한 곳이다. 전체 데이터 블록을 보관하는 버퍼 대신 데이터를 행으로 보관하므로 행 캐시라고도 한다.
- 라이브러리 캐시 - 데이터베이스에 접속한 유저가 실행한 SQL, 오라클이 내부적으
로 사용하는 SQL(Recursive SQL) , SQL에 대한 분석 정보(Parse Tree) 및 실행 계
획 (Execution Plan) 이 저장된다. 메모리 상에 저장한다.
- 고정 영역 - SGA에 대한 시작 오버헤드를 나타낸다.
▶ 알고가기 !
오라클 데이터베이스는 데이터베이스에서 실행하는 각 SQL 문을 공유 SQL 영역(PGA에 보관되는 전용 SQL 영역) 으로 나타냅니다.
두 유저가 같은 SQL 문을 실행 할 경우 공유 SQL 영역을 재사용함.
* 조건 1 : 대소문자 일치
* 조건 2 : 띄어쓰기 일치
* 조건 3 : 오브젝트 소유자 일치
공유 SQL 영역에는 해당 SQL 문에 대한 구문분석 트리 및 실행 계획이 포함되어있음.
새 SQL 문이 구문 분석되면 공유 SQL영역에 새 SQL 문을 저장하기 위해 Shared Pool에 메모리 할당
▶ 정리
쉐어드 풀은 SGA의 일부이며 라이브러리 캐시, 데이터 딕셔너리 캐시, 고정 영역 등을 포함하고있으며, SQL을 파싱할때 사용한다.
오라클 DB는 구문 분석 중에 데이터 딕셔너리에 자주 접근하는대 딕셔너리 데이터를 보관하는 곳은 데이터 딕셔너리 캐시와 라이브러리 캐시 두 곳이다.
말 그대로 SQL구문을 공유 하여 메모리를 절약해 주는 공간이다.
아래의 공감 버튼은 작성자를 춤춰 날뛰게 합니다.
↓↓↓↓
'ORACLE' 카테고리의 다른 글
: ) 태영쓰 :: 오라클 JAVA POOL, STREAMS POOL (0) | 2017.03.12 |
---|---|
: ) 태영쓰 :: 오라클 Large Pool (대형풀, 라지풀) (0) | 2017.03.12 |
:) 태영쓰 :: ORACLE 리두 로그 버퍼(Redo Log Buffer) (0) | 2017.03.09 |
<ORACLE> 오라클 데이터베이스 버퍼 캐시 (0) | 2017.03.09 |
<오라클 기초>오라클 SGA, PGA (0) | 2017.03.07 |