

# Generación de informes de rendimiento con Automatic Workload Repository (AWR)
<a name="Appendix.Oracle.CommonDBATasks.AWR"></a>

Para recopilar datos de rendimiento y generar informes, Oracle recomienda Automatic Workload Repository (AWR). AWR requiere Oracle Database Enterprise Edition y una licencia para los paquetes Diagnostics and Tuning. Para habilitar AWR, establezca el parámetro de inicialización `CONTROL_MANAGEMENT_PACK_ACCESS` en `DIAGNOSTIC` o `DIAGNOSTIC+TUNING`. 

## Trabajar con informes de AWR en RDS
<a name="Appendix.Oracle.CommonDBATasks.AWRTechniques"></a>

Para generar informes de AWR, puede ejecutar scripts como `awrrpt.sql`. Estos scripts se instalan en el servidor host de la base de datos. En Amazon RDS, no tiene acceso directo al host. Sin embargo, puede obtener copias de scripts SQL desde otra instalación de Oracle Database. 

También puede utilizar AWR ejecutando procedimientos en el paquete `SYS.DBMS_WORKLOAD_REPOSITORY` PL/SQL. Puede utilizar este paquete para administrar bases de referencia e instantáneas, así como para mostrar informes ASH y AWR. Por ejemplo, para generar un informe AWR en formato de texto, ejecute el procedimiento `DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_TEXT`. Sin embargo, no puede acceder a estos informes de AWR desde la Consola de administración de AWS. 

Cuando se trabaja con AWR, se recomienda utilizar los procedimientos `rdsadmin.rdsadmin_diagnostic_util`. Puede utilizar estos procedimientos para generar lo siguiente:
+ Informes AWR
+ Informes de Historial de Sesiones Activas (ASH)
+ Informes del Monitor de diagnóstico automático de bases de datos (ADDM)
+ Archivos de volcado de datos AWR de Oracle Data Pump Export

Los procedimientos `rdsadmin_diagnostic_util` guardan los informes en el sistema de archivos de instancia de base de datos. Puede acceder a estos informes desde la consola. También puede acceder a los informes mediante los procedimientos `rdsadmin.rds_file_util` y puede acceder a los informes que se copian en Amazon S3 mediante la opción Integración de S3. Para obtener más información, consulte [Lectura de archivos de un directorio de instancia de base de datos](Appendix.Oracle.CommonDBATasks.Misc.md#Appendix.Oracle.CommonDBATasks.ReadingFiles) y [Integración de Amazon S3](oracle-s3-integration.md). 

Puede utilizar los procedimientos `rdsadmin_diagnostic_util` en las siguientes versiones del motor para bases de datos de Amazon RDS for Oracle:
+ Todas las versiones de Oracle Database 26ai
+ Todas las versiones de Oracle Database 21c
+ 19.0.0.0.ru-2020-04.rur-2020-04.r1 Oracle Database 19c y versiones posteriores

Para ver un blog que explica cómo trabajar con los informes de diagnóstico en un escenario de replicación, consulte [Generate AWR reports for Amazon RDS for Oracle read replicas](https://aws.amazon.com/blogs/database/generate-awr-reports-for-amazon-rds-for-oracle-read-replicas/).

## Parámetros comunes para el paquete de utilidad de diagnóstico
<a name="Appendix.Oracle.CommonDBATasks.CommonAWRParam"></a>

Normalmente se utilizan los siguientes parámetros al administrar AWR y ADDM con el paquete `rdsadmin_diagnostic_util`.


| Parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
| `begin_snap_id` | `NUMBER` | — | Sí | El ID de la instantánea inicial. | 
| `end_snap_id` | `NUMBER` | — | Sí | El ID de la instantánea final. | 
| `dump_directory` | `VARCHAR2` | `BDUMP` | No | El directorio en el que se escribe el informe o el archivo de exportación. Si especifica un directorio no predeterminado, el usuario que ejecuta los procedimientos `rdsadmin_diagnostic_util` debe tener permisos de escritura para el directorio. | 
| `p_tag` | `VARCHAR2` | — | No | Una etiqueta para identificar el archivo de salida del informe. Puede especificar hasta 30 caracteres. Los caracteres válidos son `a-z`, `A-Z`, `0-9`, guion bajo (`_`), guion (`-`) y punto (`.`). | 
| `report_type` | `VARCHAR2` | `HTML` | No | El formato del informe. Los valores válidos son `TEXT` y `HTML`. | 
| `dbid` | `NUMBER` | — | No | Un identificador de base de datos válido (DBID) que se muestra en la vista `DBA_HIST_DATABASE_INSTANCE` de Oracle. Si no se especifica este parámetro, RDS utiliza el DBID actual, que se muestra en la vista `V$DATABASE.DBID`.  | 

Normalmente, se utilizan los siguientes parámetros al administrar ASH con el paquete rdsadmin\_diagnostic\_util.


| Parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
| `begin_time` | `DATE` | — | Sí | La hora de inicio del análisis ASH. | 
| `end_time` | `DATE` | — | Sí | La hora de finalización del análisis ASH. | 
| `slot_width` | `NUMBER` | `0` | No | Duración de las ranuras (en segundos) utilizadas en la sección “Actividad principal” del informe ASH. Si no se especifica este parámetro, el intervalo de tiempo entre `begin_time` y `end_time` utiliza no más de 10 ranuras. | 
| `sid` | `NUMBER` | Null | No | El ID de sesión.  | 
| `sql_id` | `VARCHAR2` | Null | No | El ID de SQL. | 
| `wait_class` | `VARCHAR2` | Null | No | El nombre de la clase de espera. | 
| `service_hash` | `NUMBER` | Null | No | El hash del nombre del servicio. | 
| `module_name` | `VARCHAR2` | Null | No | El nombre del módulo. | 
| `action_name` | `VARCHAR2` | Null | No | El nombre de la acción. | 
| `client_id` | `VARCHAR2` | Null | No | El ID específico de la aplicación de la sesión de base de datos. | 
| `plsql_entry` | `VARCHAR2` | Null | No | El punto de entrada PL/SQL. | 

## Generación de un informe AWR
<a name="Appendix.Oracle.CommonDBATasks.GenAWRReport"></a>

Para generar un informe AWR, utilice el procedimiento `rdsadmin.rdsadmin_diagnostic_util.awr_report`.

Para buscar identificadores de instantáneas válidos para el informe de AWR, ejecute la siguiente consulta:

```
SELECT SNAP_ID, BEGIN_INTERVAL_TIME, END_INTERVAL_TIME FROM DBA_HIST_SNAPSHOT ORDER BY SNAP_ID DESC FETCH FIRST 10 ROWS ONLY;
```

En el ejemplo siguiente se genera un informe AWR para el rango de instantáneas 101–106. El archivo de texto de salida se denomina `awrrpt_101_106.txt`. Puede obtener acceso a este informe desde la Consola de administración de AWS. 

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

En el ejemplo siguiente se genera un informe HTML para el rango de instantáneas 63–65. El archivo HTML de salida se denomina `awrrpt_63_65.html`. El procedimiento escribe el informe en el directorio de base de datos no predeterminado denominado `AWR_RPT_DUMP`.

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

## Extracción de datos de AWR en un archivo de volcado
<a name="Appendix.Oracle.CommonDBATasks.ExtractAWR"></a>

Para extraer datos de AWR en un archivo de volcado, utilice el procedimiento `rdsadmin.rdsadmin_diagnostic_util.awr_extract`. Puede utilizar esta función solo en PDB.

En el siguiente ejemplo se extrae el rango de instantáneas 101–106. El archivo de volcado de salida se denomina `awrextract_101_106.dmp`. Puede acceder a este archivo a través de la consola.

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

En el siguiente ejemplo se extrae el rango de instantáneas 63–65. El archivo de volcado de salida se denomina `awrextract_63_65.dmp`. El archivo se almacena en el directorio de base de datos no predeterminado denominado `AWR_RPT_DUMP`.

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

## Generación de un informe ADDM
<a name="Appendix.Oracle.CommonDBATasks.ADDM"></a>

Para generar un informe ADDM, utilice el procedimiento `rdsadmin.rdsadmin_diagnostic_util.addm_report`. 

En el ejemplo siguiente se genera un informe ADDM para el rango de instantáneas 101–106. El archivo de texto de salida se denomina `addmrpt_101_106.txt`. Puede acceder al informe a través de la consola.

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

En el ejemplo siguiente se genera un informe ADDM para el rango de instantáneas 63–65. El archivo de texto de salida se denomina `addmrpt_63_65.txt`. El archivo se almacena en el directorio de base de datos no predeterminado denominado `ADDM_RPT_DUMP`.

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

## Generación de un informe ASH
<a name="Appendix.Oracle.CommonDBATasks.ASH"></a>

Para generar un informe ASH, utilice el procedimiento `rdsadmin.rdsadmin_diagnostic_util.ash_report`. 

En el ejemplo siguiente se genera un informe ASH que incluye los datos desde hace 14 minutos hasta la hora actual. El nombre del archivo de salida utiliza el formato `ashrpt{{begin_time}}{{end_time}}.txt`, donde `{{begin_time}}` y `{{end_time}}` utilizan el formato `YYYYMMDDHH24MISS`. Puede acceder al archivo a través de la consola.

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

En el siguiente ejemplo se genera un informe de ASH que incluye los datos del 18 de septiembre de 2019, a las 18:07 h hasta el 18 de septiembre de 2019, a las 18:15 h. El nombre del informe HTML de salida es `ashrpt_20190918180700_20190918181500.html`. El informe se almacena en el directorio de base de datos no predeterminado denominado `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;
/
```

## Acceso a los informes de AWR desde la consola o la CLI
<a name="Appendix.Oracle.CommonDBATasks.AWRConsole"></a>

Para acceder a informes de AWR o exportar archivos de volcado, puede utilizar la Consola de administración de AWS o la AWS CLI. Para obtener más información, consulte [Descarga de un archivo de registro de base de datos](USER_LogAccess.Procedural.Downloading.md). 