5.5AWR과 RAC

  • AWR을 포함한 오라클의 성능 관리 기능은 모두 RAC-aware, 즉 RAC 기능을 내장하고 있다. 따라서 별도의 설정이나 관리없이 RAC와 관련된 많은 성능 데이터를 자동으로 추축할 수 있다.

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 환경에서 버퍼 캐시 적중률 파악 가능

================================================================================================================================

GCS & GES 작업량 특성

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!

================================================================================================================================

GCS & GES 메시지 교환 통계

Global cache and Enqueue Services - Messaging Statistics
!4_Global cache and Enqueue Services.JPG!

■ RAC 트래픽 중 메시지 전송에 대한 성능 수치를 보여준다

================================================================================================================================

GES 관련 통계 값 변화 추이

*Global Enque statistics *
!5_Global Enque statistics.JPG!

■ RAC 앤큐 락 관련 통계 수치를 보여준다

================================================================================================================================

GCS 일관된 읽기 모드(CR)블록 처리 통계

*Global CR Served Stats *
!6_Global CR Served Stats.JPG!

■ 읽기 일관성 블록의 캐시 퓨전 관련 통계 정보를 보여준다

실시간으로는 V$CR_BLOCK_SERVER 뷰를 통해 같은 정보를 얻을 수 있다.
Errors 값이 1이상 나온다면 인터커넷트에 이상 징후가 있는 것이므로 주의

================================================================================================================================

GCS 현재모드(Current)블록 처리 통계

Global Current Served Stats
!7_Global Current Served Stats.JPG!

■ 현재 블록의 캐시 퓨전 관련 통계 정보를 보여준다
실시간으로는 V$CURRENT_BLOCK_SERVER 뷰를 통해 같은 정보를 얻을 수 있다.
Pins의 처리 시간이 길다면 버퍼 락을 획득하는 과정에서 경합이 발생한다는 것을 의미
Fluses의 처리 시간이 길다면 LGWR 프로세스나 리두 로그 I/O 성능에 문제가 있다고 판단 할 수 있다.
Writes 의 처리 시간이 길다면 DBWR 프로세스나 데이터 파일 I/O 성능에 문제가 있다고 판단할 수 있다.

================================================================================================================================

CR블록전송이 많은 세그먼터 목록

!8_Total CR Blocks Recived.JPG!

■ 글로벌 읽기 일관성 버퍼 캐시의 수신 횟수로 내림차순 정렬하여 보여준다
실시간으로는 V$SEGMENT_STATICS뷰를 통해 같은 정보를 얻을 수 있다.
CUST_INFO_HST 테이블이 인터커넥트를 통한 CR 블록 전송의 90% 이상을 차지

================================================================================================================================

Current 블록 전송이 많은 세그먼트 목록

!9_Total Current Blocks Received.JPG!
■ 글로벌 현재 버퍼 캐시의 수신 횟수로 내림차순 정렬하여 보여준다
실시간으로는 V$SEGMENT_STATISTICS 뷰를 통해 같은 정보를 얻을 수 있다. 인덱스의 Current 블록 전송이 많다는 것은 동일 인덱스 리프 블록에 대한 변경 작업이 많다는 것을 의미. 이러한 현상은 Right-handed 인덱스, 즉 우편향 인덱스에서 많이 발생

================================================================================================================================

ADDM과 RAC

ADDM 데이터는 AWR스냅샷 생성시 자동으로 이루어 진다. 생성된 ADDM이 생성한 진단 데이터는 EM,PL./SQL 패키지, SQL 스크립트 등의 툴들을 통해 조회할 수 있다.

ADDM 작업을 수행하는 예제

--addmrpt 스크립트 수행
SQL> @?/rdbms/admin/addmrpt
--필요한 정보(스냅샷 구간)입력

문서에 대하여

  • 최초작성자 : 이정헌
  • 최초작성일 : 2011년 04월 30일
  • 이 문서는 오라클클럽 코어 오라클 데이터베이스 스터디 모임에서 작성하였습니다.
  • {*}이 문서의 내용은 (주)엑셈에서 출간한 'RAC Advanced OWI, Internals and Performance in Oracle 10g'를 참고하였습니다.*