본문 바로가기

Oracle

[Oracle] AWR report 생성 방법 및 설정 변경

1. AWR이란?

  • Oracle DB의 상태의 진단할 때 많이 사용하는 정보 -> DB의 문제점들을 파악할 수 있음
  • 세션 수준을 제외한 대부분의 통계에 대한 누적 및 델타 값을 자동으로 유지하는 것
  • 자동으로 DB에 대한 통계 및 성능자료 등을 수집해 스냅샷으로 만들어 일정기간 보관하고, 이를 활용할 수 있게 해주는 기능
  • AWR 데이터는 기본적으로 SYSAUX 테이블스페이스에 저장됨. 19c부터는 다른 테이블스페이스에도 저장 가능

 


 

 

2. OS에서 AWR report 수집

  2-1. $ORACLE_HOME/rdbms/admin에 있는 awrrpt.sql 실행

[oracle@admin ~]$ cd $ORACLE_HOME/rdbms/admin
[oracle@admin ~]$ sqlplus /as sysdba
 
sql> @awrrpt.sql

 

  2-2. awr report 추출

  • html 형식으로 받을 것인지 text로 받을 것인지 선택(default = html이라 엔터치면 html로 뽑힘)
Would you like an HTML report, or a plain text report?
Enter 'html' for an HTML report, or 'text' for plain text
Defaults to 'html'
Enter value for report_type:

 

  • awr의 기간을 정하는 것으로 5를 입력하면 5일 동안의 자료를 뽑아줌
Entering the number of days (n) will result in the most recent
(n) days of snapshots being listed.  Pressing <return> without
specifying a number lists all completed snapshots.
 
Enter value for num_days:

 

  • 뽑고 싶은 시간의 snap id를 입력함
  • 5월 27일 08:00 - 5월 27일 10:00 의 정보를 알고 싶으면 begin_snap=1965, end_snap=1967임
Snap
Instance  DB Name        Snap Id    Snap Started       Level
------------ ------------           ---------   -----------------         -----
orcl      ORCL              1813    23 May 2025 00:00      1
                            1814    23 May 2025 01:00      1
                            1815    23 May 2025 02:00      1
                            1816    23 May 2025 03:00      1
 
………………………………………………………………………………………………………………….
                                   생략
………………………………………………………………………………………………………………….
1964 07 Jun 2016 07:00      
                            1965    27 May 2025 08:00      1
                            1966    27 May 2025 09:00      1
                            1967    27 May 2025 10:00      1
 
Specify the Begin and End Snapshot Ids
Enter value for begin_snap:
Enter value for end_snap:

 

  • awr 파일 이름 저장하기(입력없이 enter를 만들면 awrrpt_1_begin_sanp_end_snap.html)
The default report file name is awrrpt_1_1965_1966.html.  To use this name,
press <return> to continue, otherwise enter an alternative.
 
Enter value for report_name:

 

 

  2-3. awr report 확인

  • FTP를 이용해 로컬로 내린 후 확인하기

 


 

 

3. AWR 설정 정보 확인 및 변경

  3-1. AWR 설정 정보 확인

  • snap_interval : 수집 주기 분석
SELECT * FROM DBA_HIST_WR_CONTROL;

 

  3-2. AWR 설정 변경

  • sysaux 공간을 여유있게 설정을 먼저 하고 awr 설정 변경 필요
BEGIN 
    DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(RETENTION=>60*24*30,INTERVAL=>10);
END;

 

  • retention : 스냅샷 보존 기간 (분 단위)
  • interval : 스냅샷 수행 주기(분 단위)

 


 

 

4.  DB에서 AWR Report 생성

SELECT output
FROM TABLE
        (DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_TEXT[AWR_REPORT_HTML]
            (_____        /* dbid */
             , 1          /* inst_num */
             , 1965       /* start snap_id */
             , 1967       /* end sanp_id */
             )
        ) ;