Estatísticas precisas sobre os objetos no banco de dados são essenciais para que o otimizador possa gerar planos de execução SQL eficientes. A coleta dessas estatísticas do otimizador pode ser completamente automática – e é assim por padrão. O AWR armazena outra classe de estatísticas: atividade da instância e do banco de dados e estatísticas de desempenho. A coleta dessas estatísticas também é automática.

A estrutura de um supervisor é criada em cima dos dados do AWR: os assistentes que analisarão a atividade e recomendarão ações que irão melhorar o desempenho. O primeiro entre os supervisores é o ADDM. Também contando com o AWR está o sistema de alerta. Ele consiste em limites para centenas de métricas, que quando atingidas farão com que o processo MMON gere uma mensagem de alerta.

Estatísticas do otimizador

  • As estatísticas dos objetos são coletadas automaticamente, a menos que STATISTICS_LEVEL esteja como BASIC;
  • As estatísticas de objeto não são atualizadas em tempo real, elas são estáticas até serem atualizadas por uma nova análise. Se isso não for feito com frequência suficiente, elas ficarão seriamente desatualizadas e o otimizador desenvolverá planos de execução inadequados;
  • O AWR armazena um histórico das estatísticas de objeto; as estatísticas atuais são armazenadas no dicionário de dados.
  • DBA_TABLES: estatísticas de tabelas;
  • DBA_INDEXES: estatísticas de índices;
  • DBA_TAB_COLUMNS: estatísticas de colunas;
  • INDEX_STATS: análise de índices.

AWR (Automatic Workload Repository)

  • Por padrão, os snapshots são coletados a cada hora e armazenados durante oito dias;
  • Snapshots adicionais podem ser coletados por demanda;
  • Os snapshots podem ser preservados indefinidamente se designados para uma linha de base;
  • O MMON é responsável por criar os snapshots e iniciar o ADDM;
  • O AWR consiste em tabelas (e objetos relacionados) no schema SYSMAN, no tablespace SYSAUX.

Advisory Framework

  • O ADDM é executado automaticamente sempre que um snapshot é coletado e executado manualmente sob demanda;
  • Por padrão, são armazenados por 30 dias;
  • Os relatórios do ADDM fornecerão advertências diretamente e podem recomendar a execução de outros supervisores;
  • Por padrão, o supervisor de SQL e o supervisor de Segmento executarão automaticamente nas janelas de manutenção;
  • Configurar STATISTICS_LEVEL como BASIC desativará a coleta de snapshots e a execução de supervisores;
  • São 3 as tarefas de manutenção automática: coleta de estatísticas do otimizador, o Supervisor de Segmento e o Supervisor de Tuning SQL;
  • Os supervisores executam automaticamente, mas as recomendações devem ser aceitas (ou ignoradas) manualmente;
  • As tarefas executam na janela de manutneção, que por default abrem durante quatro horas toda noite dos dias úteis às 22h, e dutante 20 horas nos sábados e domingos, abrindo às 6h.

Alertas e Limites

  • Os alertas stateful devem ser configurados com limites;
  • Se um alerta stateful for emitido, ele permanecerá até que a situação seja resolvida; os alertas stateless são reportados e não precisam ser removidos;
  • Os limites são armazenados no AWR;
  • É o MMON que emite um alerta e o Enterprise Manager (geralmente) que o reporta.

Referência Bibliográfica

Este post, assim como todos os posts sobre Certificação OCA deste blog, são trechos do livro “OCA Oracle Database 11g – Administração I (Guia do Exame 1Z0-052)”, da editora Bookman – www.bookman.com.br
Recomendo este livro a todos que pretendem estudar para o exame. Meus posts são apenas algumas dicas para quem já está estudando por outros materiais, e por isso exige uma base de conhecimento anterior em cada um dos capitulos. Para uma referência completa de estudos é recomendado a compra do livro correspondente, bem como a documentação oficial da Oracle.