type
status
date
slug
summary
tags
category
icon
password
정의
PGA(Program Global Area)는 Oracle 데이터베이스 서버에서 각 서버 프로세스나 백그라운드 프로세스에 할당되는 메모리 영역입니다. 이 영역은 세션 별로 독립적으로 할당되며, 사용자의 SQL 문 실행과 관련된 데이터와 제어 정보를 저장합니다. PGA는 주로 정렬 작업, 세션 정보, 커서 상태 정보 등을 관리하는 데 사용됩니다.
작업 영역
SQL 작업 영역
ORDER BY와 GROUP BY와 같이 데이터를 정렬하는 함수를 위한 정렬 영역, 테이블의 해시 조인을 수행하기 위한 해시 영역, 그리고 여러 비트맵 인덱스 스캔에서 검색된 데이터를 병합하기 위한 비트맵 병합 영역을 포함합니다.
사용자 전역 영역(UGA)
로그온 정보와 데이터베이스 세션에 필요한 기타 정보와 같은 세션 변수를 위한 사용자 세션 데이터 저장 영역이며, 데이터 블록과 동등한 OLAP 데이터 페이지를 관리하는 OLAP 풀을 포함합니다.
Private SQL 영역
파싱된 SQL 문에 대한 정보와 처리를 위한 기타 세션별 정보를 보유합니다. 서버 프로세스가 SQL 또는 PL/SQL 코드를 실행할 때, 이 프로세스는 프라이빗 SQL 영역을 사용하여 바인드 변수 값, 쿼리 실행 상태 정보, 그리고 쿼리 실행 작업 영역을 저장합니다. 동일하거나 다른 세션의 여러 프라이빗 SQL 영역이 SGA의 단일 실행 계획을 가리킬 수 있습니다. 영구 영역은 바인드 변수 값을 포함하고, 런타임 영역은 쿼리 실행 상태 정보를 포함합니다.
커서
커서는 프라이빗 SQL 영역의 특정 영역에 대한 이름 또는 핸들입니다. 커서를 클라이언트 측의 포인터로, 서버 측의 상태로 생각할 수 있습니다.
Sort Area
Sort Area는 PGA 내에서 ORDER BY, GROUP BY, 조인 작업, 인덱스 생성 등과 같은 정렬 작업을 수행하는 데 사용되는 메모리 공간입니다. 이 영역은 정렬 작업의 효율성을 높이고, 디스크 I/O를 최소화하여 쿼리 성능을 향상시키는 데 중요한 역할을 합니다. Sort Area의 크기는 SORT_AREA_SIZE 파라미터로 제어되며, 이 값을 적절히 조정하여 정렬 작업의 성능을 최적화할 수 있습니다.
Hash Area
Hash Area는 PGA 내에서 해시 조인 작업을 수행하는 데 사용되는 메모리 공간입니다. 이 영역은 대량의 데이터를 효율적으로 조인하는 데 중요한 역할을 합니다. Hash Area의 크기는 HASH_AREA_SIZE 파라미터로 제어되며, 이 값을 적절히 설정하여 해시 조인 작업의 성능을 최적화할 수 있습니다.
REF