Informix: Identificando / resolvendo um problema

Publicado por Felipe Casagrande (pepi) em 03/04/2008

[ Hits: 12.121 ]

Blog: http://www.vivaolinux.com.br/~felipe_pepii

 


Informix: Identificando / resolvendo um problema



Venho recebendo muitos e-mails de colegas aqui do VOL, me questionando como identificar um problema e solucioná-lo no Informix:

No Informix, existe um comando (onstat -m) que lhe mostra todo o log do Informix, "appendando" ali os "print" dos erros, mensagens de sistema entre outros.

Pois bem, existe também um cara muuuuito útil, chamado finderr - ele é responsável por traduzir o erro "NÚMERO" a uma linguagem de fácil compreensão.

Pois bem, identificamos que, por exemplo, nosso banco caiu, e pelo comando onstat -m ou analisando o arquivo de online.log vamos checar o que ocorreu. Vamos nos orientar pela data/hora do ocorrido exemplo:

16:37:50 listener-thread: err = -27002: oserr = 0: errstr = : No connections are allowed in quiescent mode.

Vemos o erro -27002, e na frente já a descrição do erro.

Se quisermos mais detalhes sobre o erro, damos o comando finderr. Exemplo:

# finderr -27002
-27002 No connections are allowed in quiescent mode.

You are attempting to connect to a database server that is in quiescent mode. Verify that your INFORMIXSERVER environment variable is set correctly. Ask the database server administrator to bring the appropriate database servers to online mode.

Que lhe mostrará a mensagem acima explicando o porque do erro. No caso acima, é porque o banco está em estado de manutenção.

O caminho se inicia pelo diagnóstico do problema, daí para onde correr, o finderr te ajudará muito.

Qualquer dúvida, estou a disposição.

Outras dicas deste autor

Melhor escolha, melhor performance (banco de dados)

Assistindo o outro terminal

Informix, administração básica

Repetição automática de comando

Informix: Adicionando um chunk

Leitura recomendada

Case e concatenação no SQL - Ajuste de ordem ou posição na tabela

Exportar banco de dados SQLite para arquivo .sql

Lazarus: Banco nativo usando sdfdataset com formato CSV

Adicionando campos de arquivo csv em componente do lazarus

Melhor escolha, melhor performance (banco de dados)

  

Comentários
[1] Comentário enviado por saochico2004 em 26/09/2008 - 09:28h

Olá Felipe,

Estou recentemente trabalhando com uma empresa que usa bd informix, não conhecia só ouvia alguns comentarios.
As vezes quando acontece umas quedas que em nossa região é meio normal ocorre do banco de dados dar erro sendo que usamos
no-break que aquenta cerca de 3 horas mas as vezes cai durante a madrugada e automaticamente o nosso servidor tem um comando
de restart quando a luz volta e assim corrompe o log. Conforme me passaram atraves do comando onstat -l tenho acesso a todos os
log´s e quando todos estao 100% é pq corrompeu. gostaria de saber se tens como vc me dar alguma dica sobre estes erros como resolver.

Grato pela atenção Rafael

[2] Comentário enviado por felipe_pepii em 26/09/2008 - 10:44h

Esta informação que te passaram sobre os logical logs esta totalmente errada. Quando ele esta em 100% significa que ele ja foi utilizado por inteiro !
Agora sobre a utilização dos mesmos, é muito interessante voce rodar o ontape -s (backup full 0) e depois deixar rodando o backup de continuous Log com o comando ontape -a.

Resumidamente, os Logs do informix precisam ser backupeados para que nao trave o informix. Referente as quedas de energia, recomendo que voce faça o seguinte, empresa trabalha 24 horas por dia? caso de madrugada nao trabalhe crie um script para backup e derrubar o banco, para eviatar que ele corrompa, e ai parceiro é muuito mais dificil recupera-lo.

Para backuper os logs, utilize o comando 'ontape -a' (backup full logs continuous) ou o ontape -s 0 (backup archive full). No ontape -a ele ira fazer backup dos logs e marca-los como disponivel para uso evitando que o banco trave. O ontape -s ira fazer o backup geral incluindo a opção do -a.
Se atente pois nas duas opções, ele ira descarregar de acordo com os parametros do onconfig LTAPEDEV e TAPEDEV ;

Espero te-lo ajudado.

Grande abraço

[3] Comentário enviado por felipe_pepii em 26/09/2008 - 10:48h

outra coisa, para ver se tem algum erro voce analisa o comando onstat -m, bem no cabeçalho dele lhe dirá onde o arquivo esta, assim voce poderá ter todos os dados de seu db.

Forte abraço



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts