[firebase-br] ERROR:internal gds software consistency check

Magno System magnosysteminformatica em gmail.com
Qui Jan 14 11:19:22 -03 2010


Na minha opinião está correto, visto que no final não apareceram mais erro.

Só procure averiguar a origem do primeiro erro (RECORD LENGTH) se tem algum 
registro com tamanho indevido que pode ter ocorrido por exemplo numa 
atualização da estrutura do banco onde foi alterada o tamanho do campo e o 
mesmo já tinha algum registro que ficou fora do tamanho após a mudança na 
estrutura.


----- Original Message ----- 
From: "Elton da Motta Barbosa" <embarbosa em gmail.com>
To: <lista em firebase.com.br>
Sent: Thursday, January 14, 2010 11:00 AM
Subject: [firebase-br] ERROR:internal gds software consistency check


E aí pessoal? blz?

olha só,
   Estávamos com um cliente que o banco de dados corrompeu. Olhando no
log da nossa aplicação encontramos que no dia que o BD corrompeu foi
tentado fazer um backup (sem sucesso) que gerou o seguinte erro
"ERROR:internal gds software consistency check (wrong record length
(183), file: vio.cpp line: 1116)". O programa continuou a usar o BD
assim mesmo, e mais tarde (como era de se esperar) o BD corrompeu de
vez e alterando o erro . Não abria nada sempre com a mensagem de erro
"internal gds software consistency check(Bugcheck 210 (page in use
during flush))". O que eu gostaria de saber é se o que eu fiz a partir
daí não faltou nada... pois sabe como é... dificilmente a gente
encontra corrupção de dados, posso ter esquecido de fazer algo. O.o

   Então lá vai a parte longa da história....
   Enfim, eu peguei o BD corrompido e tentei fazer um gfix nele (FB
2.0). Só que retornava o seguinte erro: "internal gds software
consistency check(Bugcheck 210 (page in use during flush))" (assim
como quando tentava conectar. Pesquisando o assunto encontrei que o
gfix foi corrigido, na versão 2.1.3, pra resolver um bug relacionado
com esse erro. Daí o que eu fiz:
   1) Desabilitei o FB2.0.5 na máquina;
   2) Habilitei o FB2.1.3
   3) gfix -v - full ==> mostrou erros mas rodou ok;
   4) gfix -mend ==> ok
   5) gfix -v - full ==> mostrou menos erros mas mostrou... ok;
   6) gfix -mend ==> ok..
   7) gfix -v - full ==> mostrou os *mesmos* erros ok;
   8) gfix -mend ==> ok..

como o gfix não estava mais alterando as mensagens eu parti pra um
backup restore.
   1) Desabilitei o FB2.1.3
   2) Habilitei o FB2.0.5 na máquina;
   3) gbak -b
   4) gbak -c
   5) gfix -v -full ==> nenhum erro.

   Finalmente fiz uma comparação dos dados e metadados do BD com a do
último backup feito com sucesso para identificar possíveis perdas de
dados, (usando dbcomparer, IBExpert trial, etc...). Nenhuma alteração
de metadados encontrada, poucas alterações nos dados, que serão
analisados com o cliente para ver se realmente foram perdas ou
alterações feitas pelo próprio cliente.
   Então é isso... Alguém aí acha que eu esqueci de algo, ou podia ter
feito algo diferente?

valeu,

______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use: 
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa 





Mais detalhes sobre a lista de discussão lista