참고
1. Limiting process size with database parameter PGA_AGGREGATE_LIMIT (문서 ID 1520324.1)
2. http://www.kova.co.kr/techinfo/sub01_read.asp?fre_code=2&fre_num=4&fre_seq=4
A. PGA_AGGREGATE_LIMIT 등장 배경
1) The PGA_AGGREGATE_TARGET 는 목표값이지, 제한값이 아님
2) PGA_AGGREGATE_TARGET 는 Tunable Memory(Work Area) 만 제한함
3) 과도한 PGA 사용은 SWAP을 유발시켜 성능 문제 야기시킴.
B. PGA_AGGREGATE_LIMIT 은 Dynamic 변경가능
C. 3초 마다, CHPT 프로세스가 PGA_AGGREGATE_LIMIT 초과 여부 확인
-> PGA 가장 많이 사용 프로세스 종료 시킴 ( LIMIT 이하 까지 종료, PGA 사용 반복)
D. 12C, PGA_AGGREGATE_LIMIT 로 PGA USAGE 제한가능함
E. PGA_AGGREGATE_LIMIT 초과시, DB는 아래 규칙으로 Session/Process 를 종료 시킴
1. 가장많은 Untunable PGA 사용 하는 세션을 중단시킴
2. 그래도 PGA_AGGREGATE_LIMIT 를 초과하면, 다시 가장많은 Untuable PGA 사용 하는 세션을 중단시킴
3. Job 외, SYS 및 Background Process 는 대상아님
F. 12cR1
1) PGA_AGGREGATE_LIMIT 은 기본이 2기가, PGA_AGGREGATE_TARGE * 2 , PROCESS * 3 M
2) ( Physical Memory - SGA )*1.2 > PGA_AGGREGATE_LIMIT
G. 12R2 ( PGA_AGGREGATE_LIMI 은 최소값은 2기가 그리고 PROCESS * 3M 이다. )
1) MEMORY_TARGET SET , THEN, PGA_AGGREGATE_LIMIT = MEMORY_TARGET
2) MEMORY_TARGET UNSET , THEN, PGA_AGGREGATE_LIMIT = PGA_AGGREGATE_TARGET * 2
3) MEMORY_TARGET UNSET , PGA_AGGREGATE_TARGET = 0
THEN, PGA_AGGREGATET_LIMIT = ( Physical Memory - SGA ) * 0.9