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

Libreria IBSurgeon

Errori comuni di InterBase/Firebird causati da corruzioni e le loro possibilità di recupero

Alexey Kovyazin, 31-03-2014

Di seguito è riportata la descrizione degli errori e dei problemi più comuni nei database InterBase/Firebird e le loro possibilità di recupero.

Per ottenere il prezzo e i tempi di recupero esatti, contattateci via email.

Per una stima approssimativa dei prezzi, consultate la descrizione del servizio “Firebird and InterBase Recovery”. Non esiste una garanzia al 100% che gli errori descritti corrispondano esattamente alle cause descritte.

Controllo di coerenza software interno di gds (impossibile trovare la pagina tip (165))

Descrizione dell’errore

Il database non può essere aperto utilizzando il motore Firebird o InterBase e viene visualizzato il seguente messaggio: Internal gds software consistency check (cannot find tip page (165))

Spegnimento anomalo o corruzione fisica del file di database. La pagina di inventario delle transazioni (TIP) è andata persa. L’area della corruzione può variare da alcune pagine all’intero database, pertanto è necessaria un’indagine aggiuntiva.

Motivo (perché è successo?) Le cause più probabili sono lo spegnimento anomalo del server (utilizzando il pulsante Reset), un approccio di backup errato o strumenti di backup errati. Su Windows XP, tale corruzione può essere causata dalla funzionalità “Ripristino configurazione di sistema” per i file “gdb”.

Processo di recupero

Innanzitutto, il database deve essere scansionato con FirstAID Diagnostician. Se FirstAID non segnala una corruzione grave, la corruzione può essere riparata con la versione completa di FirstAID.

In caso di corruzione grave, è necessario un recupero personalizzato.

Possibilità di riparare la corruzione

99%

Il file di database risulta corrotto. Tipo di pagina errato. La pagina NNN è di tipo errato (previsto X, trovato Y)

Descrizione dell’errore

Il messaggio di errore è apparso nell’output standard o in firebird.log o interbase.log:

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

A causa di una corruzione fisica o di un’altra ragione, la sequenza delle pagine del file di database è stata modificata, oppure sono comparsi valori errati sulle pagine dei puntatori o sulle pagine radice degli indici, ecc.

Motivo

Le cause più probabili sono lo spegnimento anomalo del server (utilizzando il pulsante Reset), una procedura di backup errata o strumenti/approcci di backup errati.

Processo di recupero

Innanzitutto, il database deve essere scansionato con FirstAID Diagnostician. Se FirstAID non segnala una corruzione grave, la corruzione può essere riparata con la versione completa di FirstAID.

In caso contrario, è necessario un processo di recupero personalizzato.

Possibilità di riparare la corruzione

95%.

Errore I/O sconosciuto del database per il file “*.gdb”. Errore durante il tentativo di lettura dal file

Descrizione dell’errore

Il database non può essere aperto e viene visualizzato il seguente messaggio di errore: Unknown database I/O error for file “*.gdb”. Error while trying to read from the file.

Motivo

A causa dello spegnimento anomalo del server, le pagine più recenti del database non sono state scritte su disco.

Processo di recupero

Processo di recupero personalizzato. Il database viene controllato con gfix e backup/ripristino.

Possibilità di recupero

95%

La decompressione ha superato il buffer

Descrizione dell’errore

Viene visualizzato il messaggio di errore: Internal gds software consistency check (decompression overran buffer (179))

Motivo

Si tratta di una corruzione grave del database: le tabelle di sistema potrebbero essere danneggiate. A volte questo errore si verifica dopo il trasferimento del database su un nuovo server/computer. È necessaria un’indagine.

Processo di recupero

Analisi della struttura del database, generazione di nuove pagine, sono necessarie diverse iterazioni.

Possibilità di recupero

95%

Lunghezza del record errata

Descrizione dell’errore

Viene visualizzato un messaggio di errore: Internal gds software consistency check. Wrong record length

Motivo

Molto spesso l’errore “Wrong record length” è causato da RAM difettosa. Raccomandiamo vivamente di controllare la memoria ( RAM) sul server.

Processo di recupero

Individuare ed eliminare i record errati utilizzando gli strumenti di basso livello di IBSurgeon. Sono necessarie diverse iterazioni.

Possibilità di recupero

97%

Il file di database risulta corrotto. Checksum errato

Descrizione dell’errore

Il file di database risulta corrotto. Checksum errato. Errore di checksum sulla pagina XX del database.

Motivo

RAM difettosa. Raccomandiamo vivamente di controllare la memoria ( RAM) sul server.

Processo di recupero

Processo di recupero personalizzato. Sono necessarie diverse iterazioni.

Possibilità di recupero

99%

Impossibile trovare la versione precedente del record

Descrizione dell’errore

Il database sembra funzionare, ma gbak non riesce a completare il backup.

Testo dell’errore:

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).

Motivo

La causa più probabile è una gestione errata delle transazioni. È necessaria un’indagine sulle prestazioni delle transazioni.

Processo di recupero

Il database richiede un’analisi dettagliata e di solito la soluzione consiste nell’individuare ed eliminare gli oggetti problematici del database e poi ricrearli. A volte è necessario trasferire i dati in un nuovo database.

Possibilità di recupero

99%

Transazione successiva più vecchia della transazione attiva più vecchia

Visualizzazione dell’errore

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

Motivo

Questo errore raro si verifica in InterBase 4.x-5.x, è un bug.

Processo di recupero

Processo di recupero personalizzato

Possibilità di recupero

99%

Intestazione corrotta

Descrizione dell’errore

Il database non può essere aperto e Firebird/InterBase non lo considera un database valido.

Motivo

Corruzione fisica, crash del disco rigido.

Processo di recupero

Processo di recupero personalizzato

Possibilità di recupero

80%

La dimensione del file di database supera il limite di implementazione

Descrizione dell’errore

Si verifica sui server InterBase 4.x-5.x e sulle prime versioni beta di Firebird (0.9.x). Il database non può essere aperto, la dimensione del file di database è di 4Gb.

Motivo

Limite di implementazione di InterBase 4.x-5.x-6.0.x e delle prime versioni di Firebird 0.9.x.

Processo di recupero

Processo di recupero personalizzato.

Possibilità di recupero

Di solito possiamo salvare tutti i dati (cioè il 100%), ma a volte può essere inferiore al 70%.

Errore di conversione dalla stringa

Descrizione dell’errore

Testo dell’errore: Conversion error from string “XXX”.

Motivo

La diagnosi preliminare è impossibile, è necessaria un’indagine sul posto.

Processo di recupero

Processo di recupero personalizzato.

Possibilità di recupero

99%

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

Visualizzazione dell’errore

Voci multiple in firebird.log o interbase.log con errori 10054, 10038, 10093, ecc.

Motivo

Questi errori sono causati da problemi di rete - controllate i vostri hub, schede di rete, ecc. Non è un errore di Firebird/InterBase in sé, ma può avere un impatto su Firebird/InterBase.

Processo di recupero

Offriamo lo strumento FBScanner per risolvere il problema degli “errori 10054” (tra gli altri problemi). Vedere i dettagli qui.

Possibilità di recupero

Non applicabile.

Descrizione dell’indice partner non trovata (175))

Descrizione dell’errore

Testo del messaggio di errore: internal gds software consistency check (partner index description not found (175))

Indice mancante per una chiave primaria o esterna.

Motivo

Può essere causato da corruzione fisica o da bug interni del server.

Processo di recupero

Processo di recupero personalizzato.

Possibilità di recupero

100%

Altri errori

Descrizione dell’errore

Di seguito è riportato un elenco di errori rari di Firebird/InterBase che possono essere causati da diverse ragioni. Non esitate a inviarci la descrizione del vostro problema - possiamo aiutarvi.

Una UDF errata può causare i seguenti errori in interbase.log:

SCH_validate – not entered

SCH_validate – wrong thread

La corruzione dell’indice può causare il seguente messaggio in interbase.log:

Page 34672 is an orphan

E questo errore può verificarsi durante inserimenti/aggiornamenti/eliminazioni intensivi in una singola transazione:

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

È difficile riconoscere la causa senza un’indagine sul database in caso dei seguenti errori:

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))

Motivo probabile

Cause diverse. Dobbiamo indagare sul database corrotto.

Processo di recupero

Processo di recupero personalizzato.

Possibilità di recupero

Varie