Tirar um snapshot do AWR e gerar um relatório AWR entre dois snapshots
OracleDesempenhoComando
-- 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)O que faz
Gera um relatório entre dois snapshots do AWR cobrindo a janela do problema: load profile, principais wait events, principais SQL e estatísticas da instância. A table function permite obter o relatório a partir de um script ou de um job do scheduler.
Quando usar
Ao analisar uma lentidão em uma janela de tempo específica, para comparação antes/depois em torno de um teste de carga ou batch e para relatórios de capacidade.
Atenção
Exige a licença do Diagnostics Pack (CONTROL_MANAGEMENT_PACK_ACCESS='DIAGNOSTIC' ou 'DIAGNOSTIC+TUNING'); sem ela, defina o parâmetro como 'NONE' e use o Statspack. Um relatório não pode atravessar um restart da instância. Intervalos maiores que uma hora fazem a média e escondem picos curtos; mantenha a janela estreita.
Relacionados
- Relatório AWR diff (compare period) entre dois períodos
- Principais wait events e principais SQL do ASH nos últimos minutos
- Executar uma análise ADDM e obter seu relatório
- Obter um relatório do SQL Monitor (SQL longo em execução ou concluído)
- Habilitar/desabilitar o trace 10046 de uma sessão e resumir com TKPROF
- Mostrar o plano de execução real com estatísticas de row source (ALLSTATS LAST)