Depois de uma cobrada fenomenal que o Capin me deu, começarei a colocar mais coisas do dia a dia de uma DBA, e assim mostrar várias facilidades do DB2 LUW para monitorar o seu ambiente e também solucionar problemas.

Obrigado Capin!!!!

Dando continuidade ao que nosso amigo Alexandre Torres chamou de DBA de Guerrilha, alias um nome muito legal e sugestivo aos temas que iremos começar a divulgar.
Hoje falaremos um pouco sobre o db2top. Para muitos o db2top é uma ferramenta utilizada diariamente e também muito prática e útil.
Mas o que é o db2top?

O db2top é uma interface GUI sob linha de comandos de ambientes Unix e Linux.
O db2top já vem integrado ao produto DB2 e não é necessário pagar para poder utilizá-lo.
O db2top é utilizado para calcular valores delta do que no DB2 chamamos de snapshots (fotos do ambiente naquele momento) e entregar informações em tempo real.
Esta ferramenta integra os vários tipos de snapshots existentes no DB2, e apresenta de forma gráfica os seus resultados, através de várias opções no seu menu.
Outro ponto importante do db2top é que é possível rodá-lo em modo batch, ou seja, ele fica coletando informações e gerando dados históricos para uma posterior análise.
Ele também possui um analisador destes dados e assim ajuda o DBA a prover um resultado dos dados coletados rapidamente.

Abaixo tela inicial do db2top:

Percebam que é um interface “gráfica” na linha de comando.
Com o db2top é possivel monitorar várias áreas do banco de dados DB2, tais como: database, bufferpool, locks, sessões, tabelas, conjunto de memória e gargalos no ambiente (bottlenecks), e etc.

Vamos citar alguns exemplos agora de utilização do db2top.
Por exemplo, se apertarmos a letra “d” do teclado iremos visualizar informações do nosso database.
Abaixo tela para a opção database:

Nessa tela podemos obter informações sobre performance de vários conjuntos de elementos do banco de dados. Por exemplo, quantas sessões conectadas ao banco naquele momento (Sessions), ou se está ocorrendo deadlocks no seu ambiente (Deadlocks), ou desde quando o seu database está ativo e quando foi ativado (Start Date Start Time, ou se existe algum sintoma de lock waiting (Lock Wait) e etc.

Se tivessemos apertado a letra “b” na tela inicial poderiamos visualizar informações de todos os bufferpools existentes para o seu banco de dados.
Abaixo tela para a opção bufferpool:


Nesta opção é possivel coletar informações sobre a performance dos bufferpools existentes. Os DBAs podem visualizar informações básicas nesta tela, como também informações relativas a performance, inclusive obter informações de leitura síncrona (ruim) e assíncrona (boa) no bufferpool e etc.

Um outro exemplo muito interessante ao meu ver é a tela de gargalos (Bottleneck). Visualizem e tentem imaginar uma tela que ao entrar no seu ambiente para uma solução de problema você possa facilmente identificar os pontos de preocupação e problemas. Esta tela existe no db2top e é muito útil.
Exemplo da tela de Bottleneck:

Para acessar esta tela, basta na tela inicial ou a qualquer momento da monitoração apertar a letra “B” (em maiusculo shift + b). Alias qualquer tela pode ser acessada a qualquer momento, caso não lembre qual letra apertar basta apertar o h de help em inglês e terá sua ajuda.
Na tela de Bottleneck podemos facilmente descobrir pontos de preocupação. Neste exemplo, o nosso problema é relacionado a Lock Waiting. Apesar de vários números com grandes porcentagens, é facil identificar o causador do problema, pois, na mesma tela é possível ver um quadro menor com alguns indicadores, e um desses indicadores (wait lock ms) mostra uma utilização de 100%.
Se quisessemos descobrir o causador do problema de Lock Waiting, bastaria aperta a letra “a” e informar o Top Agent do indicador Locks e teriamos o causador do problema. As vezes é necessário mais alguns passos para descobrir o causador pois ele já executou e teremos que identificá-lo de uma outra maneira.

Esta aí um bom exemplo de exercício para quem tiver curiosidade. Responder como fazer para descobrir o causador de todo esse problema caso ele não apareça nas informações da sessão. Alguém se habilita? Estarei no aguardo.

Até a próxima sessão e bons estudos!!!

OBS: o conteúdo deste post foi retirado do site Developerworks da IBM .