Chapter3 - Oracle 메모리 구조
초보자를 위한 Oracle 10g
Chapter3 - Oracle 메모리 구조
- 2개의 메모리 종류
SGA(System Global Area) - 모든 사용자가 공유 가능하여 사용
PGA(Program Global Area) - 사용자마다 공유하지 않고 개별적으로 사용
(1)PGA
- 정의: 각각의 서버 프로세스가 독자적으로 사용하는 오라클 메모리 영역으로, 데이터베이스에 접속하는 모든 유저에게 할당된다.
- 유저 프로세스 <-> 서버 프로세스 <-> PGA
- PGA의 구조
1. 정렬 공간(Sort Area)
Order By 또는 Group By 등의 정렬을 수행하기 위한 공간
*메모리 정렬 불가 시 디스크 이용
2. 세션 정보(Session Information)
유저 프로세스의 세션 정보를 저장
3. 커서 상태 정보(Cursor State)
해당 SQL의 파싱(Parsing)정보가 저장되어 있는 주소(Cursor)를 저장
4. 변수 저장 공간(Stack Space)
바인드 변수(Bind Variable) 사용 시 해당 바인드 변수를 저장
- PGA의 관리 --> 파라미터 통해서 관리
1. WORKAREA_SIZE_POLICY
MANUAL 또는 AUTO로 설정 가능 (10g는 Default= AUTO)
MANUAL --> SORT_AREA_SIZE 파라미터로 정렬 공간 설정됨
AUTO --> PGA_AGGREGATE_TARGET 파라미터로 전체 PGA 크기 설정됨
2. SORT_AREA_SIZE
정렬 공간에 대한 크기를 설정하는 파라미터
3. PGA_AGGREGATE_TARGET
모든 세션의 PGA 크기의 합을 설정하는 파라미터 (9i부터 사용 가능)
--> 자동 PGA 조정 기능
* 관리Tip: 평소 접속하는 세션 수 및 각 세션의 PGA 사용량 크기를 파악하여 적절한 값 설정이 필요
PGA 크기 확인 --> V$PROCESS 데이터 딕셔너리 참조
- PGA_USED_MEM - 현재 프로세스가 사용중인 PGA 크기
- PGA_ALLOC_MEM - 프로세스에 할당된 PGA 크기
- PGA_MAX_MEM - 프로세스가 사용한 최대 PGA 크기
'Oracle_DB_Unix admin > (1)초보자를 위한 Oracle 10g' 카테고리의 다른 글
Chapter 4 오라클 프로세스 (0) | 2015.04.08 |
---|