Guia de estudos DB2 - Prova 731 - Parte 4
Autor: Juliano Martins | Publicado: 2010-01-27T09:41:00-08:00

Dando continuidade ao meu material de estudos para a prova 731 (DBA) do DB2, nesta parte falaremos de "Monitorando a atividade do DB2", que eu considero ser a parte mais teórica e fácil tratando-se do estudo para a prova, porém é a parte que demanda maior experiência no dia a dia para performar um bom trabalho. Desconsidere erros de português, este guia foi escrito conforme eu estudava, então o foco era aprender, e não escrever bem. Vamos lá:

4.1 O DB2 tem dois tipos de monitores
&nbsp; Snapshot: Captura o estado do banco em um determinado momento. É configurável, você pode definir o que será capturado no snapshot.
&nbsp; Event monitors: Pode ser um ou mais, eles ficam logando algum evento específico que acontece ou sobre um estado em específico.
&nbsp; 
4.2 Os tipos de monitores de eventos podem ser:
Counters: Contam o numero de vezes que determinando evento acontece. É incremental.
Gaufes: É uma espécie de contador, mas registra o número de vezes por um período, por exemplo: quantas aplicações estão conectadas no meu banco neste momento.
Watermarks: Indica o maior e o menor número de um evento, exemplo: o maior número de linhas já afetadas por uma instrução.
Information: Mostra informações sobre diferentes tipos de elementos.
Timestamps: Mostra a data/hora que determinado evento ocorreu
Time: Registra o tento de tempo que determinada atividade levou.
&nbsp; Podemos criar monitores de eventos com a seguinte sintaxe:
CREATE EVENT MONITOR [Name]
FOR [DATABASE | BUFFERPOOLS | TABLESPACES | TABLES | DEADLOCKS  |
&nbsp;&nbsp;&nbsp; CONNECTIONS  |
&nbsp;&nbsp;&nbsp; STATEMENTS  |
&nbsp;&nbsp;&nbsp; TRANSACTIONS  , ...]
WRITE TO [TABLE [GroupName] (TABLE [TableName]) | PIPE [PipeName] | FILE
[DirectoryName]]
[MANUALSTART | AUTOSTART]

A qualquer momento podemos parar ou iniciar um monitor, e ainda forçar que ele gere um output mesmo não sendo o momento "agendado" para isso.

4.3 Health Monitor
É um serviço do DB2 que fica rodando e monitorando a saúde do banco de dados, enviando mensagens, logando e tomando ações se alguma coisa errada for ocorrer com o banco de dados. Por padrão, o monitor é desativado quando cria-se uma base. Para ativa-lo temos que setar o parâmetro health_mon para ON.
O Health Center é uma ferramenta do DB2 que manipula especificamente o Health Monitor e os logs gerados pelo mesmo.

4.4 Analisando SQL com Explain
Aqui vou passar realmente rápido pois escreverei em um futuro próximo um artigo específico sobre esse tema.
Basicamente, quando executamos algo (um select, insert, etc), o DB2 faz um plano de execução, estudando os passos por onde vai passar, possíveis locks, etc.
Você pode capturar informações sobre isso e as estudar para otimizar o desempenho de sua query.
A sintaxe do comando explain é:
EXPLAIN [ALL | PLAN | PLAN SELECTION]

FOR [SQLStatement]
Onde será gerado um output para o comando "SQMStatement".
Feito isso, você pode estudar o output com os utilitários db2expln, db2exfmt ou o Visual Explain.
O dado mais importante gerado pelo explain é o TIMERONS, que é a unidade de medida utilizada pelo DB2 para computar o tempo e recursos que uma query vai levar.

Para poder efetuar explain, um conjunto de tabelas devem ser criadas. Tipicamente, tais tabelas NÃO SÃO CRIADAS em ambientes de produção, mas sim, em ambientes de desenvolvimento.

Voltar para o índice.