study:oracle:11g2daydba:05:pga
PGA(Program Global Areas)
동작원리
PGA는 하나의 단일 (서버,백그라운드)프로세스에 대한 데이타와 제어정보를 가지고 있는 메모리 공간이다.
PGA는 User Process가 Oracle Database에 접속하고 Session이 생성될때 Oracle에 의해 할당됩니다.
각 서버프로세스에 하나만 할당되는 PGA메모리 영역은 SGA 영역과는 달리
다른 프로세스와 공유 되지 않는 각 프로세스가 독립적으로 사용하는 non-shared 메모리 영역이다.
PGA_AGGREGATE_TARGET 파라메터를 이용하면 PGA SQL 실행영역을 일일이 설정해 줄 필요없이 이 범위내에서 메모리를 최대한 효율적으로 사용할 수 있다.
Session Memory
Session의 variable, array 정보를 저장한다.
Private SQL Areas
Private SQL 영역은 binding 정보와 runtime 정보를 포함하는 메모리 영역이다.
Private SQL 영역은 Persistent 영역과 Runtime 영역으로 나누어진다.
Private SQL 영역의 할당과 복귀의 많은 부분이 User의 Application에 의존하고, 운영은 User Process와 연관이 있다.
초기화 파라메터 OPEN_CURSORS는 User Process가 할당할 수 있는 Private SQL 영역을 제한한다.
runtime 영역에는 SQL문을 실행하는 중에 사용하는 정보를 포함하게 되는데, SQL문의 복잡도, 처리해야할 데이터량 등에 따라 이 영역의 크기가 달라진다.
SQL Work Areas 에 포함되는 정보
Sort-based operators (order by , group by, rollup, windows function)
Hash join
Bitmap merge
Bitmap create
study/oracle/11g2daydba/05/pga.txt · 마지막으로 수정됨: 2010/02/08 18:08 저자 upju