

# Gerar relatórios de performance com o AWR (Automatic Workload Repository)
<a name="Appendix.Oracle.CommonDBATasks.AWR"></a>

Para reunir dados de performance e gerar relatórios, a Oracle recomenda o AWR (Automatic Workload Repository). O AWR requer o Oracle Database Enterprise Edition e uma licença para os pacotes de Diagnóstico e Ajuste. Para ativar o AWR, defina o parâmetro de inicialização `CONTROL_MANAGEMENT_PACK_ACCESS` como `DIAGNOSTIC` ou `DIAGNOSTIC+TUNING`. 

## Trabalhar com relatórios do AWR no RDS
<a name="Appendix.Oracle.CommonDBATasks.AWRTechniques"></a>

Para gerar relatórios do AWR, é possível executar scripts como `awrrpt.sql`. Esses scripts são instalados no servidor host do banco de dados. No Amazon RDS, não é possível ter acesso direto ao host. No entanto, é possível obter cópias de scripts SQL de outra instalação do Oracle Database. 

Também é possível usar o AWR executando procedimentos no pacote PL/SQL `SYS.DBMS_WORKLOAD_REPOSITORY`. É possível usar esse pacote para gerenciar linhas de base e snapshots e também para exibir relatórios do ASH e do AWR. Por exemplo, para gerar um relatório do AWR em formato de texto, execute o procedimento `DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_TEXT`. No entanto, não é possível acessar esses relatórios da AWR a partir do Console de gerenciamento da AWS. 

Ao trabalhar com o AWR, recomendamos usar os procedimentos `rdsadmin.rdsadmin_diagnostic_util`. É possível usar esses procedimentos para gerar o seguinte:
+ Relatórios do AWR
+ Relatórios do ASH (Active Session History)
+ Relatórios do ADDM (Automatic Database Diagnostic Monitor)
+ Arquivos de despejo do Oracle Data Pump Export de dados do AWR

Os procedimentos `rdsadmin_diagnostic_util` salvam os relatórios no sistema de arquivos da instância de banco de dados. É possível acessar esses relatórios no console. Também é possível acessar relatórios usando os procedimentos `rdsadmin.rds_file_util` e acessar relatórios copiados para o Amazon S3 usando a opção Integração do S3. Para obter mais informações, consulte [Leitura de arquivos no diretório de uma instância de banco de dados](Appendix.Oracle.CommonDBATasks.Misc.md#Appendix.Oracle.CommonDBATasks.ReadingFiles) e [Integração do Amazon S3](oracle-s3-integration.md). 

É possível usar os procedimentos `rdsadmin_diagnostic_util` nas seguintes versões de mecanismo de banco de dados do Amazon RDS for Oracle:
+ Todas as versões do Oracle Database 21c
+ 19.0.0.0.ru-2020-04.rur-2020-04.r1 e versões posteriores do Oracle Database 19c

Para conferir um blog que explica como trabalhar com relatórios de diagnóstico em cenários de replicação, consulte [Gerar relatórios do AWR para réplicas de leitura do Amazon RDS para Oracle](https://aws.amazon.com/blogs/database/generate-awr-reports-for-amazon-rds-for-oracle-read-replicas/).

## Parâmetros comuns para o pacote do utilitário de diagnóstico
<a name="Appendix.Oracle.CommonDBATasks.CommonAWRParam"></a>

Normalmente, você usa os seguintes parâmetros ao gerenciar o AWR e o ADDM com o pacote `rdsadmin_diagnostic_util`.

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

Normalmente, você usa os seguintes parâmetros ao gerenciar o ASH com o pacote rdsadmin\$1diagnostic\$1util.

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

## Gerar um relatório do AWR
<a name="Appendix.Oracle.CommonDBATasks.GenAWRReport"></a>

Para gerar um relatório do AWR, use o procedimento `rdsadmin.rdsadmin_diagnostic_util.awr_report`.

O exemplo a seguir gera um relatório do AWR para o intervalo de snapshot 101–106. O arquivo de texto de saída é chamado de `awrrpt_101_106.txt`. É possível acessar esse relatório no Console de gerenciamento da AWS. 

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

O exemplo a seguir gera um relatório HTML para o intervalo de snapshot 63–65. O arquivo HTML de saída é chamado de `awrrpt_63_65.html`. O procedimento grava o relatório no diretório de banco de dados não padrão chamado de `AWR_RPT_DUMP`.

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

## Extrair dados do AWR em um arquivo de despejo
<a name="Appendix.Oracle.CommonDBATasks.ExtractAWR"></a>

Para extrair dados do AWR em um arquivo de despejo, use o procedimento `rdsadmin.rdsadmin_diagnostic_util.awr_extract`. Você pode usar essa função somente em nível de PDB.

O exemplo a seguir extrai o intervalo de snapshot 101–106. O arquivo de despejo de saída é chamado de `awrextract_101_106.dmp`. É possível acessar esse arquivo por meio do console.

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

O exemplo a seguir extrai o intervalo de snapshot 63–65. O arquivo de despejo de saída é chamado de `awrextract_63_65.dmp`. O arquivo é armazenado no diretório de banco de dados não padrão chamado de `AWR_RPT_DUMP`.

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

## Gerar um relatório do ADDM
<a name="Appendix.Oracle.CommonDBATasks.ADDM"></a>

Para gerar um relatório do ADDM, use o procedimento `rdsadmin.rdsadmin_diagnostic_util.addm_report`. 

O exemplo a seguir gera um relatório do ADDM para o intervalo de snapshot 101–106. O arquivo de texto de saída é chamado de `addmrpt_101_106.txt`. É possível acessar o relatório por meio do console.

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

O exemplo a seguir gera um relatório do ADDM para o intervalo de snapshot 63–65. O arquivo de texto de saída é chamado de `addmrpt_63_65.txt`. O arquivo é armazenado no diretório de banco de dados não padrão chamado de `ADDM_RPT_DUMP`.

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

## Gerar um relatório do ASH
<a name="Appendix.Oracle.CommonDBATasks.ASH"></a>

Para gerar um relatório do ASH, use o procedimento `rdsadmin.rdsadmin_diagnostic_util.ash_report`. 

O exemplo a seguir gera um relatório do ASH que inclui os dados de 14 minutos atrás até a hora atual. O nome do arquivo de saída usa o formato `ashrptbegin_timeend_time.txt`, onde `begin_time` e `end_time` usam o formato `YYYYMMDDHH24MISS`. É possível acessar o arquivo por meio do console.

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

O exemplo a seguir gera um relatório do ASH que inclui os dados de 18 de novembro de 2019 às 18:07 a 18 de novembro de 2019 às 18h15. O nome do relatório HTML de saída é `ashrpt_20190918180700_20190918181500.html`. O relatório é armazenado no diretório de banco de dados não padrão chamado de `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;
/
```

## Acessar relatórios do AWR no console ou na CLI
<a name="Appendix.Oracle.CommonDBATasks.AWRConsole"></a>

Para acessar relatórios do AWR ou exportar arquivos de despejo, é possível usar o Console de gerenciamento da AWS ou a AWS CLI. Para obter mais informações, consulte [Como baixar um arquivo de log de banco de dados](USER_LogAccess.Procedural.Downloading.md). 