메모리 구조중급Oracle 전용

PGA (Program Global Area)

각 서버 프로세스가 독립적으로 사용하는 비공유 메모리 영역

정의

SGA와 달리 각 서버 프로세스 전용 메모리. Sort Area, Hash Area, Bitmap Merge Area 등 작업 공간을 포함한다. PGA가 부족하면 임시 테이블스페이스에 디스크 I/O가 발생(Disk Sort, Multi-pass Hash).

왜 중요한가?

SQL의 정렬(ORDER BY, GROUP BY)이나 해시 조인은 PGA의 Sort Area, Hash Area에서 수행. PGA가 부족하면 디스크 임시 공간을 사용하게 되어 성능이 크게 저하된다.

틀리기 쉬운 포인트

  • !PGA는 각 프로세스 전용. 접속 사용자 수에 비례해 증가합니다.
  • !PGA_AGGREGATE_TARGET을 너무 작게 설정하면 Disk Sort가 빈번해집니다.
  • !PGA 부족은 SORT ORDER BY/HASH JOIN 단계에서 디스크 I/O로 나타납니다.

예시

  -- PGA 크기 확인 SHOW PARAMETER pga_aggregate_target;

성능 포인트

!실행계획에서 SORT ORDER BY가 보이면 PGA 크기를 확인. Disk Sort는 수배 성능 저하.

관련 개념

관련 문제 풀어보기

관련 카테고리