Blog Recours

Muitos já ouviram “O banco de dados está lento!”

Será que está?

Como DBA há muitos anos, gosto de trabalhar com evidências. O que está lento? Começo a investigação analisando o que as sessões ativas estão aguardando, os Waits Events.

Em paralelo verifico como está o servidor, verificando o uso de CPU, memória e IO de uma forma simples e rápida usando o Top do SO.

Verifico se a quantidade de sessões ativas está normal, o que elas estão executando, se tem contenção de dados ou algum SQL com problema de performance.

Quando apenas um processo está lento ou com problema, o melhor caminho é habilitar o trace da sessão que está executando o processo. O trace grava num arquivo todos os SQLs sendo executados, o conteúdo das variáveis Bind e os eventos de espera de cada SQL. O arquivo gerado pode ser lido no seu estado “bruto” ou traduzido usando o utilitário tkprof.

O banco de dados Oracle possui várias Visões e Advisors que permitem uma análise ampla do ambiente. Mesmo na edição Standard é possível gerar snapshots periódicos das estatísticas de desempenho do banco de dados através do utilitário Statspack.

Já na edição Enterprise, com as Options de Diagnóstico e Tuning e com a ferramenta gráfica de administração, o Enterprise Manager Cloud Control*, é possível ter uma visão rápida de todo o ambiente do momento atual ou de um período no passado. É possível gerar relatórios de desempenho do banco de dados através do AWR (Automatic Workload Repository) e ADDM (Automatic Database Diagnostic Monitor).

O AWR é um repositório incorporado ao banco de dados que coleta estatísticas de desempenho em intervalos definidos da mesma forma que o Statspack, porém, com mais informações e recursos, como a comparação entre períodos de coletas.

No banco de dados, outro fator muito importante, é a coleta periódica de estatísticas do dicionário de dados e das tabelas e índices das aplicações. Com as estatísticas atualizadas, o Otimizador Oracle consegue definir a melhor estratégia de acesso aos dados, otimizando assim o uso de memória de CPU e a leitura em disco.

A preocupação com Performance deve começar já na aquisição do Hardware, na forma de acesso ao banco de dados, na versão do software Oracle instalada, e continua na configuração dos parâmetros do SO, da instância Oracle e na criação e configuração do banco de dados, sempre seguindo as melhores práticas da Oracle.

O trabalho de Diagnóstico e Tuning requer paciência porque em algumas vezes pode ser uma query lenta ou uma ocorrência de lock os causadores de todo o problema. Em outras vezes a causa não é tão obvia, podendo demorar dias para identificar e solucionar o problema. É um trabalho complexo e envolve várias camadas além do banco de dados.

A administração pró ativa do banco de dados, junto com o trabalho de Diagnóstico e Tuning contínuos, são as melhores formas para diminuir as queixas de que o banco de dados está lento.

Veja também

10 motivos para investir em Business Intelligence e crescer na crise

Saiba como o uso de ferramentas de Business Intelligence pode se tornar um aliado importante ...
Saiba como o uso de ferramentas de Business Intelligence pode se tornar um aliado importante em tempos de crise.

Aceleradores Recours

Libere o poder de seus dados de forma simples e rápida. ...

Arquitetura de dados

A arquitetura de dados surgiu da necessidade cada dia maior de conhecer e integrar as ...
Saiba mais sobre os processos que fazem parte da arquitetura de dados.