

# 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 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 cadena que se puede usar para distinguir entre las copias de seguridad para indicar el propósito o el uso de las copias de seguridad, como `incremental` o `daily`.<br />Puede especificar hasta 30 caracteres. Los caracteres válidos son `a-z`, `A-Z`, `0-9`, un guión bajo (`_`), un guión (`-`) y un punto (`.`). La etiqueta no distingue entre mayúsculas y minúsculas. RMAN siempre almacena las etiquetas en mayúsculas, independientemente del caso que se haya usado al ingresarlas.<br />Las etiquetas no tienen que ser únicas, por lo que varias copias de seguridad pueden tener la misma etiqueta. Si no se especifica una etiqueta, RMAN asigna de forma automática una etiqueta predeterminada con el formato `TAG{{YYYYMMDDTHHMMSS}}`, donde {{YYYY}} es el año, {{MM}} es el mes, {{DD}} es el día, {{HH}} es la hora (en formato de 24 horas), {{MM}} son los minutos y {{SS}} son los segundos. La fecha y la hora indican cuándo RMAN inició la copia de seguridad. Por ejemplo, una copia de seguridad con la etiqueta predeterminada `TAG20190927T214517` indica una copia de seguridad que se inició el 2019-09-27 a las 21:45:17.<br />El parámetro `p_tag` es compatible con las siguientes versiones del motor para bases de datos de RDS for Oracle:[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.AWR.html) | 
| `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`.

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 ASH que incluye los datos del 18 de noviembre de 2019, a las 6:07 PM hasta el 18 de noviembre de 2019, a las 6:15 PM. 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). 