Esta página foi traduzida por máquina. Leia o original em inglês. English

Biblioteca IBSurgeon

Erros comuns do InterBase/Firebird causados por corrupções e suas chances de recuperação

Alexey Kovyazin, 31-03-2014

Abaixo está a descrição de erros e problemas comuns em bancos de dados InterBase/Firebird e suas chances de recuperação.

Para obter o preço exato e o tempo de recuperação, entre em contato conosco via e-mail.

Para preços aproximados, consulte a descrição do serviço “Firebird and InterBase Recovery” aqui. Não há garantia de 100% de que os erros descritos correspondam exatamente aos motivos descritos.

Verificação interna de consistência do gds (não foi possível encontrar a página tip (165))

Descrição do erro

O banco de dados não pode ser aberto usando o mecanismo Firebird ou InterBase, e a seguinte mensagem aparece: Verificação interna de consistência do gds (não foi possível encontrar a página tip (165))

Desligamento anormal ou corrupção física do arquivo do banco de dados. A página de inventário de transações foi perdida (TIP). A área de corrupção pode variar de algumas páginas até o banco de dados inteiro, portanto, é necessária uma investigação adicional.

Motivo (por que aconteceu?) Os motivos mais prováveis são desligamento anormal do servidor (usando o botão Reset), abordagem de backup incorreta ou ferramentas de backup incorretas. No Windows XP, essa corrupção pode ser causada pelo recurso “Restauração do Sistema” para arquivos “gdb”.

Processo de recuperação

Primeiro, o banco de dados deve ser verificado com o FirstAID Diagnostician. Se o FirstAID não alertar sobre corrupção grave, a corrupção pode ser corrigida com a versão completa do FirstAID.

No caso de corrupção grave, é necessária uma recuperação personalizada.

Chances de corrigir a corrupção

99%

O arquivo do banco de dados parece estar corrompido. Tipo de página incorreto. A página NNN é do tipo errado (esperado X, encontrado Y)

Descrição do erro

A mensagem de erro apareceu na saída padrão ou no firebird.log ou interbase.log:

O arquivo do banco de dados parece estar corrompido. Tipo de página incorreto. A página NNN é do tipo errado (esperado X, encontrado Y)

Devido à corrupção física ou a outro motivo, a sequência de páginas do arquivo do banco de dados foi alterada, ou valores incorretos apareceram em páginas de ponteiros ou páginas raiz de índices, etc.

Motivo

Os motivos mais prováveis são desligamento anormal do servidor (usando o botão Reset), procedimento de backup incorreto ou ferramentas/abordagem de backup incorretas.

Processo de recuperação

Primeiro, o banco de dados deve ser verificado com o FirstAID Diagnostician. Se o FirstAID não alertar sobre corrupção grave, a corrupção pode ser corrigida com a versão completa do FirstAID.

Caso contrário, é necessário um processo de recuperação personalizado.

Chances de corrigir a corrupção

95%.

Erro de E/S desconhecido do banco de dados para o arquivo “*.gdb”. Erro ao tentar ler do arquivo

Descrição do erro

O banco de dados não pode ser aberto, e a seguinte mensagem de erro aparece: Erro de E/S desconhecido do banco de dados para o arquivo “*.gdb”. Erro ao tentar ler do arquivo.

Motivo

Devido ao desligamento anormal do servidor, as páginas mais recentes do banco de dados não foram gravadas no disco.

Processo de recuperação

Processo de recuperação personalizado. O banco de dados é verificado pelo gfix e backup/restore.

Chances de recuperação

95%

Descompressão excedeu o buffer

Descrição do erro

A mensagem de erro aparece: Verificação interna de consistência do gds (descompressão excedeu o buffer (179))

Motivo

É uma corrupção grave do banco de dados: as tabelas do sistema podem estar danificadas. Às vezes, esse erro ocorre após a transferência do banco de dados para um novo servidor/computador. É necessária uma investigação.

Processo de recuperação

Análise da estrutura do banco de dados, geração de novas páginas, várias iterações necessárias.

Chances de recuperação

95%

Comprimento de registro incorreto

Descrição do erro

Uma mensagem de erro aparece: Verificação interna de consistência do gds. Comprimento de registro incorreto

Motivo

Na maioria das vezes, o erro “Comprimento de registro incorreto” é causado por RAM defeituosa. Recomendamos fortemente verificar a memória ( RAM) no servidor.

Processo de recuperação

Localizar e excluir registros incorretos usando as ferramentas de baixo nível da IBSurgeon. Várias iterações necessárias.

Chances de recuperação

97%

O arquivo do banco de dados parece estar corrompido. Checksum inválido

Descrição do erro

O arquivo do banco de dados parece estar corrompido. Checksum inválido. Erro de checksum na página XX do banco de dados.

Motivo

RAM defeituosa. Recomendamos fortemente verificar a memória ( RAM) no servidor.

Processo de recuperação

Processo de recuperação personalizado. Várias iterações necessárias.

Chances de recuperação

99%

Não foi possível encontrar a versão anterior do registro

Descrição do erro

O banco de dados parece estar funcionando, mas o gbak não consegue concluir o backup.

Texto do erro:

Verificação interna de consistência do gds (não foi possível encontrar a versão anterior do registro (291))

gds_$receive falhou. Saindo antes da conclusão devido a erros. verificação interna de consistência do gds (não é possível continuar após verificação de bug).

Motivo

O motivo mais provável é o gerenciamento incorreto de transações. Investigação do desempenho das transações.

Processo de recuperação

O banco de dados requer uma análise detalhada e, geralmente, a solução é encontrar e excluir objetos problemáticos do banco de dados e recriá-los. Às vezes, é necessário transferir os dados para um novo banco de dados.

Chances de recuperação

99%

Próxima transação mais antiga que a transação ativa mais antiga

Exibição do erro

Verificação interna de consistência do gds (próxima transação mais antiga que a transação ativa mais antiga (266))

Motivo

Este erro raro ocorre no InterBase 4.x-5.x, é um bug.

Processo de recuperação

Processo de recuperação personalizado

Chances de recuperação

99%

Cabeçalho corrompido

Descrição do erro

O banco de dados não pode ser aberto e o Firebird/InterBase não o considera um banco de dados válido.

Motivo

Corrupção física, falha no disco rígido.

Processo de recuperação

Processo de recuperação personalizado

Chances de recuperação

80%

O tamanho do arquivo do banco de dados excede o limite de implementação

Descrição do erro

Isso acontece em servidores InterBase 4.x-5.x e nas primeiras versões beta do Firebird (0.9.x). O banco de dados não pode ser aberto, o tamanho do arquivo do banco de dados é 4Gb.

Motivo

Limite de implementação do InterBase 4.x-5.x-6.0.x e do Firebird 0.9.x inicial.

Processo de recuperação

Processo de recuperação personalizado.

Chances de recuperação

Geralmente, podemos salvar todos os dados (ou seja, 100%), mas às vezes pode ser menos de 70%.

Erro de conversão de string

Descrição do erro

Texto do erro: Erro de conversão da string “XXX”.

Motivo

O diagnóstico preliminar é impossível, é necessária uma investigação no local.

Processo de recuperação

Processo de recuperação personalizado.

Chances de recuperação

99%

INET/inet_error: erro de leitura errno = 10054 ou 10038 ou 10093

Exibição do erro

Múltiplas entradas no firebird.log ou interbase.log com erros 10054, 10038, 10093, etc.

Motivo

Esses erros são causados por problemas de rede - verifique seus hubs, adaptadores de rede, etc. Não é um erro do Firebird/InterBase em si, mas pode afetar o Firebird/InterBase.

Processo de recuperação

Oferecemos a ferramenta FBScanner para resolver o problema dos “erros 10054” (entre outros problemas). Veja detalhes aqui.

Chances de recuperação

Não aplicável.

Descrição do índice parceiro não encontrada (175))

Descrição do erro

Texto das mensagens de erro: verificação interna de consistência do gds (descrição do índice parceiro não encontrada (175))

Índice ausente para uma chave primária ou estrangeira.

Motivo

Pode ser causado por corrupção física ou bugs internos do servidor.

Processo de recuperação

Processo de recuperação personalizado.

Chances de recuperação

100%

Outros erros

Descrição do erro

Abaixo está uma lista de erros raros do Firebird/InterBase, que podem ser causados por diferentes motivos. Não hesite em nos enviar a descrição do seu problema - podemos ajudá-lo.

Um UDF incorreto pode causar os seguintes erros no interbase.log:

SCH_validate – não entrou

SCH_validate – thread incorreta

A corrupção de índice pode causar a seguinte mensagem no interbase.log:

A página 34672 é um órfão

E este erro pode ocorrer durante inserções/atualizações/exclusões intensivas em uma única transação:

verificação interna de consistência do gds (Muitos savepoints (287))

É difícil reconhecer o motivo sem investigação do banco de dados no caso dos seguintes erros:

verificação interna de consistência do gds (erro durante o rollback de savepoint (290))

verificação interna de consistência do gds (tamanho do bloco de otimização excedido (286))

verificação interna de consistência do gds (solicitação SEND inválida (167))

Motivo provável

Diferentes motivos. Precisamos investigar o banco de dados corrompido.

Processo de recuperação

Processo de recuperação personalizado.

Chances de recuperação

Variadas