Relatório AWR diff (compare period) entre dois períodos
OracleDesempenhoComando
-- Interactive: @?/rdbms/admin/awrddrpt.sql (RAC: awrgdrpt.sql)
-- From a script: period 1 (good) = <bid1>-<eid1>, period 2 (bad) = <bid2>-<eid2>
SET LINESIZE 8000 PAGESIZE 0 TRIMSPOOL ON HEADING OFF FEEDBACK OFF
SPOOL /tmp/awr_diff.txt
SELECT output
FROM TABLE(DBMS_WORKLOAD_REPOSITORY.AWR_DIFF_REPORT_TEXT(
dbid1 => (SELECT dbid FROM v$database), inst_num1 => 1,
bid1 => <bid1>, eid1 => <eid1>,
dbid2 => (SELECT dbid FROM v$database), inst_num2 => 1,
bid2 => <bid2>, eid2 => <eid2>));
SPOOL OFF
-- HTML: DBMS_WORKLOAD_REPOSITORY.AWR_DIFF_REPORT_HTMLO que faz
Coloca dois intervalos de snapshots lado a lado e mostra as diferenças percentuais em DB time, wait events, load profile e estatísticas por SQL. Responde diretamente ao "ontem estava bom, hoje está lento".
Quando usar
Análise de regressão após upgrade/patch, mudança de parâmetro, deploy ou coleta de estatísticas; comparar o mesmo horário em dois dias.
Atenção
Exige a licença do Diagnostics Pack. Os períodos comparados devem ter a mesma duração e carga semelhante, senão os deltas enganam. Para comparar bancos diferentes (ex.: prod vs test), mova os dados do AWR com awrextr.sql/awrload.sql e passe o dbid2 correspondente.
Relacionados
- Tirar um snapshot do AWR e gerar um relatório AWR entre dois snapshots
- 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)