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.
[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.
[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 ;
[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.