버전 비교

  • 이 줄이 추가되었습니다.
  • 이 줄이 삭제되었습니다.
  • 서식이 변경되었습니다.

...

reset_stat 스크립트와, watch_stat 스크립트의 내용은 각각 좌측의 링크를 통해 확인해보도록 한다.  

우측과 아래와 같이 실행하여, sort_area_size를 각각 64KB, 1MB, 1GB로 잡아두고 테스트를 진행한다. @imsi 65536, @imsi 1048576, @imsi 1073741820 

서식 미적용
-- 이 란에서는 결과값만 요약해 두었다.
@imsi 65536 수행시, 
NAME                                                             KBYTES_WRITES DIFF_KBYTES_WRITES
---------------------------------------------------------------- ------------- ------------------
physical reads direct temporary tablespace                                6246               6246
physical writes direct temporary tablespace                               6246               6246
session pga memory                                                        2324               1600
session pga memory max                                                    2580               1856
session uga memory                                                         370                128
session uga memory max                                                     434                192


@imsi 1048576 수행시,
NAME                                                             KBYTES_WRITES DIFF_KBYTES_WRITES
---------------------------------------------------------------- ------------- ------------------
physical reads direct temporary tablespace                                1247               1247
physical writes direct temporary tablespace                               1247               1247
session pga memory                                                        2132               1408
session pga memory max                                                    4308               3584
session uga memory                                                         242                  0
session uga memory max                                                    2387               2145


@imsi 1073741820 수행시,
NAME                                                             KBYTES_WRITES DIFF_KBYTES_WRITES
---------------------------------------------------------------- ------------- ------------------
physical reads direct temporary tablespace                                   0                  0
physical writes direct temporary tablespace                                  0                  0
session pga memory                                                         724                  0
session pga memory max                                                   12564              11840
session uga memory                                                         242                  0
session uga memory max                                                   11946              11703


-- 

SORT_AREA_SIZE를

...

점점

...

...

크게

...

잡을

...

수록,

...

PGA

...

사이즈가

...

훨씬

...

크게

...

증가되는

...

것을

...

확인할

...

...

있다.

...

반면

...

디스크

...

사용량은

...

크게

...

줄어들어,

...

1GB로

...

잡았을

...

경우에는

...

정렬에

...

사용

...

가능한

...

메모리

...

공간이

...

충분하기에

...

정렬

...

작업이

...

메모리

...

내에서만

...

발생하여

...

디스크는

...

사용되지

...

않았다는

...

것을

...

확인할

...

...

있다.

...

 
또한 sort_area_size가

...

1GB로

...

잡혔을

...

때에도,

...

PGA

...

사이즈가

...

1GB

...

이상으로

...

커지지

...

않는

...

것을

...

보면,

...

SORT_AREA_SIZE는

...

최대

...

값에

...

해당할

...

뿐,

...

정렬시

...

무조건

...

SORT_AREA_SIZE만큼씩

...

할당해

...

주는

...

것은

...

아님을

...

확인할

...

...

있다.

...


다만

...

64KB로

...

놓았을

...

경우에,

...

교재의

...

경우

...

PGA사이즈가

...

정확히

...

64KB

...

증가하는

...

모습을

...

보이나

...

실제

...

테스트시엔

...

몇번을

...

반복하여도

...

64KB

...

이상으로

...

커지는

...

것으로

...

보인다.

...

PGA영역이

...

반드시

...

정렬

...

작업에만

...

사용되는

...

것은

...

아니므로,

...

여타의

...

작업들이

...

PGA

...

사용량을

...

증가시킨

...

것으로

...

보인다.

...


그리고

...

교재에

...

따르면

...

쿼리가

...

완료된

...

...

후에

...

PGA

...

공간이

...

초기화

...

된다고

...

하나

...

...

또한

...

확인이

...

불가능하였다.

...

환경에 따라

...

다소

...

결과가

...

달라지는

...

...

하니

...

정확한

...

이유를

...

파악하여

...

향후에

...

추가하도록

...

하겠다.

 

 

자동 PGA 메모리 관리

[[ 시스템 전체에서 얼마나 많은 메모리를 사용할 수 있도록 할 것인지를 오라클에 지시 ]]

사용 편의성 수동 할당은 '하나를 결정하면 모든 것을 만족시킨다' 전략 메모리 제어

WORKAREA_SIZE_POLICY PGA_AGGREGATE_TARGET 메모리 할당방식 결정하기 9i R1을 넘어가면서 부터, PGA 메모리를 자동화할 수 있는 방법들이 소개되기 시작했다. 

   WORKAREA_SIZE_POLICY : AUTO 혹은 MANUAL로 설정 가능하다. 이 파라미터를 AUTO로 설정할 경우 정렬공간 해시공간등과 관련된 파라미터를 자동으로 조정하며 동작한다. 
   PGA_AGGREGATE_TARGET : PGA 메모리 영역의 총합으로 사용할 메모리 사이즈를 지정해준다.
                                          sort_area_size, hash_area_size, bitmap_merge_size, create_bitmap_area_size와 같은 모든 작업 영역의 통합 사이즈를 몇으로 지정할지에 대한 값으로, 
                                          9i R1에서 처음 등장하였으며, 9i 시절엔 dedicated 서버 방식일 경우에만 동작했으나, 10g 시절로 넘어오며 shared 서버 방식에서도 동작하고 있다.

"WORKAREA_SIZE_POLICY=AUTO / PGA_AGGREGATE_TARGET  = 0이 아닌 값"을 넣어주면 자동 PGA 메모리 관리 기능이 활성화된다. 

또한 11g R1 이후로는 MEMORY_TARGET이라는 파라미터가 추가 되었으며, 해당 파라미터를 수정하면(즉, 사용하게 되면) SGA와 PGA 메모리 모두를 자동으로 관리하게 된다.  

 

메모리 할당방식 결정하기 알아보기

(원서 상의 제목은 Determining How the Memory Is Allocated인데,
메모리 할당 방식 알아보기... 정도가 훨씬 어울리는 타이틀 같다. '결정하기'라는 제목을 보고서 내용을 읽었을 때는 왜 이런 이야기가 나오고 있는지 감이 안잡혀서 원서상의 제목을 찾아봤다...) 

자동으로 메모리를 할당하는 방식은, 그 동작 방식에 대하여 제공되는 문서화된 내용이 없을 뿐더러, 버전에따라 계속 변경되어 왔고, 앞으로도 변경되어갈 것이며, 사용자가 직접 제어하기 어려운 부분들 뿐이다.
그렇다보니 정확한 동작 방식을 알아보기에는 어려움이 있지만 메타링크 문서 147806.1번을 확인해 보면 그 동작 방식에 대하여 어느정도의 힌트를 얻을 수 있다. 

 

 

PGA_AGGREGATE_TARGET을 사용한 메모리 제어

ㅁㄶㅁㄶㅁㄶ

 

수동/자동 메모리 관리기법의 선택


PGA와 UGA 요약

...