Como Consultar e Alterar a Configuração dos Snapshots do AWR

Dica de como consultar a configuração dos snapshots do AWR (Automatic Workload Repository) e ajustar de acordo a necessidade do ambiente. Por padrão, os snapshots são gerados a cada 60 minutos e são mantidos por 8 dias.

No geral o intervalo de 60 minutos atende bem as necessidades de análise de performance, mas em casos em que o ambiente sofre com picos de carga de trabalho em um curto intervalo de tempo, essa configuração não permite ter uma visão precisa do problema. Pode-se considerarusar um intervalo de 30 minutos e em cenários de throubleshooting, usar um intervalo de 15 ~ 20 minutos pode afinar mais o resultado da análise.

A configuração de retenção é a que normalmente mais requer ajuste e é interessante ter mais de 30 dias de retenção (40 a 60 dias), o que permite fazer uma análise de performance comparando com o mesmo período do mês anterior

Consultando a Configuração Atual

set linesize 200
col dbid format 99999999999999
col snap_interval format a30
col retention format a30
col topnsql format a10
select * from dba_hist_wr_control;

           DBID SNAP_INTERVAL                  RETENTION                      TOPNSQL
--------------- ------------------------------ ------------------------------ ----------
      547647995 +00000 01:00:00.0              +00008 00:00:00.0              DEFAULT

Neste exemplo temos a configuração padrão com snapshots sendo gerados a cada 60 minutos e sendo mantidos por 8 dias no repositório do AWR.

Alterando a Configuração

Para alterar a configuração, usamos a procedure MODIFY_SNAPHOTS_SETTINGS. O intervalo e a retenção dos snapshots são definidos em minutos, o comando abaixo já foi adaptado para receber o valor da retenção em número de dias e converter para minutos em tempo execução.

Alterando o intervalo para 30 minutos e a retenção para 16 dias:

SQL> exec dbms_workload_repository.modify_snapshot_settings (interval => &intervalo_minutos, retention => &retencao_dias*(24*60));
Enter value for intervalo_minutos: 30
Enter value for retencao_dias: 16

PL/SQL procedure successfully completed.

Consultando configuração atualizada:

SQL> select * from dba_hist_wr_control;

           DBID SNAP_INTERVAL                  RETENTION                      TOPNSQL
--------------- ------------------------------ ------------------------------ ----------
      547647995 +00000 00:30:00.0              +00016 00:00:00.0              DEFAULT

Para alterar a quantidade de SQL no TOP de cada sessão do relatório (SQL mais demorados, SQL que mais consomem CPU e etc):

SQL> exec dbms_workload_repository.modify_snapshot_settings (topnsql => 50);

PL/SQL procedure successfully completed.

Consultando configurações novamente:

SQL> select * from dba_hist_wr_control;

           DBID SNAP_INTERVAL                  RETENTION                      TOPNSQL
--------------- ------------------------------ ------------------------------ ----------
      547647995 +00000 00:30:00.0              +00016 00:00:00.0                      50

Leave a Reply

Scroll to Top

Discover more from Blog do Dibiei

Subscribe now to keep reading and get access to the full archive.

Continue reading