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 를 확인할 수 있습니다.
'IT관련' 카테고리의 다른 글
오라클 에러 정보 (CRS-2546, CRS-4000) - RAC에서 CRS 에러 (0) | 2019.07.23 |
---|---|
오라클 VirtualBox 공유스토리지(Shared Storage) 설정 방법 (0) | 2019.07.23 |
Realtime SQL Monitoring 으로 Plan 그래픽컬하게 보기 (0) | 2019.07.18 |
ORA-00942, ORA-06512 오라클 에러 SYS.DBMS_SQLTUNE (0) | 2019.07.18 |
오라클 Plan, Trace 쉽게 보는 - Realtime SQL Monitoring (0) | 2019.07.18 |