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