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 · 마지막으로 수정됨: 저자 upju

