Esta página fue traducida automáticamente. Lee el original en inglés. English

Biblioteca de IBSurgeon

Comprobación interna de consistencia del software gds: cómo recuperar bases de datos Firebird/InterBase

Oleg Matveev, 20-Nov-2014

Cuando una instancia de Firebird (o InterBase) no puede realizar alguna operación sin garantizar que la consistencia de la base de datos no se verá afectada, genera un error (bugcheck) e interrumpe la operación actual.

Dicho texto de error de Firebird comienza con el prefijo obligatorio “internal gds software consistency check (can’t continue after bugcheck)” (para versiones recientes de Firebird es “internal Firebird software consistency check”), y luego sigue el texto real del error (como “decompression overran buffer (179)”).

A menudo, los errores de “internal software consistency check” significan que la base de datos de Firebird está corrupta (sin embargo, no es una regla), es decir, la consistencia de la imagen interna de la base de datos está rota y debe corregirse para continuar con el trabajo normal.

Si ve este error en su firebird.log o como mensaje de error en su aplicación, ejecute este comando para asegurarse de que su base de datos esté bien:

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

Si la validación de gfix devuelve errores, la base de datos está corrupta y requiere recuperación.

Intente primero la recuperación con gfix:

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

y luego haga una copia de seguridad de la base de datos:

Code
gbak.exe -b -g -user SYSDBA -pass masterkey ruta_a_su_base_de_datos ruta_a_la_copia

y restaure:

Code
gbak.exe -c -v -user SYSDBA -pass masterkey ruta_a_la_copia ruta_a_la_nueva_base_de_datos

Si hay un problema durante gfix/gbak, recupere la base de datos corrupta con la herramienta IBSurgeon FirstAID - la mayoría de los errores de “internal Firebird consistency check” se pueden corregir con ella; FirstAID fue diseñada específicamente para tratar con corrupciones graves de bases de datos.

Además, si tiene una base de datos Firebird o InterBase corrupta, por favor contacte con nuestro soporte: [email protected] y proporcione el texto completo del error (o una captura de pantalla).