Automatic Workload Repository(AWR)를 사용하여 성능 보고서 생성 - Amazon Relational Database Service

Automatic Workload Repository(AWR)를 사용하여 성능 보고서 생성

Oracle은 성능 데이터 수집과 보고서 생성을 위해 Automatic Workload Repository(AWR)를 사용할 것을 권장합니다. AWR에는 Oracle Database Enterprise Edition과 Diagnostics and Tuning 팩용 라이선스가 필요합니다. AWR을 활성화하려면 CONTROL_MANAGEMENT_PACK_ACCESS 초기화 파라미터를 DIAGNOSTIC 또는 DIAGNOSTIC+TUNING으로 설정합니다.

RDS에서 AWR 보고서 작업

awrrpt.sql과 같은 스크립트를 실행하면 AWR 보고서를 생성할 수 있습니다. 이러한 스크립트는 데이터베이스 호스트 서버에 설치됩니다. Amazon RDS에서는 호스트에 직접 액세스할 수 없습니다. 그러나 설치된 다른 Oracle Database에서 SQL 스크립트의 복사본을 가져올 수 있습니다.

SYS.DBMS_WORKLOAD_REPOSITORY PL/SQL 패키지에서 프로시저를 실행하여 AWR을 사용할 수도 있습니다. 이 패키지를 사용하여 기준 요소 및 스냅샷을 관리하고 ASH 및 AWR 보고서를 표시할 수 있습니다. 예를 들어 텍스트 형식으로 AWR 보고서를 생성하려면 DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_TEXT 프로시저를 실행합니다. 그러나 AWS Management Console에서는 이러한 AWR 보고서에 연결할 수 없습니다.

AWR로 작업할 때 rdsadmin.rdsadmin_diagnostic_util 프로시저를 사용하는 것이 좋습니다. 이러한 프로시저를 사용하여 다음을 생성할 수 있습니다.

  • AWR 보고서

  • 활성 세션 기록(ASH) 보고서

  • 자동 데이터베이스 진단 모니터(ADDM) 보고서

  • AWR 데이터의 Oracle Data Pump Export 덤프 파일

rdsadmin_diagnostic_util 프로시저는 보고서를 DB 인스턴스 파일 시스템에 저장합니다. 콘솔에서 이러한 보고서에 액세스할 수 있습니다. 또한 rdsadmin.rds_file_util 프로시저를 사용하여 보고서에 액세스할 수 있고, S3 통합 옵션을 사용하여 Amazon S3에 복사된 보고서에 액세스할 수 있습니다. 자세한 내용은 DB 인스턴스 디렉터리의 파일 목록 읽기Amazon S3 통합 단원을 참조하세요.

다음 Amazon RDS for Oracle DB 엔진 버전에서 rdsadmin_diagnostic_util 프로시저를 사용할 수 있습니다.

  • 모든 Oracle Database 21c 버전

  • 19.0.0.0.ru-2020-04.rur-2020-04.r1 이상의 Oracle Database 19c 버전

복제 시나리오에서 진단 보고서를 사용하는 방법을 설명하는 블로그를 보려면 Amazon RDS for Oracle 읽기 전용 복제본에 대한 AWR 보고서 생성을 참조하세요.

진단 유틸리티 패키지의 공통 파라미터

rdsadmin_diagnostic_util 패키지로 AWR 및 ADDM을 관리할 때는 일반적으로 다음 파라미터를 사용합니다.

파라미터 데이터 형식 기본값 필수 설명

begin_snap_id

NUMBER

시작 스냅샷의 ID입니다.

end_snap_id

NUMBER

종료 스냅샷의 ID입니다.

dump_directory

VARCHAR2

BDUMP

아니요

보고서를 작성하거나 파일을 내보낼 디렉터리입니다. 기본이 아닌 디렉터리를 지정하는 경우 rdsadmin_diagnostic_util 프로시저를 실행하는 사용자에게 디렉터리에 대한 쓰기 권한이 있어야 합니다.

p_tag

VARCHAR2

아니요

incremental 또는 daily와 같이 백업의 목적이나 용도를 나타내기 위해 백업을 구별하는 데 사용할 수 있는 문자열입니다.

최대 30자까지 지정할 수 있습니다. 유효한 문자는 a-z, A-Z, 0-9, 밑줄(_), 대시(-), 마침표(.)입니다. 태그는 대/소문자를 구분하지 않습니다. RMAN은 태그를 입력할 때 사용된 대/소문자에 관계없이 항상 대문자로 태그를 저장합니다.

태그는 고유할 필요가 없으므로 여러 백업이 동일한 태그를 가질 수 있습니다. 태그를 지정하지 않으면 RMAN은 TAGYYYYMMDDTHHMMSS 형식을 사용하여 기본 태그를 자동으로 할당합니다. 여기서 YYYY는 연도, MM은 월, DD는 일, HH는 시간(24시간 형식), MM은 분, SS는 초입니다. 날짜 및 시간은 RMAN이 백업을 시작한 때를 나타냅니다. 예를 들어 기본 태그 TAG20190927T214517이 있는 백업은 2019-09-27 21:45:17에 시작된 백업을 나타냅니다.

p_tag 파라미터는 다음 RDS for Oracle DB 엔진 버전에서 지원됩니다.

  • Oracle Database 21c(21.0.0)

  • Oracle Database 19c(19.0.0), 19.0.0.0.ru-2021-10.rur-2021-10.r1 이상 사용

report_type

VARCHAR2

HTML

아니요

보고서의 형식입니다. 유효 값은 TEXTHTML입니다.

dbid

NUMBER

아니요

Oracle에 대한 DBA_HIST_DATABASE_INSTANCE 보기에 표시되는 유효한 데이터베이스 식별자(DBID)입니다. 이 파라미터를 지정하지 않으면 RDS가 V$DATABASE.DBID 보기에 표시된 현재 DBID를 사용합니다.

rdsadmin_diagnostic_util 패키지로 ASH를 관리할 때는 일반적으로 다음 파라미터를 사용합니다.

파라미터 데이터 형식 기본값 필수 설명

begin_time

DATE

ASH 분석의 시작 시간입니다.

end_time

DATE

ASH 분석의 종료 시간입니다.

slot_width

NUMBER

0

아니요

ASH 보고서의 “Top Activity” 섹션에 사용되는 슬롯의 지속 시간(초)입니다. 이 파라미터를 지정하지 않으면 begin_timeend_time 사이의 시간 간격이 10개 이하의 슬롯을 사용합니다.

sid

NUMBER

Null

아니요

세션 ID입니다.

sql_id

VARCHAR2

Null

아니요

SQL ID입니다.

wait_class

VARCHAR2

Null

아니요

대기 클래스 이름입니다.

service_hash

NUMBER

Null

아니요

서비스 이름 해시입니다.

module_name

VARCHAR2

Null

아니요

모듈 이름입니다.

action_name

VARCHAR2

Null

아니요

작업 이름입니다.

client_id

VARCHAR2

Null

아니요

데이터베이스 세션의 애플리케이션별 ID입니다.

plsql_entry

VARCHAR2

Null

아니요

PL/SQL 진입점입니다.

AWR 보고서 생성

AWR 보고서를 생성하려면 rdsadmin.rdsadmin_diagnostic_util.awr_report 프로시저를 사용합니다.

다음 예에서는 스냅샷 범위 101–106에 대한 AWR 보고서를 생성합니다. 출력 텍스트 파일의 이름은 awrrpt_101_106.txt입니다. AWS Management Console에서 이 보고서에 액세스할 수 있습니다.

EXEC rdsadmin.rdsadmin_diagnostic_util.awr_report(101,106,'TEXT');

다음 예에서는 스냅샷 범위 63–65에 대한 HTML 보고서를 생성합니다. 출력 HTML 파일의 이름은 awrrpt_63_65.html입니다. 이 프로시저는 기본이 아닌 데이터베이스 디렉터리 AWR_RPT_DUMP에 보고서를 작성합니다.

EXEC rdsadmin.rdsadmin_diagnostic_util.awr_report(63,65,'HTML','AWR_RPT_DUMP');

AWR 데이터를 덤프 파일로 추출

AWR 데이터를 덤프 파일로 추출하려면 rdsadmin.rdsadmin_diagnostic_util.awr_extract 프로시저를 사용합니다.

다음 예에서는 스냅샷 범위 101–106을 추출합니다. 출력 덤프 파일의 이름은 awrextract_101_106.dmp입니다. 콘솔을 통해 이 파일에 액세스할 수 있습니다.

EXEC rdsadmin.rdsadmin_diagnostic_util.awr_extract(101,106);

다음 예에서는 스냅샷 범위 63–65를 추출합니다. 출력 덤프 파일의 이름은 awrextract_63_65.dmp입니다. 이 파일은 기본이 아닌 데이터베이스 디렉터리 AWR_RPT_DUMP에 저장됩니다.

EXEC rdsadmin.rdsadmin_diagnostic_util.awr_extract(63,65,'AWR_RPT_DUMP');

ADDM 보고서 생성

ADDM 보고서를 생성하려면 rdsadmin.rdsadmin_diagnostic_util.addm_report 프로시저를 사용합니다.

다음 예에서는 스냅샷 범위 101–106에 대한 ADDM 보고서를 생성합니다. 출력 텍스트 파일의 이름은 addmrpt_101_106.txt입니다. 콘솔을 통해 보고서에 액세스할 수 있습니다.

EXEC rdsadmin.rdsadmin_diagnostic_util.addm_report(101,106);

다음 예에서는 스냅샷 범위 63–65에 대한 ADDM 보고서를 생성합니다. 출력 텍스트 파일의 이름은 addmrpt_63_65.txt입니다. 이 파일은 기본이 아닌 데이터베이스 디렉터리 ADDM_RPT_DUMP에 저장됩니다.

EXEC rdsadmin.rdsadmin_diagnostic_util.addm_report(63,65,'ADDM_RPT_DUMP');

ASH 보고서 생성

ASH 보고서를 생성하려면 rdsadmin.rdsadmin_diagnostic_util.ash_report 프로시저를 사용합니다.

다음 예에서는 14분 전부터 현재 시간까지의 데이터가 포함된 ASH 보고서를 생성합니다. 출력 파일의 이름은 ashrptbegin_timeend_time.txt 형식을 사용하며, 여기서 begin_timeend_timeYYYYMMDDHH24MISS 형식을 사용합니다. 콘솔을 통해 파일에 액세스할 수 있습니다.

BEGIN rdsadmin.rdsadmin_diagnostic_util.ash_report( begin_time => SYSDATE-14/1440, end_time => SYSDATE, report_type => 'TEXT'); END; /

다음 예에서는 2019년 11월 18일 오후 6시 7분부터 2019년 11월 18일 오후 6시 15분까지의 데이터가 포함된 ASH 보고서를 생성합니다. 출력 HTML 보고서의 이름은 ashrpt_20190918180700_20190918181500.html입니다. 보고서는 기본이 아닌 데이터베이스 디렉터리 AWR_RPT_DUMP에 저장됩니다.

BEGIN rdsadmin.rdsadmin_diagnostic_util.ash_report( begin_time => TO_DATE('2019-09-18 18:07:00', 'YYYY-MM-DD HH24:MI:SS'), end_time => TO_DATE('2019-09-18 18:15:00', 'YYYY-MM-DD HH24:MI:SS'), report_type => 'html', dump_directory => 'AWR_RPT_DUMP'); END; /

콘솔 또는 CLI에서 AWR 보고서 액세스

AWS Management Console 또는 AWS CLI를 사용하여 AWR 보고서에 액세스하거나 덤프 파일을 내보낼 수 있습니다. 자세한 내용은 데이터베이스 로그 파일 다운로드 단원을 참조하십시오.