

# Automatic Workload Repository(AWR)를 사용하여 성능 보고서 생성
<a name="Appendix.Oracle.CommonDBATasks.AWR"></a>

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

## RDS에서 AWR 보고서 작업
<a name="Appendix.Oracle.CommonDBATasks.AWRTechniques"></a>

`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 인스턴스 디렉터리의 파일 목록 읽기](Appendix.Oracle.CommonDBATasks.Misc.md#Appendix.Oracle.CommonDBATasks.ReadingFiles) 및 [Amazon S3 통합](oracle-s3-integration.md) 섹션을 참조하세요.

다음 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 보고서 생성](https://aws.amazon.com/blogs/database/generate-awr-reports-for-amazon-rds-for-oracle-read-replicas/)을 참조하세요.

## 진단 유틸리티 패키지의 공통 파라미터
<a name="Appendix.Oracle.CommonDBATasks.CommonAWRParam"></a>

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

<a name="rds-provisioned-iops-storage-range-reference"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.AWR.html)

rdsadmin\$1diagnostic\$1util 패키지로 ASH를 관리할 때는 일반적으로 다음 파라미터를 사용합니다.

<a name="rds-provisioned-iops-storage-range-reference"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.AWR.html)

## AWR 보고서 생성
<a name="Appendix.Oracle.CommonDBATasks.GenAWRReport"></a>

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 데이터를 덤프 파일로 추출
<a name="Appendix.Oracle.CommonDBATasks.ExtractAWR"></a>

AWR 데이터를 덤프 파일로 추출하려면 `rdsadmin.rdsadmin_diagnostic_util.awr_extract` 프로시저를 사용합니다. 이 함수는 PDB 수준에서만 사용할 수 있습니다.

다음 예에서는 스냅샷 범위 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 보고서 생성
<a name="Appendix.Oracle.CommonDBATasks.ADDM"></a>

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 보고서 생성
<a name="Appendix.Oracle.CommonDBATasks.ASH"></a>

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

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

```
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 보고서 액세스
<a name="Appendix.Oracle.CommonDBATasks.AWRConsole"></a>

AWS Management Console 또는 AWS CLI를 사용하여 AWR 보고서에 액세스하거나 덤프 파일을 내보낼 수 있습니다. 자세한 내용은 [데이터베이스 로그 파일 다운로드](USER_LogAccess.Procedural.Downloading.md) 섹션을 참조하세요.