2008. 11. 10. 09:11ㆍDatabase
이제는 설치시에 디폴트로 모두 설정되어 있다.
즉 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 영역 사용함