Prendre un snapshot AWR et générer un rapport AWR entre deux snapshots
OraclePerformancesCommande
-- 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)Ce que fait la commande
Produit un rapport entre deux snapshots AWR couvrant la fenêtre du problème : profil de charge, principaux événements d'attente, principaux SQL et statistiques d'instance. La fonction table permet d'extraire le rapport depuis un script ou un job du scheduler.
Quand l'utiliser
Pour analyser un ralentissement sur une fenêtre de temps précise, comparer avant/après autour d'un test de charge ou d'un batch, et pour le reporting de capacité.
Attention
Exige la licence Diagnostics Pack (CONTROL_MANAGEMENT_PACK_ACCESS='DIAGNOSTIC' ou 'DIAGNOSTIC+TUNING') ; sans elle, mettez le paramètre à 'NONE' et utilisez Statspack. Un rapport ne peut pas couvrir un redémarrage d'instance. Les plages de plus d'une heure lissent les moyennes et masquent les pics courts ; gardez une fenêtre serrée.
Voir aussi
- Rapport AWR diff (compare period) entre deux périodes
- Principaux événements d'attente et principaux SQL depuis ASH pour les dernières minutes
- Lancer une analyse ADDM et obtenir son rapport
- Obtenir un rapport SQL Monitor (SQL long en cours ou terminé)
- Activer/désactiver la trace 10046 pour une session et la résumer avec TKPROF
- Afficher le plan d'exécution réel avec les statistiques row source (ALLSTATS LAST)