Oracle/Tuning2010. 1. 12. 14:35
10g PTW(server tuning)의 개요

1. introduction
2. performance tuning : overview
3. statistics, wait
4. metric, alerts, metric baseline
5. statspack            ---------> perfstat 유저, 임의의 ts
6. AWR                   ---------> sys 유저, sysaux ts
7. performance page (EM)

instance tuning
8. shared pool
9. database buffer cache
10. ASMM

instance tuning + database tuning
11. redo log buffer, DBWR, LGWR

database tuning
12. tuning IO, SAME(Stripe And Mirror Everything) - RAID, ASM
13. PGA & Temp TS
14. extent & block

PTW의 사전 조건

1. 최소한이 자원이 갖춰져 있는 상황
2. SQL의 튜닝이 완료된 상태
3. workload의 분산


서버 튜닝이란?

(진단 결과를 해석할 능력이 있으면서)
목표에 맞는 performance가 발휘되도록 시스템의 여러 요소를 조절해가는 과정.


튜닝 질문

1. 누가 튜닝을 하나?  
  - 모든 사람 (DBA를 중심)

2. 무엇을 튜닝하나?
  - 모든 요소
     memory : 적당한 크기
                   SGA에 할당된 메모리의 크기가 너무 커도 재앙 -> sql의 동일 문장 검색시에 시간이 많이 걸림
     I/O : bandwidth - 전송용량

3. 어떻게 튜닝하나?  
  - Tools
    ① basic tool : dynamic performance views, statistics, metrics, EM
    ② AWR or statspack
    ③ ADDM
    ④ DBA scripts : In-house script

  - Methodology(방법론)
    ① 데이터의 수집 -> 데이터 분석 -> 가설 설정 후 솔루션 적용.
    ② Top-Down(proactive) : 이상이 있을 경우 처음부터 다시 검토를 반복하는 방식
        vs Bottom-up(Reactive)


General Tuning Session

1. 문제를 정의하고 목표를 세운다.
   ◎ 문제 정의
      : 비정상적으로 자원을 사용하는 프로세스 찾아냄
        -> 우선 순위를 결정.
        cf) ORACLE 성능분석 방법론   by 김한도
            - More Resource : 메모리, cpu 등의 추가
            - Ratio-Based Analysis (Hit Ratio) 
            - Wait Event Analysis
            - Time Model(10g~) 시간을 줄인다?
               : DB time = DB wait time + DB CPU time
                 두개의 요소(DB wait time, DB CPU time)가 고루 나타나야 좋은 시스템이다.

   ◎ 목표 설정
        
2. 현재 시점의 통계정보를 수집하고, baseline statistics {문제가 없던 시점의 통계(기준치)}과 비교
3. 원인을 찾는다.
4. 해결책을 세운다.
5. 변경을 한다.
6. 해결이 되었는지 검토, 해결이 안되었다면 다시 처음부터 시작


ADDM
: general tuning session의 전부 해결해 줄 수 있음.


Effective Tuning Goals
- Specific (구체적)
- Measurable (측정가능)
- Achievable (달성 가능성)


Tuning Objectives
- Minimizing response time (응답시간감소)
- Increase throughput (처리량 증가)
- Increase load capabilities (로드 용량 증가)
- Decrease recovery time (복구 시간 감소)

RDA (Remote Diagnostics Agent)
 : metalink note : 330363.1

statspack
 : sp*.sql 파일들을 통칭해서 일컫는 말


기타 참고사항


- ASH(Active Session History) : 세션이 하는 일을 1초에 한번 sampling



'Oracle > Tuning' 카테고리의 다른 글

[펌]SQL*TRACE와 TKPROF  (0) 2010.01.13
Statistics, Waits  (0) 2010.01.13
Automatic Performance Management  (0) 2009.12.29
Dynamic Performance View의 이름 / 설명  (0) 2009.12.26
Monitoring and Managing Memory  (0) 2009.12.24
Posted by 자수성가한 부자