Cette page a été traduite automatiquement. Lisez l'original en anglais. English

Bibliothèque IBSurgeon

Erreurs courantes InterBase/Firebird causées par des corruptions et leurs chances de récupération

Alexey Kovyazin, 31-03-2014

Vous trouverez ci-dessous la description des erreurs et problèmes courants dans les bases de données InterBase/Firebird et leurs chances de récupération.

Pour obtenir un prix et un délai de récupération exacts, veuillez nous contacter par e-mail.

Pour une estimation approximative des prix, veuillez consulter la description du service « Firebird and InterBase Recovery ». Il n’y a aucune garantie à 100 % que les erreurs décrites correspondent exactement aux raisons décrites.

Internal gds software consistency check (cannot find tip page (165))

Description de l’erreur

La base de données ne peut pas être ouverte avec le moteur Firebird ou InterBase, et le message suivant apparaît : Internal gds software consistency check (cannot find tip page (165))

Arrêt anormal ou corruption physique du fichier de base de données. La page d’inventaire des transactions (TIP) a été perdue. La zone de corruption peut varier de quelques pages à l’ensemble de la base de données, une enquête supplémentaire est donc nécessaire.

Raison (pourquoi cela est-il arrivé ?) Les raisons les plus probables sont un arrêt anormal du serveur (bouton Reset), une mauvaise approche de sauvegarde ou des outils de sauvegarde inappropriés. Sous Windows XP, une telle corruption peut être causée par la fonctionnalité « Restauration du système » pour les fichiers « gdb ».

Processus de récupération

Tout d’abord, la base de données doit être analysée avec FirstAID Diagnostician. Si FirstAID ne signale pas de corruption grave, la corruption peut être corrigée avec la version complète de FirstAID.

En cas de corruption grave, une récupération personnalisée est nécessaire.

Chances de réparer la corruption

99 %

Database file appears corrupt. Wrong page type. Page NNN is of wrong type (expected X, found Y)

Description de l’erreur

Le message d’erreur est apparu dans la sortie standard ou dans firebird.log ou interbase.log :

Database file appears corrupt. Wrong page type. Page NNN is of wrong type (expected X, found Y)

En raison d’une corruption physique ou d’une autre raison, la séquence des pages du fichier de base de données a été modifiée, ou des valeurs incorrectes sont apparues sur les pages pointeurs ou les pages racines d’index, etc.

Raison

Les raisons les plus probables sont un arrêt anormal du serveur (bouton Reset), une mauvaise procédure de sauvegarde ou des outils/approches de sauvegarde inappropriés.

Processus de récupération

Tout d’abord, la base de données doit être analysée avec FirstAID Diagnostician. Si FirstAID ne signale pas de corruption grave, la corruption peut être corrigée avec la version complète de FirstAID.

Sinon, un processus de récupération personnalisé est nécessaire.

Chances de réparer la corruption

95 %.

Unknown database I/O error for file “*.gdb”. Error while trying to read from file

Description de l’erreur

La base de données ne peut pas être ouverte et le message d’erreur suivant apparaît : Unknown database I/O error for file “*.gdb”. Error while trying to read from the file.

Raison

En raison d’un arrêt anormal du serveur, les pages les plus récentes de la base de données n’ont pas été écrites sur le disque.

Processus de récupération

Processus de récupération personnalisé. La base de données est vérifiée par gfix et sauvegarde/restauration.

Chances de récupération

95 %

Decompression overran buffer

Description de l’erreur

Le message d’erreur apparaît : Internal gds software consistency check (decompression overran buffer (179))

Raison

Il s’agit d’une corruption grave de la base de données : les tables système peuvent être endommagées. Parfois, cette erreur se produit après le transfert de la base de données vers un nouveau serveur/ordinateur. Une enquête est nécessaire.

Processus de récupération

Analyse de la structure de la base de données, génération de nouvelles pages, plusieurs itérations nécessaires.

Chances de récupération

95 %

Wrong record length

Description de l’erreur

Un message d’erreur apparaît : Internal gds software consistency check. Wrong record length

Raison

Le plus souvent, l’erreur « Wrong record length » est causée par une mauvaise RAM. Nous recommandons fortement de vérifier la mémoire ( RAM) sur le serveur.

Processus de récupération

Localiser et supprimer les enregistrements incorrects à l’aide des outils de bas niveau d’IBSurgeon. Plusieurs itérations nécessaires.

Chances de récupération

97 %

Database file appears corrupt. Bad checksum

Description de l’erreur

Database file appears corrupt. Bad checksum. Checksum error on database page XX.

Raison

Mauvaise RAM. Nous recommandons fortement de vérifier la mémoire ( RAM) sur le serveur.

Processus de récupération

Processus de récupération personnalisé. Plusieurs itérations nécessaires.

Chances de récupération

99 %

Cannot find record back version

Description de l’erreur

La base de données semble fonctionner, mais gbak ne peut pas terminer la sauvegarde.

Texte de l’erreur :

Internal gds software consistency check (cannot find record back version (291))

gds_$receive failed. Exiting before completion due to errors. internal gds software consistency check (can’t continue after bug check).

Raison

La raison la plus probable est une mauvaise gestion des transactions. Enquête sur les performances des transactions.

Processus de récupération

La base de données nécessite une analyse détaillée, et la solution consiste généralement à trouver et supprimer les objets problématiques de la base de données, puis à les recréer. Parfois, il est nécessaire de transférer les données vers une nouvelle base de données.

Chances de récupération

99 %

Next transaction older than oldest active transaction

Affichage de l’erreur

Internal gds software consistency check (next transaction older than oldest active transaction (266))

Raison

Cette erreur rare se produit dans InterBase 4.x-5.x, c’est un bug.

Processus de récupération

Processus de récupération personnalisé

Chances de récupération

99 %

Corrupted header

Description de l’erreur

La base de données ne peut pas être ouverte et Firebird/InterBase ne la considère pas comme une base de données valide.

Raison

Corruption physique, panne du disque dur.

Processus de récupération

Processus de récupération personnalisé

Chances de récupération

80 %

Database file size exceeds implementation limit

Description de l’erreur

Cela se produit sur les serveurs InterBase 4.x-5.x et les premières versions bêta de Firebird (0.9.x). La base de données ne peut pas être ouverte, la taille du fichier de base de données est de 4 Go.

Raison

Limite d’implémentation d’InterBase 4.x-5.x-6.0.x et des premières versions de Firebird 0.9.x.

Processus de récupération

Processus de récupération personnalisé.

Chances de récupération

En général, nous pouvons sauvegarder toutes les données (c’est-à-dire 100 %), mais parfois cela peut être inférieur à 70 %.

Conversion error from string

Description de l’erreur

Texte de l’erreur : Conversion error from string “XXX”.

Raison

Un diagnostic préliminaire est impossible, une enquête sur site est nécessaire.

Processus de récupération

Processus de récupération personnalisé.

Chances de récupération

99 %

INET/inet_error: read errno = 10054 or 10038 or 10093

Affichage de l’erreur

De nombreuses entrées dans firebird.log ou interbase.log avec les erreurs 10054, 10038, 10093, etc.

Raison

Ces erreurs sont causées par des problèmes réseau - vérifiez vos hubs, cartes réseau, etc. Ce n’est pas une erreur Firebird/InterBase en soi, mais cela peut avoir un impact sur Firebird/InterBase.

Processus de récupération

Nous proposons l’outil FBScanner pour résoudre le problème des « erreurs 10054 » (parmi d’autres problèmes). Voir les détails ici.

Chances de récupération

Non applicable.

Partner index description not found (175))

Description de l’erreur

Texte du message d’erreur : internal gds software consistency check (partner index description not found (175))

Index manquant pour une clé primaire ou étrangère.

Raison

Cela peut être causé par une corruption physique ou des bugs internes du serveur.

Processus de récupération

Processus de récupération personnalisé.

Chances de récupération

100 %

Autres erreurs

Description de l’erreur

Vous trouverez ci-dessous une liste d’erreurs Firebird/InterBase rares, qui peuvent être causées par différentes raisons. N’hésitez pas à nous envoyer la description de votre problème - nous pouvons vous aider.

Une UDF incorrecte peut provoquer les erreurs suivantes dans interbase.log :

SCH_validate – not entered

SCH_validate – wrong thread

La corruption d’un index peut provoquer le message suivant dans interbase.log :

Page 34672 is an orphan

Et cette erreur peut survenir lors d’insertions/mises à jour/suppressions intensives au cours d’une seule transaction :

internal gds software consistency check (Too many savepoints (287))

Il est difficile de reconnaître la raison sans enquête sur la base de données en cas des erreurs suivantes :

internal gds software consistency check (error during savepoint backout (290))

internal gds Software consistency check (size of opt block exceeded (286))

internal gds software consistency check (invalid SEND request (167))

Raison probable

Raisons diverses. Nous devons enquêter sur la base de données corrompue.

Processus de récupération

Processus de récupération personnalisé.

Chances de récupération

Variables