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

Bibliothèque IBSurgeon

Vérification interne de cohérence du logiciel gds - comment récupérer les bases de données Firebird/InterBase

Oleg Matveev, 20-Nov-2014

Lorsqu’une instance Firebird (ou InterBase) ne peut pas effectuer une opération sans garantie que la cohérence de la base de données ne sera pas affectée, elle génère une erreur (bugcheck) et interrompt l’opération en cours.

Ce texte d’erreur Firebird commence par le préfixe obligatoire « internal gds software consistency check (can’t continue after bugcheck) » (pour les versions récentes de Firebird, il s’agit de « internal Firebird software consistency check »), suivi du texte d’erreur réel (comme « decompression overran buffer (179) »).

Souvent, les erreurs « internal software consistency check » signifient que la base de données Firebird est corrompue (cependant, ce n’est pas une règle) - c’est-à-dire que la cohérence de l’image interne de la base de données est rompue et doit être réparée pour poursuivre le travail normal.

Si vous voyez une telle erreur dans votre firebird.log ou comme message d’erreur dans votre application, exécutez cette commande pour vous assurer que votre base de données est correcte :

Code
gfix.exe -v -full -user SYSDBA -pass masterkey path_to_your_database

Si la validation gfix renvoie des erreurs, la base de données est corrompue et nécessite une récupération.

Essayez d’abord la récupération avec gfix :

Code
gfix.exe -mend -ig -user SYSDBA -pass masterkey path_to_your_database

puis sauvegardez la base de données :

Code
gbak.exe -b -g -user SYSDBA -pass masterkey path_to_your_database path_to_backup

et restaurez :

Code
gbak.exe -c -v -user SYSDBA -pass masterkey path_to_backup path_to_new_database

S’il y a un problème lors de gfix/gbak, récupérez la base de données corrompue avec l’outil IBSurgeon FirstAID - la majorité des erreurs « internal Firebird consistency check » peuvent être corrigées avec cet outil ; FirstAID a été spécifiquement conçu pour traiter les corruptions graves de bases de données.

De plus, si vous avez une base de données Firebird ou InterBase corrompue, veuillez contacter notre support : [email protected] et fournissez le texte complet de l’erreur (ou une capture d’écran).