Questa pagina è stata tradotta automaticamente. Leggi l'originale in inglese. English

Libreria IBSurgeon

Controllo interno di coerenza del software gds - come recuperare i database Firebird/InterBase

Oleg Matveev, 20-Nov-2014

Quando un’istanza di Firebird (o InterBase) non può eseguire un’operazione senza garanzia che la coerenza del database non venga compromessa, genera un errore (bugcheck) e interrompe l’operazione corrente.

Il testo di tale errore Firebird inizia con il prefisso obbligatorio “internal gds software consistency check (can’t continue after bugcheck)” (per le versioni recenti di Firebird è “internal Firebird software consistency check”), seguito dal testo effettivo dell’errore (come “decompression overran buffer (179)”).

Spesso gli errori “internal software consistency check” significano che il database Firebird è corrotto (tuttavia, non è una regola) - cioè, la coerenza dell’immagine interna del database è compromessa e dovrebbe essere riparata per continuare il normale funzionamento.

Se vedi tale errore nel tuo firebird.log o come messaggio di errore nella tua applicazione, esegui questo comando per assicurarti che il tuo database sia a posto:

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

Se la validazione gfix restituisce errori, il database è corrotto e richiede il recupero.

Prova prima il recupero con gfix:

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

e poi esegui il backup del database:

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

e il ripristino:

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

Se c’è un problema durante gfix/gbak, recupera il database corrotto con lo strumento IBSurgeon FirstAID - la maggior parte degli errori “internal Firebird consistency check” può essere risolta con esso; FirstAID è stato progettato specificamente per gestire corruzioni pesanti del database.

Inoltre, se hai un database Firebird o InterBase corrotto, contatta il nostro supporto: [email protected] e fornisci il testo completo dell’errore (o uno screenshot).