DBAtlas · 데이터베이스 운영 아틀라스

AWR 스냅샷 생성 및 두 스냅샷 간 AWR 보고서 생성

Oracle성능

명령어

-- 1) Manual snapshot before and after the event (run in CDB root):
EXEC DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT;

-- 2) List snapshots:
SELECT snap_id,
       TO_CHAR(begin_interval_time,'YYYY-MM-DD HH24:MI') AS begin_time,
       TO_CHAR(end_interval_time,'YYYY-MM-DD HH24:MI')   AS end_time
FROM   dba_hist_snapshot
WHERE  dbid = (SELECT dbid FROM v$database)
ORDER  BY snap_id DESC
FETCH FIRST 24 ROWS ONLY;

-- 3a) Interactive report (prompts for HTML/TEXT and snapshot range):
-- @?/rdbms/admin/awrrpt.sql      (RAC: awrgrpt.sql, specific instance: awrrpti.sql)

-- 3b) TEXT report from a script:
SET LINESIZE 8000 PAGESIZE 0 TRIMSPOOL ON HEADING OFF FEEDBACK OFF
SPOOL /tmp/awr_<begin_snap>_<end_snap>.txt
SELECT output
FROM   TABLE(DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_TEXT(
         l_dbid     => (SELECT dbid FROM v$database),
         l_inst_num => (SELECT instance_number FROM v$instance),
         l_bid      => <begin_snap>,
         l_eid      => <end_snap>));
SPOOL OFF
-- For HTML: DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_HTML (same parameters)

하는 일

문제 구간을 포함하는 두 AWR 스냅샷 사이의 보고서를 생성한다: load profile, 상위 대기 이벤트, 상위 SQL, 인스턴스 통계. 테이블 함수를 사용하면 스크립트나 스케줄러 job에서 보고서를 가져올 수 있다.

사용 시점

특정 시간대의 성능 저하 분석, 부하 테스트나 배치 전후 비교, 용량 보고용.

주의

Diagnostics Pack 라이선스가 필요하다(CONTROL_MANAGEMENT_PACK_ACCESS='DIAGNOSTIC' 또는 'DIAGNOSTIC+TUNING'). 라이선스가 없으면 파라미터를 'NONE'으로 설정하고 Statspack을 사용한다. 보고서는 인스턴스 재시작을 가로지를 수 없다. 1시간보다 긴 범위는 평균화되어 짧은 스파이크를 가린다. 구간을 좁게 잡는다.

DBAtlas에서 열기 →

관련 항목