AWR Report 기초

1. IT Story/DB 2015. 8. 4. 21:30

   

   

1. AWR 이란?

1. AWR 이란?

AWR(Automatic Workload Repository)은 모든 주요 통계와 작업 로드에 대한 정보 스냅샷 형태로 저장하는 저장소이다.

AWR 스냅샷은 기본적으로 시간당 1회 캡처되며 8일간(Oracle Database 11g) 데이터베이스에 보존되며 수집 및

보관주기의 변경이 가능하다.

사용자는 이를 이용하여 성능 문제 분석 및 운영 예측 작업을 수행할 수 있으며 AWR에 의해 수집되는 데이터는 다음과 같다.

수집 데이터

분석 내용

DB 대기 이벤트 및 통계 정보

오라클 자원(경합현상, 메모리, 세그먼트, 락, RAC등) 사용 현황 파악

시스템 통계 정보

CPU, 디스크, 네트워크 등 시스템 자원 이용 통계

데이터베이스 부하 정보

그룹화된 DB 사용 부하의 통계 수치

SQL 수행 정보

SQL 통계 정보 및 실행 계획 정보

활동 세션 정보

ASH(Active Session Hisory)를 이용한 해당 스냅샷 시점의 세션 정보 파악 가능

   

2. AWR 관리

1. AWR 스냅샷 관리 방법

AWR 스냅샷이란 메모리에서 디스크로 저장하는 시점의 AWR 데이터를 의미한다. 스냅샷에서도 저장 공간

크기, 저장 기간, 수집 주기 등을 고려해야 하며 백업 및 복구 등의 관리가 필요하다. 오라클에서는 AWR 스냅샷

관리를 위해 DBMS_WORKLOAD_REPOSITORY 패키지를 제공한다.

항목

사용법

AWR 스냅샷 삭제

BEGIN

DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHO_RANGE

(LOW_SNAP_ID => snap_id, HIGH_SNAP_ID => snapid [DBID => dbid]);

END;

/

AWR 스냅샷 설정 변경

BEGIN

DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS

([RETENTION => retention_time][,INTERVAL => interval_time]

[,TOPNSQL => topn_sql_number]);

END;

/

베이스라인 설정

BEGIN

DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE

(START_SNAP_ID => sanp_id, END_SNAPID => sanp_id,

BASELINE_NAME => 'baseline_name'[, DBID => dbid]);

END;

/

베이스라인 삭제

BEGIN

DBMS_WORKLOAD_REPOSITORY.DROP_BASELINE

(BASELINE_NAME => 'baseline_name'[, CASCADE => true|false][,DBID => dbid]);

END;

/

   

2. AWR 데이터 백업 복구

AWR 관리 주기 및 테이블스페이스 공간 부족 등으로 AWR 데이터를 삭제할 경우, 삭제 대상 AWR 데이터를 백업할

필요가 발생할 수 있다. 이때, awrextr.sql 스크립트를 수행하면 데이터 펌프를 이용하여 AWR 데이터를 덤프 파일로

저장 할 수 있으며 추후 이 파일을 이용하여 복구를 수행할 수 있다.

 

1. AWR 데이터 백업

- awrextr.sql를 수행하여 백업 진행 ($ORACLE_HOME/rdbms/admin에 존재)

- 지정한 file name의 ".dmp"로 파일 생성

2. AWR 데이터 복구

- awrload.sql을 수행하여 복구 진행 ($ORACLE_HOME/rdbms/admin에 존재)

- 백업된 AWR 데이터가 저장되어 있던 데이터베이스 ID와 동일한 데이터베이스 ID를 갖는 데이터 베이스에

적재할 수 없음.


3. AWR 보고서 생성

AWR 보고서는 시작 스냅샷 번호와 종료 스냅샷 번호를 설정하여, 두 구간의 대기 이벤트 발생 횟수 및 통계치의

차이를 계산하여 보여준다. 주의할 점은 인스턴스가 종료할 때마다 대기 이벤트 및 통계수치가 재설정되므로,

스냅샷 구간 사이에 인스턴스가 종료된 적이 있다면 AWR 보고서의 수치는 의미가 없으며, 생성되지 않는다.

AWR 보고서는 DBMS_WORKLOAD_REPOSITORY 패키지와 오라클에서 제공하는 스크립트를 사용하여 생성 할 수 있다.

모든 AWR 관련 스크립트는 다음 위치에 있다.

  • $ORACLE_HOME/rdbms/admin/
  • 사용 용도별 스크립트

사용 용도

스크립트

AWR DB 보고서 생성

awrrpt.sql, awrrpti.sql

AWR DB 비교 보고서 생성

awrddrpt.sql, awrddrpi.sql

AWR SQL 보고서 생성

awrsqrpt.sql, awrsqrpi.sql

AWR 정보 검색 보고서

awrinfo.sql

ASH 보고서 생성

ashrpt.sql, ashrpti.sql

ADDM 보고서 생성

addmrpt.sql, addmrpti.sql

기타 스크립트

awrddinp.sql, awrinput.sql, awrinpnmp.sql


1. AWR 보고서 생성

AWR 보고서를 생성하기 위해서는 다음과 같은 권한이 필요하다.

  • SELECT ANY DIRECTORY 권한
  • SYS.DMBS_WORKLOAD_REPOSITORY 패키지 실행 권한

  AWR 보고서를 생성하기 위해서는 awrrpt.sql과 awrpti.sql 스크립트를 사용한다.

스크립트

설명

awrrpt.sql

스크립트를 수행한 인스턴스의 AWR 보고서를 생성한다.

awrrpti.sql

DB ID와 인스턴스 번호를 지정해서 AWR 보고서를 생성한다.

   

1) awrrpt.sql을 이용한 AWR 보고서 생성 단계

 

awrrpt.sql 실행

 

AWR 보고서 출력 타입 지정 ( HTML / TEXT ) : HTML타입으로 지정

 

awrrpt.sql을 수행하는 DB ID가 자동으로 선택 됐으며 스냅샷 ID 리스트를 보여주는 기간을 지정한다.

   

스냅샷 번호 목록이 보이면 AWR 보고서를 생성하려는 구간의 시작 스냅샷 번호와 종료 스냅샷 번호를 지정한다.

생성될 AWR 보고서 이름을 지정한다. awr_test.html로 지정

   

 

2) DBMS_WORKLOAD_REPOSITORY 패키지를 사용한 방법

프로시저

설명

AWR_REPORT_TEXT

텍스트 형식의 AWR 보고서 생성

AWR_REPORT_HTML

웹 문서 형식의 AWR 보고서 생성

 

AWR_REPORT_HTML 사용법

SELECT OUTPUT

FROM TABLE (DBMS_WORKLOAD_REPOSITOR.AWR_REPORT_HTML(

:DBID, :INST_ID, :BEGIN_SNAP, :END_SNAP) );


블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,