AW R을 사용하는 기본적인 방법
AWR 보고서를 생성할 때 필요한 권한
SELECT ANY DICTIONARY 권한
SYS.DBMS_WORKLOAD_REPOSITORY 패기지 실행권한
AWR 스냅샷을 생성하는 작업은 STATISTICS_LEVEL 파라미터 값을 TYPICAL이나 ALL로 설정하면 자동으로 이루어진다.
DBA_HIST_WR_CONTROL 뷰를 통해 현재 데이터 수집 설정 값을 확인할 수 있다. 아래 예에서는 스냅 샷 생성 주기는 1시간이며, 데이터 보관 기간은 7일이다.
EXEC print_table('SELECT * FROM DBA_HIST_WR_CONTROL');
DBMS_WORKLOAD_REPOSITORY 패키지로 설정 값을 변경가능
EXEC DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(-
>interval=>30, -
>retention=>30*24*60);
AWR 스탭 샷은 기본적으로 한 시간에 한 번씩 자동으로 생성되며, 원하는 간격(분 단위)으로 생성 주기를 변경 할 수 있다. 또는 다음과 같이 관리자가 수동으로 원하는 시간에 스냅 샷을 생성할 수도 있다.
EXEC DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT;
시작스탭 샷 생성
EXEC DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT;
--캐시 크기가 작은 시퀀스에 의한 인터커넥트 경합 유발하는 스크립트 실행
--캐시 크기가 작은 시퀀스에 의한 성능 저하 현상은 "4.RAC 성능 튜닝 사례"에서 자세히 다룬 바 있음
끝 스냅 샷 생성
EXEC DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT;
두 스냅샷 구간의 성능에 대해 상세한 분석을 할 수 있다.
오라클이 제공하는 awrrpt.sql 스크립트를 이용해서 성능분석
SQL> @?/rdbms/admin/awrrpt
================================================================================================================================
Global Cache Load Profile
!1_Global Cache Load Profile.JPG!
■ RAC 환경에서 인스턴스간 주고 받은 트래픽 양을 파악할 수 있다
■ 인스턴스 트래픽양은 인스턴스간 주고받은 메모리 블록과 메시지의 수의 총합이다
================================================================================================================================
Global Cache Efficiency Percentages (Target local + remote 100%)
!2_Global Cache Efficiency Percentages.JPG!
■ RAC 환경에서 버퍼 캐시 적중률 파악 가능
================================================================================================================================
Global Cache and Enqueue Servicess - Workload Charateristics
!3_Global Cache and Enqueue Servicess.JPG!
■ 이 단위 보고서로 RAC 트래픽 중 메모리 블록의 전송 속도를 확인할 수 있다
항목 권장치 (ms)
■ 항목별 오라클 RAC 전송 권장치
!3_1_Global Cache and Enqueue Servicess2.JPG!
================================================================================================================================
Global cache and Enqueue Services - Messaging Statistics
!4_Global cache and Enqueue Services.JPG!
■ RAC 트래픽 중 메시지 전송에 대한 성능 수치를 보여준다
================================================================================================================================
*Global Enque statistics *
!5_Global Enque statistics.JPG!
■ RAC 앤큐 락 관련 통계 수치를 보여준다
================================================================================================================================
*Global CR Served Stats *
!6_Global CR Served Stats.JPG!
■ 읽기 일관성 블록의 캐시 퓨전 관련 통계 정보를 보여준다
실시간으로는 V$CR_BLOCK_SERVER 뷰를 통해 같은 정보를 얻을 수 있다.
Errors 값이 1이상 나온다면 인터커넷트에 이상 징후가 있는 것이므로 주의
================================================================================================================================
Global Current Served Stats
!7_Global Current Served Stats.JPG!
■ 현재 블록의 캐시 퓨전 관련 통계 정보를 보여준다
실시간으로는 V$CURRENT_BLOCK_SERVER 뷰를 통해 같은 정보를 얻을 수 있다.
Pins의 처리 시간이 길다면 버퍼 락을 획득하는 과정에서 경합이 발생한다는 것을 의미
Fluses의 처리 시간이 길다면 LGWR 프로세스나 리두 로그 I/O 성능에 문제가 있다고 판단 할 수 있다.
Writes 의 처리 시간이 길다면 DBWR 프로세스나 데이터 파일 I/O 성능에 문제가 있다고 판단할 수 있다.
================================================================================================================================
!8_Total CR Blocks Recived.JPG!
■ 글로벌 읽기 일관성 버퍼 캐시의 수신 횟수로 내림차순 정렬하여 보여준다
실시간으로는 V$SEGMENT_STATICS뷰를 통해 같은 정보를 얻을 수 있다.
CUST_INFO_HST 테이블이 인터커넥트를 통한 CR 블록 전송의 90% 이상을 차지
================================================================================================================================
!9_Total Current Blocks Received.JPG!
■ 글로벌 현재 버퍼 캐시의 수신 횟수로 내림차순 정렬하여 보여준다
실시간으로는 V$SEGMENT_STATISTICS 뷰를 통해 같은 정보를 얻을 수 있다. 인덱스의 Current 블록 전송이 많다는 것은 동일 인덱스 리프 블록에 대한 변경 작업이 많다는 것을 의미. 이러한 현상은 Right-handed 인덱스, 즉 우편향 인덱스에서 많이 발생
================================================================================================================================
ADDM 데이터는 AWR스냅샷 생성시 자동으로 이루어 진다. 생성된 ADDM이 생성한 진단 데이터는 EM,PL./SQL 패키지, SQL 스크립트 등의 툴들을 통해 조회할 수 있다.
ADDM 작업을 수행하는 예제
--addmrpt 스크립트 수행
SQL> @?/rdbms/admin/addmrpt
--필요한 정보(스냅샷 구간)입력