메뉴 건너뛰기

Korea Oracle User Group

Admin

Pga 메모리 설정관련 내용

우뽕 2021.03.05 15:38 조회 수 : 1768 추천:1

PGA_AGGREGATE_TARGET 설정기준을 정의 해 보려고 합니다.

버전이 올라가면서 위의 파라미터 말고 다른 값이 존재 합니다.

PGA_AGGREGATE_LIMT  설정값이 존재 합니다.


계산은 단순 합니다.

PGA_AGGREGATE_TARGET  * 3 = PGA_AGGREGATE_LIMT
최소 값 입니다.
-->   PGA_AGGREGATE_LIMT 설정값이 최신 버전에서는 * 3 으로 계산이 아니 됩니다.  * 2로 변경 되며  PGA_AGGREGATE_LIMT 설정값을따로 잡지 않아도 되는것으로 확인 되었습니다. 즉 PGA_AGGREGATE_LIMT 값만 설정 해 주시면 PGA_AGGREGATE_LIMT 계산을 하면서 올라 오지만 미리 PGA_AGGREGATE_LIMT reset 처리를 먼저 수행 되어야 합니다.   ( 23년 3월 기준으로 확인 완료)


그럼 PGA_AGGREGATE_TARGET 계산은 어떻게 할까요 ?

아래와 같이 계산식으로 산출 하시면 됩니다.

한개의 프로세스수 * 5120000 byte 입니다.

즉 DB 설치시 PROCESSES 수를 지정 하게 됩니다.


예로 ))

프로세스 수 : 30000

PGA_AGGREGATE_TARGET  = 505Mb
  == (5120000*3000)/1024/1024   = (1,464.84 byte *1024*1024)/2.9 = 529,653,816.4
    529,653,816.4/1024/1024 = 505.1172413793103
소수점 버림 하면 505MB 정도 나옵니다. 
 
여기 위에서 왜 2.9를 나누게 된 배경은  수많은 테스트에서 나온 결과 입니다. ( 엑셀을 이용해서 계산을 해 보고 나온 값으로 설명 불가. )
PGA_AGGREGATE_TARGET 값은 505mb 이상 잡으시면 됩니다.
단 PGA_AGGREGATE_LIMT = 1515Mb 설정값의 계산식은 반드시 PGA_AGGREGATE_TARGET * 3배를 잊지 마셔야 합니다.

PGA_AGGREGATE_LIMT 설정값이 부족 하면 ora-00093, ora-01078 로 인해 db 구동이 불가능 합니다.

반드시 spfile은 백업을 해 놓은 상태에서 수행 하시길 바랍니다.
 
중요한것은 위의 처럼 안 하셔도 됩니다. PGA_AGGREGATE_TARGET 임의 적으로 잡으신 후 PGA_AGGREGATE_LIMIT 설정시
PGA_AGGREGATE_TARGET * 3 으로 계산하여 넣으셔 됩니다. 
Oracle 버전이 올라 가면서 하나의 프로세스가 예전에는 3M 였으나 현재 버전까지 5M 로 계산 해 보시는 것이 좋을듯 하여 올려 봅니다 
 

테스트 장비  : 19c  기준으로 작성 
Exadata 도 가능 

 

번호 제목 글쓴이 날짜 조회 수
34 Oracle Archive log 사용량 확인(GV$ARCHIVED_LOG) [1] 에밀리오 2016.08.04 11118
33 내가 돌린 SQL ID 찾기 [1] Talros 2016.05.12 8771
32 DBMS_SCHEDULER을 통해 OS 레벨(EXTERNAL)의 shell 수행하기 명품관 2017.04.05 5757
31 오라클 패치 정보를 조회할 수 있는 뷰 DBA_REGISTRY_SQLPATCH 명품관 2017.03.02 5451
30 Schema Password 복사 하기 Talros 2016.10.05 3255
29 Fixed Table에 대한 권한은 직접적으로 부여되지 않는다. 명품관 2016.08.26 2658
28 Oracle Resource Limit를 이용한 간단한 Parameter Check (GV$RESOURCE_LIMIT) 에밀리오 2016.07.15 2228
27 [12cR2 이상] 오브젝트 이름 30자이상 사용 가능 우뽕 2020.01.22 2225
26 Partition 추가의 계절 - Range Partition 추가시 알아 두어야할 부분 [1] 명품관 2015.12.03 2198
25 Kill Session Script (GV$SESSION) 에밀리오 2016.07.12 2116
24 Alert Log를 SQL 사용하여 보기 (X$DBGALERTEXT) [1] 에밀리오 2016.01.28 2005
» Pga 메모리 설정관련 내용 [1] 우뽕 2021.03.05 1768
22 Alert log 에서 갑자기 패치 정보가 나타나는 현상 Talros 2019.09.23 1625
21 테이블 컬럼의 Default 값에 대한 흔적은 Dictionary에 계속 남게 된다. 명품관 2016.04.05 1577
20 Block Cleanout(블럭 클린아웃) 명품관 2016.09.23 1476
19 Schema password 재 사용 불가능 하게 하기 [1] Talros 2022.01.26 1259
18 DB option Enable / Disable 정리 방법 - Mos 참고 file 우뽕 2021.01.31 1204
17 Active Session History를 이용한 TOP SQL 분석 (GV$ACTIVE_SESSION_HISTORY) 에밀리오 2016.07.12 1188
16 RECO 프로세스 트레이스 발생 하면서 ORA-02019 에러 발생시 명품관 2021.01.12 981
15 SQL Plan Management(SPM) - 1 파라미터의 기능 확인 명품관 2020.03.19 961
위로