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) );
'1. IT Story > DB' 카테고리의 다른 글
Oracle RAC 11.2.0.3 with ASM / Vmware Grid 설치 (0) | 2015.08.07 |
---|---|
11gR2 RAC ASM환경에서 Controlfile mirror, Redolog 변경 및 기타 TEST (0) | 2015.08.07 |
Oracle 11g Upgrade 11.2.0.1 -> 11.2.0.4 (DB생성된 후 패치) SILENT MODE (0) | 2015.08.06 |
Oracle 서버 버전별 기능비교(12c New Features) (0) | 2015.08.04 |
Oracle Database Appliance(X5-2) (0) | 2015.07.30 |
Function 수행횟수 확인 TEST (0) | 2015.07.30 |
DECODE Function Test (0) | 2015.07.29 |
RAC& ASM to Single& Filesystem Clone DB Create (0) | 2015.07.29 |