Tomar un snapshot de AWR y generar un informe AWR entre dos snapshots
OracleRendimientoComando
-- 1) Manual snapshot before and after the event (run in CDB root):
EXEC DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT;
-- 2) List snapshots:
SELECT snap_id,
TO_CHAR(begin_interval_time,'YYYY-MM-DD HH24:MI') AS begin_time,
TO_CHAR(end_interval_time,'YYYY-MM-DD HH24:MI') AS end_time
FROM dba_hist_snapshot
WHERE dbid = (SELECT dbid FROM v$database)
ORDER BY snap_id DESC
FETCH FIRST 24 ROWS ONLY;
-- 3a) Interactive report (prompts for HTML/TEXT and snapshot range):
-- @?/rdbms/admin/awrrpt.sql (RAC: awrgrpt.sql, specific instance: awrrpti.sql)
-- 3b) TEXT report from a script:
SET LINESIZE 8000 PAGESIZE 0 TRIMSPOOL ON HEADING OFF FEEDBACK OFF
SPOOL /tmp/awr_<begin_snap>_<end_snap>.txt
SELECT output
FROM TABLE(DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_TEXT(
l_dbid => (SELECT dbid FROM v$database),
l_inst_num => (SELECT instance_number FROM v$instance),
l_bid => <begin_snap>,
l_eid => <end_snap>));
SPOOL OFF
-- For HTML: DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_HTML (same parameters)Qué hace
Genera un informe entre dos snapshots de AWR que cubren la ventana del problema: load profile, top wait events, top SQL y estadísticas de la instancia. La función de tabla permite obtener el informe desde un script o un job del scheduler.
Cuándo usarlo
Al analizar una ralentización en una ventana de tiempo concreta, para comparar antes/después de una prueba de carga o un batch, y para informes de capacidad.
Precaución
Requiere la licencia de Diagnostics Pack (CONTROL_MANAGEMENT_PACK_ACCESS='DIAGNOSTIC' o 'DIAGNOSTIC+TUNING'); sin ella, ponga el parámetro en 'NONE' y use Statspack. Un informe no puede abarcar un reinicio de la instancia. Los rangos de más de una hora promedian y ocultan picos cortos; mantenga la ventana ajustada.
Relacionado
- Informe AWR diff (compare period) entre dos periodos
- Top wait events y top SQL desde ASH para los últimos minutos
- Ejecutar un análisis ADDM y obtener su informe
- Obtener un informe de SQL Monitor (SQL largo en ejecución o finalizado)
- Habilitar/deshabilitar el trace 10046 para una sesión y resumirlo con TKPROF
- Mostrar el plan de ejecución real con estadísticas de row source (ALLSTATS LAST)