terça-feira, 3 de março de 2009

Suportando Informix/DB2

Muitos vezes atuando em suporte/consultoria podemos encontrar 2 tipos de problemas:

- Performance
- Down System

Vamos descrever mais sobre esses assuntos, mas lembrem-se vou dar o caminho das pedras, o how-to depende de cada um aplicar o conhecimento..

Performance
-------------
No caso de performance a coisa pode estar tão ruim que não conseguimos executar nem um comando no prompt , muito menos uma query para acessar o catálogo.

Nestes casos podemos utilizar o comando onstat (Informix) ou db2pd (db2), estes trabalham de uma forma diferente das outras ferramentas, através da funçao shmat se atacham a shared memory e executam leituras direta nas estruturas em memória.

Imaginem um ambiente com multiplas instâncias, a qual segmento de memoria o comando irá atachar-se?

Durante o startup da instancia o engine define uma chave (SHMKEY) para o segmento e atrav'es desta chave o onstat/db2pd podem fazer o attach na shared memory.

Alias para saber qual o SHMKEY de cada segmento 'e so executar o comando IPCS (no caso em ambiente UNIX), e possivel relacionar o SHMID com a saida do comando onstat -g seg.

Exemplos:

No informix temos um comando para identificar a quantidade de comandos DML que foram submetidos em uma tabela:

onstat -g ppf --> (e necessario setar o parametro TBLSTATS 1)

No db2 temos um comando com a mesma funcionalidade.

db2pd -db dbname -tcbstats

Down-System
----------------

Agora sabemos que e possivel acessar a shared memory diretamente atrav'es dos comandos onstat/db2pd, mas em caso de Down-System como faremos diagnostico se o engine nao passa pelo startup?

Neste caso 'e necessario utilizar ferramentas com acesso direto ao disco, tais como oncheck (Informix) ou db2dart (Db2).

Para executar o dump de uma pagina no Informix:
oncheck -pP

Para visualizar o conteudo de pagina reservada:
oncheck -pr

Para executar o dump de uma pagina no Db2:

db2dart dbname /ddel

Para DBAS Informix que queiram treinar db2dart este link vai dar uma ajuda:
http://www-01.ibm.com/support/docview.wss?rs=71&uid=swg21244563

Lembre-se que para usar db2dart com DB2_KEYDATACHECK em uma tabela com compressão é necessário aplicar o APAR IY87739
http://www-01.ibm.com/support/docview.wss?uid=swg1IY87739

Alias o que e DB2_KEYDATACHECK?? Lembram-se do CCFLAGS no Informix, bom isto e assunto pra outro post.

Maiores informações sobre o db2pd estão no Information Center:http://publib.boulder.ibm.com/infocenter/db2luw/v9//index.jsp

Nenhum comentário:

Postar um comentário

Observação: somente um membro deste blog pode postar um comentário.