Oracle/Tuning2010. 1. 15. 19:00

AWR
(Automatic Workload Repository)

  : performance statistics가 MMON에 의해 자동으로 수집되는 저장소.
    수집되는 주기는 60분에 한번씩이며, 7일동안 수집된다.
    200M ~ 300M 정도의 공간을 사용한다.
    sys소유의 sysaux tablespace를 사용하는 table들의 덩어리
    10g~

  - 관련 패키지 / 함수
   : dbms_workload_repository.create_snapshot() : 수동으로 snapshot을 생성
     dbms_workload_repository.create_baseline() : baseline생성.
     dbms_workload_repository.modify_snapshot_setting(retention,internal, topnsql)
             retention : 보관하는 기간을 분으로 나타냄. 0일 경우 snapshot을 삭제하지 않음.
             internal : snapshot을 수집하는 주기. 0일 경우
             topnsql
 
  cf. snapshot이란? 특정 시점에 캡쳐된 performance statistics set
 

ADDM
(Automatic Database Diagnostic Monitor)

  : MMON에 의해 수집된 데이타베이스 성능 통계에 대한 철저한 분석을 통해 성능 병목을 확인하고, SQL 구문에 대한 분석을 통해 성능 향상을
    위한 권고안을 제공한다. 또한 SQL Tuning Advisor와 연동된 기능을 제공하기도 한다.

  - EM page 의 addm finding : 숫자 -> 가장 최근의 수집된 snapshot에서의 문제 갯수
  - statistics_level 파라미터의 값이 typical이상이어야 ADDM이 실행된다.


  - ADDM에게 영향을 줄 수 있는 parameter 검색하는 SQL

SQL> select *
         from dba_advisor_def_parameters
         where advisor_name='ADDM';


  DBIO_EXPECTED : 한 블럭을 읽어 올리는데 걸리는 시간을 micro second로 나타낸 parameter

 - 관련 패키지 / 함수
   dbms_advisor.GET_TAKE_REPORT : 그동안의 ADDM의 결과보고서를 파일로 저장할 수 있다.


ASH
(Active Session History)

: 현재 접속해서 활동 중인 Active 세션 정보를 1초에 한번씩 샘플링해서 ASH 버퍼에 저장한다. 
  shared pool안에 있는 메모리.cpu당 2m, 
   v$active_session_history(실제로 일을 하고 있는 session의 정보)의 데이터를 1초에 한번씩 옮겨진다.
  10g new feature
  

  MMON은 자동적으로 60분에 한번씩 Workload repository로 ASH buffer에 있는 내용을 내려씀
  MMNL(Manageability monitor light): 66%가 차면 ASH buffer의 내용을 Workload Repository 로 내려씀

  ※ 활용하는 법
     1. dump to trace file
 
       - setmypid 명령을 이용하면 현재 세션으로 Attach한다.

SQL> oradebug setmypid


      - level 10으로 ash buffer의 전체 내용을 내려받는다.

SQL> oradebug dump ashdump 10


     2. v$active_session_history
     3. dba_hist_active_session_history
     4. ashrpt.sql script를 실행하여 report를 생성한다. 


기타참고사항

- report를 생성할 수 있는 script
   AWR     : awrrpt.sql, awrddrpt.sql      -- 분석(사람)
   ADDM   : addmrpt.sql                      -- 진단한 결과로부터 권고안까지 report내용에 들어감.
   ASH      : ashrpt.sql                         -- 분석(사람)


참고 : oradebug
         http://wiki.oracleclub.com/display/CORE/ASH%28Active%2BSession%2BHistory%29
         http://www.goodus.co.kr/web2008/kl_center/tn.asp

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

Tuning the Shared Pool  (1) 2010.01.16
Reactive Tuning (EM의 performance page)  (0) 2010.01.16
Statspack  (0) 2010.01.15
Metrics, Alerts and Metric Baselines  (0) 2010.01.14
[펌]SQL*TRACE와 TKPROF  (0) 2010.01.13
Posted by 자수성가한 부자