Pular para o conteúdo principal

Wait Class Oracle

O que é wait Class:

Wait Class é uma categoria que agrupa eventos de espera similares, ajudando os administradores a diagnosticar problemas de desempenho. Em um banco de dados Oracle, os processos frequentemente precisam "esperar" por recursos, como I/O, CPU, ou WAIT (bloqueios), para concluir suas operações. Esses "eventos de espera" são agrupados em classes para facilitar a análise e a identificação de gargalos.

Por que as Wait Classes são importantes?
  1. Diagnóstico Rápido: Agrupam eventos semelhantes, permitindo que os DBAs (administradores de banco de dados) identifiquem rapidamente áreas problemáticas.
  2. Otimização de Recursos: A análise das esperas ajuda a ajustar configurações, melhorar o desempenho e otimizar recursos.
  3. Monitoramento de Desempenho: Durante o monitoramento, permite priorizar a resolução de problemas mais críticos.

Como funciona o conceito de espera no Oracle

No Oracle, quando uma sessão não consegue executar uma ação imediatamente (como acessar um bloco de dados ou gravar em disco), ela entra em um estado de "espera". O Oracle registra essas esperas no V$SYSTEM_EVENT e em outras views, que são categorizadas em classes conhecidas como Wait Classes.

Principais Categorias de Wait Class

1. Administrative
Relacionado a tarefas administrativas, como gerenciamento de sessões ou manutenção do sistema.

2. Application
Resultante de problemas em aplicações, como bloqueios e contenção de recursos.

3. Cluster
Aparece em ambientes Oracle RAC (Real Application Clusters), onde múltiplos nós precisam coordenar o acesso aos recursos compartilhados.

4. Commit
Relacionada à confirmação de transações e sincronização dos redo logs.

5. Concurrency
Decorrente de contenção de recursos compartilhados, como bloqueios de estruturas internas (latches ou mutexes).

6. Idle
Representa esperas inativas, como conexões aguardando dados de entrada.

7. Network
Ligada a transferências de dados entre clientes e servidores, ou entre nós em um RAC.

8. System I/O
Ocorrida durante operações de leitura ou escrita de arquivos do sistema (como control files ou redo logs).

9. User I/O
Referente a operações de entrada/saída realizadas pelos usuários, como leitura de tabelas ou índices.

10. Other
Abrange eventos não categorizados nas classes principais.

Onde visualizar as Wait Classes?

V$SYSTEM_EVENT: Mostra os eventos de espera em todo o sistema, categorizados por Wait Class. V$SESSION_WAIT: Fornece informações sobre o evento de espera atual de cada sessão. AWR (Automatic Workload Repository): Relatórios AWR oferecem estatísticas históricas sobre eventos de espera.

Exemplo de Uso:

Imagine um cenário em que uma aplicação está lenta. Ao analisar as Wait Classes no AWR ou via V$SYSTEM_EVENT, você percebe que a maioria das esperas está na classe User I/O. Isso pode indicar gargalos no armazenamento ou consultas que estão exigindo muitas leituras de disco. Assim, você pode ajustar os índices, otimizar queries ou investigar problemas de I/O.

Como funciona no ANALIZZIE

O DB Izzie apresenta os resultados baseados em eventos e possibilita realizar analise utilizando drill draw (afunilamento) dos dados ajudando na investigação de um problema.

Active Session

Active Session