본문 바로가기

Oracle/성능 분석과 인스턴스 튜닝 정리

Oracle SGA 와 PGA 개요

지난 시간에 정리한 오라클 아키텍처 구성요소 3대 필수 항목에서 SGA와 PGA의 개요만 살펴본다.

 

1. System Global Area

  • Database Buffer Cache : Disk I/O의 영향도를 줄이기 위해 Data File 의 Data Block을 메모리에 가져다 놓는다. 
  • Shared Pool : SQL 및 SQL 실행계획을 공유해서 같은 SQL의 Parsing은 권한 확인만 수행 하도록 만들어서 실행 속도를 높이도록 만든다. ( Data Dictionary Cache 를 활용해서 실행계획을 만들고 저장해서 공유한다. )
  • Redo Log Buffer : 데이터 변경사항 ( DML 발생시) 정보를 가지며 Redo log file에 Write 되기 이전에 Memory에 먼저 Write 되는 영역
  • Large Pool : Parallel Query 메시징 or 대용량의 메모리 할당이 필요한 경우 사용된다.
  • Java Pool : Java Object에 대한 메모리 영역
  • Stream Pool : Data 복제 등을 위한 Stream 사용 영역

 

2. Program Global Area

  • SQL Work Area : 정렬에 관련된 작업 Sort by, Group by 같은 정렬이 필요할 경우 or Hash join 시 디스크 I/O를 감소
  • Private SQL Area : SQL Runtime Memory Structure 로서 Cursor & Data Fetch 및 SQL 바인드 변수