AWR 이란
자동으로 DB에 대한 통계 및 성능자료 등을 수집해 스냅샷으로 만들어 일정기간 보관하고, 이를 활용할 수 있게 해주는 기능이다.
성능자료의 간단한 예로는 Buffer/CPU/Pin/Latch/Library 등의 히트율, 자원 사용률, Soft/Hard Parse 정도, 가장 느리게 돌았던 쿼리 등이 있다.
위 자료들을 토대로 느린 쿼리들에 대해 튜닝을 할 수 있게 되고,
SAG영역의 값들을 AWR이 추천하는 값으로 변경하여 효율성을 높일 수 있게 되고,
현 운영 DB의 문제점들을 파악할 수 있다.
AWR 생성
$ORACLE_HOME/rdbms/admin에 있는 awrrpt.sql 을 실행한다.
간편하게 하기 위해, $ORACLE_HOME/rdbms/admin로 이동 후 작업을 진행한다.
$> cd $ORACLE_HOME/rdbms/admin
$> sqlplus “/as sysdba”
sql> @awrrpt.sql
awrrpt.sql을 실행하면 아래와 같이 나온다.
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을 HTML형식으로 받을지 TEXT형식으로 받을지를 입력하라는 말이다.
디폴트는 HTML형식이다. (엔터키를 입력하면 HTML형식으로 파일이 생성될 것)
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:
위는 AWR의 기간을 정하라는 아웃풋이다. 7을 입력한다면, 7일 동안의 자료를 뽑아낸다.
예로 7을 입력하고 엔터를 치게 되면, 아래와 같이 7일간의 스냅샷 리스트가 출력되고, 시작점이 될 스냅샷의 snap shot id를 입력하라는 아웃풋이 뜬다.
(6월 8일인 오늘, 위의 입력으로 7을 입력했다면, 6월 1일부터 7일까지의 정보가 출력된다)
Snap
Instance DB Name Snap Id Snap Started Level
------------ ------------ --------- ----------------- -----
orcl ORCL 1813 01 Jun 2016 00:00 1
1814 01 Jun 2016 01:00 1
1815 01 Jun 2016 02:00 1
1816 01 Jun 2016 03:00 1
………………………………………………………………………………………………………………….
생략
………………………………………………………………………………………………………………….
1964 07 Jun 2016 07:00
1965 07 Jun 2016 08:00 1
1966 07 Jun 2016 09:00 1
1967 07 Jun 2016 10:00 1
Specify the Begin and End Snapshot Ids
Enter value for begin_snap:
위 snap id 입력에 대해 리스트에 출력된 스냅샷의 번호 중 1814를 입력하면
6월 1일 01시에 찍힌 스냅샷부터 AWR파일을 만들겠다는 것을 의미한다.
Enter value for end_snap:
그리고 스냅샷의 끝점을 입력한다.
위 snap id 입력에 대해 리스트에 출력된 스냅샷의 번호 중 1966를 입력하면
6월 7일 09시에 찍힌 스냅샷 까지의 AWR파일을 만들겠다는 것을의미한다.
The default report file name is awrrpt_1_1814_1966.html. To use this name,
press <return> to continue, otherwise enter an alternative.
Enter value for report_name:
위는 만들어질 AWR 파일의 이름을 지정한다.
생성된 AWR 파일을 열어보면
Top 5 Timed Foreground Events
Instance Efficiency Percantages (Target 100%)
SQL ordered by Elapsed Time 등 아주 쓸만한 자료들을 얻을 수 있다.
'dev > 데이터베이스' 카테고리의 다른 글
오라클 - 계정 생성 (0) | 2020.11.07 |
---|---|
오라클 - 테이블 완전 삭제 (0) | 2020.11.07 |
오라클 - DB dump & import (0) | 2020.11.07 |
오라클 - 12C Create User ## issue (0) | 2020.11.07 |
ORA-28040 : No matching authentication protocol (0) | 2020.11.01 |