Como você deve saber em uma postagem anterior neste blog, ou se você me segue no Twitter (BPeaslandDBA), eu gosto do Lighty for Oracle, um produto da Orachrome. Adoro este produto e como é fácil obter informações de diagnóstico de desempenho. Estou muito familiarizado com o Enterprise Manager da Oracle e uso o EM12c o tempo todo quando recebo chamadas sobre desempenho ruim do banco de dados. Mas agora espero que Lighty se torne mais uma ferramenta no meu arsenal.
Não espero que Lighty substitua o Enterprise Manager. O EM12c faz muito mais do que o Lighty pode, ou seja, monitorar e alertar e várias tarefas de administração de banco de dados. Então, vou manter o EM12c, muito obrigado. Mas vou confiar mais no Lightly para a parte do meu trabalho que Lighty faz muito bem, fornecer informações para ajudar nos esforços de ajuste de desempenho. Lighty é apenas para ajuste de desempenho e, por ter um foco único, faz o trabalho muito bem.
Vou tentar mostrar alguns destaques do motivo pelo qual considero o Lighty uma ótima ferramenta para usar. Vou contrastar com o EM12c. Para começar, no EM12c, vou para Performance –> Performance Home e vejo uma tela semelhante à seguinte.
Imediatamente, posso ver que tenho contenção de recursos da CPU. A tela principal do Lighty se parece com a seguinte.
Portanto, temos informações muito semelhantes. E é aí que as diferenças terminam para mim... logo no começo. No EM12c, sou forçado a tomar uma decisão, devo detalhar a utilização da CPU ou uma das classes de espera, como User I/O? Como o acima mostra a contenção da CPU, no EM12c, clico na parte da CPU do gráfico para detalhar. Neste ponto do EM12c, estou considerando apenas o uso da CPU para minha análise. Como veremos mais tarde, Lighty não exige que eu faça essa escolha se eu não quiser. Abaixo está o meu gráfico de EM12c.
O gráfico acima é muito comum para mim no meu banco de dados Oracle RAC. O gráfico acima mostra a utilização da CPU para três instâncias do meu banco de dados clusterizado. Qual deles está dominando a utilização da CPU? Bem, todos eles parecem bastante iguais. No entanto, o EM12c me força a escolher uma instância para análise. Não consigo examinar todas as 3 instâncias em uma tela. Muito do meu trabalho é com o ajuste de desempenho do Oracle RAC e as limitações do EM12c me incomodam aqui. Eu tenho que escolher uma classe de espera ou CPU e, em seguida, escolher uma instância antes de obter informações sobre as principais instruções SQL ou sessões principais. Se eu detalhar o suficiente no EM12c, posso obter uma tela como a seguinte.
Finalmente cheguei em algum lugar! Posso ver as principais instruções SQL e as principais sessões. Observe a parte destacada. Este é o detalhe para uma janela de 5 minutos. A janela de cinco minutos é representada pela caixa sombreada no gráfico de utilização da CPU abaixo para a instância.
No EM12c, posso arrastar a caixa sombreada para um horário diferente e as principais informações do SQL e das principais sessões serão alteradas para corresponder. Mas não posso mudar isso para um intervalo de 10 minutos ou algum outro período de tempo. Estou preso em 5 minutos.
Agora vamos contrastar isso com Lighty. Já vimos o gráfico de desempenho assim como o EM12. Abaixo desse gráfico de desempenho no Lighty há um painel de detalhes nas principais instruções SQL. Não precisei clicar em nada para obter as principais instruções SQL.
Imediatamente, vejo uma diferença entre Lighty e EM12c. Minhas principais instruções SQL não estão restritas apenas à CPU ou a uma classe de espera específica. Se eu quiser restringir as informações, posso escolher em uma caixa de menu acima do gráfico de desempenho.
Normalmente, tenho Todos selecionados, mas posso optar por ver apenas a CPU, se quiser. Lighty não me limita como o EM12c faz, a menos que eu decida dividir as informações.
Observe no SQL superior que me é apresentada uma linha do tempo dos eventos para esse SQL. Por exemplo, podemos ver que a principal instrução SQL na lista está usando muita CPU. Outras instruções SQL na lista iniciam e param o uso da CPU, mostradas em verde claro. A E/S do usuário é mostrada simultaneamente aqui em azul. Se eu expandir uma instrução SQL, posso obter um detalhamento dessa instrução SQL.
Apenas clicando no sinal de adição ao lado da instrução SQL, posso ver que esta instrução possui dois planos de execução diferentes e um deles está consumindo 93,92% da utilização total da CPU. Se eu expandir esse plano, posso ver onde ele está gastando seu tempo, dividido por evento de espera.
Então vamos recapitular isso. Iniciei o Lighty e fui imediatamente apresentado às minhas principais instruções SQL e, em um único clique, sei que a principal tem um plano de execução que consome CPU. Isso é super rápido e fácil na minha opinião. O EM12c dificulta o acesso a essas informações e o EM12c não me mostrará quando uma instrução SQL começou a consumir CPU e quando parou, como os gráficos fornecidos pelo Lighty.
Se eu clicar em uma instrução SQL, como faria no EM12c, o Lighty me mostrará estatísticas sobre o SQL específico. Se eu clicar na guia Uso, posso ver todas as sessões que executaram essa instrução. Observe que o gráfico mostra uma linha do tempo de quando essa sessão estava consumindo esse recurso para essa instrução SQL. O EM12c não me mostrará esse nível de detalhe.
Com o acima, posso ver facilmente que são várias sessões executando a mesma instrução em momentos diferentes.
Lembra que o EM12c me fez escolher uma instância para esse banco de dados Oracle RAC? Em Lighty, não preciso fazer essa escolha. Mas posso facilmente. O Lighty reconhece o RAC e detectou as várias instâncias. Por padrão, tenho todas as instâncias escolhidas. Um simples menu suspenso me permite selecionar um deles e as informações na tela se ajustam automaticamente apenas a essa instância.
Lembre-se em EM12c onde aquela janela sombreada representava um período de 5 minutos. No Lighty, os detalhes do SQL e da sessão são para todo o gráfico. Se você deseja uma janela de 5 minutos, pode escolher a opção de 5 minutos acima do gráfico. Por padrão, ele tem uma janela de 60 minutos escolhida.
E também posso escolher outras opções, incluindo um intervalo de data/hora personalizado. No EM12c, o gráfico é de 1 hora e não consigo alterá-lo.
O EM12c tem seu ASH Analytics para me permitir ver o desempenho no passado. Mas sempre tive problemas com isso. Com o ASH Analytics (que me permite visualizar o histórico da sessão ativa), posso alterar essa janela cinza para algo diferente de 5 minutos. Mas para mim, o EM12c simplesmente nunca retorna os dados. Talvez eu tenha algo errado com meu ambiente EM12c. Mas o Lightly funciona fora da caixa com dados históricos de ASH. Digamos que eu tenha recebido uma ligação sobre um problema de desempenho que ocorreu entre 8h e 9h desta manhã. Eu simplesmente escolho um intervalo de tempo personalizado.
No EM12c, sou forçado a ir para uma página da web diferente, Performance –> ASH Analytics.
Até agora, você provavelmente se apegou à ideia de que acho que o Lighty é uma maneira rápida e fácil de obter muitas das mesmas informações que posso obter do EM12c. E você estaria certo! Aqui está outra área que eu gosto no Lighty. Se eu for para Window -> Multiple Database Monitoring, posso ver gráficos de muitas métricas de desempenho diferentes para vários bancos de dados. Aqui está um exemplo. De relance, posso monitorar vários bancos de dados em uma tela. O EM12c não me deixa fazer isso. Eu posso ver que o banco de dados na extrema direita está bastante ocioso enquanto o banco de dados no meio está sendo bastante atingido. Rolando a página, recebo gráficos para muitas métricas:
- Análises
- Chamadas do usuário
- Transações
- Lê e grava
- Latência do disco
- Taxa de transferência de E/S de disco
- Taxas globais de transferência de cache
- Taxas de geração de refazer
- Tráfego de rede
No EM12c, eu teria que visitar muitas páginas para obter as mesmas informações que Lighty me dá em uma página.
Todos os meus exemplos contam com os mesmos Diagnostics and Tuning Packs que licenciei. Se você não os licenciar, o Lighty fornece funcionalidade semelhante com o Statspack e sua versão do L-ASH (Lighty ASH).
Em suma, acho que o Lighty é uma ótima ferramenta para o DBA que é responsável pelo ajuste de desempenho. O custo é muito razoável também. Quanto mais uso a ferramenta, mais aprecio a rapidez com que posso obter informações. Posso ativar ou desativar as coisas com não mais de dois cliques para poder detalhar facilmente a causa raiz dos meus problemas de desempenho. Incentivo todos os DBAs da Oracle a fazer o download da versão de avaliação e ver se este produto é adequado para eles. Lighty pode ser encontrado aqui:http://www.orachrome.com/en/index.html