De que se trata o artigo:

Este artigo discute algumas funcionalidades que automatizam operações de tuning (ajustes) no Oracle 10g.


Para que serve:

Ajustes (tuning) em banco de dados são operações sempre necessárias para evitar a queda de desempenho de um banco de dados na medida em que este aumenta sua carga de trabalho. Desta forma, a automação desta tarefa tem um impacto importante nas atividades de um DBA devido à redução do tempo para realização de tal tarefa.

Em que situação o tema é útil:

DBAs que utilizam banco de dados Oracle 10g e que desejam aplicar ajustes (tuning) nas consultas disponíveis em seu banco de dados e que atualmente estão prejudicando o desempenho do mesmo.

Resumo DevMan

O desempenho de processos computacionais é medido por velocidade. Quanto mais rápido, melhor o desempenho. E quando se trata de velocidade, o desempenho só pode ser medido pelo TEMPO. O tempo é a única constante onde podemos nos basear sobre o desempenho de um processo computacional. Neste contexto, este artigo apresenta algumas funcionalidades que automatizam operações de tuning (ajustes) no Oracle 10g.

Antes de executar um ajuste no SGBD Oracle, em resposta a um problema de desempenho, devemos ter um diagnóstico correto. Sem um correto diagnóstico, não faz sentido prosseguir.

O desempenho de processos computacionais é medido por velocidade. Quanto mais rápido, melhor o desempenho. E quando se trata de velocidade, o desempenho só pode ser medido pelo TEMPO. O tempo é a única constante onde podemos nos basear sobre o desempenho de um processo computacional.

Portanto, para um correto diagnóstico de um problema de desempenho, deve-se saber onde o tempo é gasto.

Finalmente, para saber-se onde o tempo é gasto no Oracle, não há uma forma mais direta que observar os Wait Events (Eventos de Espera).

Os Wait Events são eventos de espera por recursos computacionais, físicos (discos rígidos, memória, rede, etc.) ou lógicos (latches, locks, etc.). Estes recursos são limitados, e são os únicos limitadores do desempenho de um comando SQL. Se não houvesse espera por recursos computacionais, todos os comandos SQLs seriam finalizados instantaneamente.

Os Wait Events do Oracle são implementados pela OWI, a Oracle Wait Interface. Esta implementação mede as esperas diretamente do kernel do Oracle, e não é nova, foi introduzida na versão 7.0.12. Desde então, os Wait Events monitorados pela OWI cresceram consideravelmente, de 104 Wait Events na 7.0.12, para 220 no 8i, 400 no 9i, e mais de 800 no 10g. Este progresso mostra como a própria Oracle acredita e investe neste método de diagnóstico de problemas de performance.

Neste contexto, apresentaremos a partir de agora algumas funcionalidades que automatizam operações de tuning (ajustes) no Oracle 10g.

Otimizando Consultas

Em seu modo normal, o otimizador de consulta (query optimizer) precisa tomar decisões sobre os planos de execução em um tempo muito curto. Como resultado disso, este pode nem sempre estar apto a obter informações suficientes para tomar a melhor decisão a respeito de tais consultas. O Oracle 10g permite que o otimizador execute em modo de tuning onde ele pode garantir informações adicionais e fazer recomendações sobre declarações específicas que podem ser ajustadas no futuro. Este processo pode levar vários minutos para uma simples declaração de forma que ele é recomendado para declarações que envolvem grande quantidade de recursos e uma alta carga de dados.

No modo tuning o otimizador realiza as seguintes análises:

· Análises Estatísticas – o otimizador recomenda a obtenção de estatísticas sobre objetos com estatísticas que estejam faltando ou estejam obsoletas. Estatísticas adicionais para estes objetos são armazenadas em um perfil SQL (SQL profile).

· Análise de Perfil de SQL – o otimizador pode ser apto a melhorar o desempenho através da obtenção de estatísticas adicionais e alterando parâmetros específicos de uma sessão, tal como o ...

Quer ler esse conteúdo completo? Tenha acesso completo