DB2 V9.5 튜닝하기 - STMM 설정.

2008. 11. 10. 09:11Database


이제는 설치시에 디폴트로 모두 설정되어 있다.

즉 STMM 의 기능으로 따로이 튜닝할 필요가 전혀 없다.


======================================================

* STMM이 변경 가능한 DB Shared Memory 영역

  - buffer pools

    : automatic으로 설정되어야 함

  - lock list (locklist and maxlocks)

    : locklist automatic 일 때 maxlocks 도 반드시 automatic으로 설정

  - package cache (pckcachesz)

    : automatic으로 설정되어야 함

  - sort memory (sheapthres_shr and sortheap)

    : 1) DBM cfg 의 SHEAPTHRES = 0일 경우

         1- sheapthres_shr = automatic & sortheap must also be set to automatic

        2- sheapthres_shr = not automatic & sortheap must be set to automatic

      2)DBM CFG의 SHEAPTHRES = not 0

        DB2는 오직 DB Shared sort memory 영역만 사용함.


* p.s  DB cfg의 SELF_TUNING_MEN = ON 으로 설정 해야 STMM 사용가능

           Tune 하고 싶은 parameter를 automatic으로 설정

           buffer pool은 alter로  size 지정 후 뒤에 automatic 옵션을 붙여줌.

           ex) alter bufferpool ibmdefaultbp <size> automatic


* STMM 구동 방법 : DB cfg 파일의 DATABASE_MEMORY 설정에 따라 다름 (V9.1)

1) DATABASE_MEMORY = AUTOMATIC

  - OS system과 연동하여 DB Shared Memory 설정함 ( OS와 memory를 주고받고 함)

  - Only AIX & Win 64bit 만 적용가능

  -  V9.1의 default 설정임


2) DATABASE_MEMORY = COMPUTED

  - DB2 V8.2 의 설정과 유사함

  - overflow buffer( 처음 계산된 설정값 외의 여유 memory) 를 전체의 20%정도 추가하여 고정으로 확보

  - OS memory가 아닌 처음 설정한 DB Shared memory(20% 여유분 제외) 중 heap 영역을 필요에 따라 유동적으로 바꾸며 설정함

  - (안쓰는 memory를 더 필요로 하는 heap으로 할당함 : ex) deactivate 상태인 buffer pool 영역을 memory가 더 필요한 lock list에 할당함)


3) DATABASE_MEMORY = 특정값

  - 20%의 overflow buffer 예약

  - STMM 사용불가( OS system과 overflow buffer 연동안함)

  - 고정된 heap 값 유지함.

  - 추가 memory 할당 시 overflow buffer 영역 사용함