본문 바로가기

IT관련

오라클 AWR 레포트 뜨는(출력하는) 방법 - awrrpt, awrrpti

Oracle DB의 상태의 진단할 때 많이 사용하는 정보가 AWR Report 입니다.

(AWR : Automatic Workload Repository)

 

원래 AWR 레포트를 사용하는 것 자체가 EM의 진단팩(Diagnostic Pack)을 사용하는 것이므로, EM 라이센스가 필요하다고 합니다. 하지만, ㅎㅎ 대부분 그냥 막 씁니다.

 

AWR 레포트 뽑는 방법은 매우 간단합니다.

진짜 어려운건 그 레포트를 보고 뭐가 문제인지 찾아내는 것이 어렵죠.

 

 

$ORACLE_HOME/rdbms/admin 디렉토리에 가보면, 아래와 같이 awr 로 시작하는 2개의 파일이 있습니다.

 

 

둘다 같은 놈인데, 뒤에 i 가 붙은 awrrpti.sql 은 RAC 에서 다른 노드(DB서버)의 레포트도 출력할 수 있는 점이 다릅니다.

awrrpt.sql 을 실행하면, 그냥 현재 로컬 DB 에서 awr report 를 출력하고,

awrrpti.sql 을 실행하면, 하는 방식은 awrrpt.sql 과 똑같은데, DB노드 선택하는 부분이 추가로 있습니다.

 

 

아래는 awrrpt.sql 실행하는 방법입니다.

 

 

AWR Report 를 출력할 디렉토리로 이동합니다.

현재 디렉토리에 AWR Report 파일을 만들기 때문에 $ORACLE_HOME/rdbms/admin 폴더에서 실행하면 거기에 파일이 만들어집니다. 거기는 오라클 파일님들이 거하시는 성스러운 곳이니 다른 장소에 만드는게 좋겠죠?

 

다른 TEMP 폴더 같은 곳으로 이동해서 sys 계정으로 sqlplus 접속합니다.

AWR Report 를 출력하기 위해서는 sys 나 system 계정 접속이 필요합니다.

 

@?/rdbms/admin/awrrpt.sql 와 같이 실행시켜 줍니다.

@는 run(실행) 의 의미입니다.

? (물음표)는 Oracle Home 디렉토리를 가리킵니다.

 

실행하면 현재 DB정보가 간단하게 나오고, report_type 을 물어봅니다.

html 과 text 가 있는데, text 는 보면 눈아프니까 다들 html 로 선택해서 PC로 옮겨서 브라우저로 보는 것이 일반적입니다.

 

 

 

num_days 값을 입력합니다. 표시할 스냅샷 일자를 말합니다.

기본으로 8일 입니다만, 수정할 수 있습니다.

8일치만 보관되어 있다해도 더 큰 값을 넣는다고 에러 안납니다.

있으면 나오고, 없으면 있는것만 나옵니다. 저는 30일 입력...

 

 

 

그러면, AWR 레포트 출력가능한 스냅샷 일자들이 쭈~욱 표시됩니다.

여기서 레포트를 출력할 시작일자(begin_snap)와 종료일자(end_snap)의 스냅샷 번호를 입력해줍니다.

저는 2019.07.22일 09:00 ~ 18:00 까지로 선택했습니다. 289~298

 

마지막으로 레포트 이름을 지정합니다.

특별히 입력해주지 않으면, 디폴트 이름 (awrrpt_1_289_298.html) 으로 파일이 만들어집니다.

저는 "TESTDB_awrpt_20190723.html" 이라고 이름을 주었습니다.

엔터를 치면 html 텍스트가 화면에 쭈~욱 출력되는데, 무시합니다.

같은 내용이 현재디렉토리에 파일로 만들어집니다.

 

sqlplus 를 종료하고 나오면, 현재 디렉토리에 만들어진 html 파일을 확인할 수 있습니다.

이 파일을 내 PC로 ftp 등으로 옮긴후, 브라우저에서 열어주면 아래와 같은 AWR Report 를 확인할 수 있습니다.