Subject Corrupted database
Author Nagy Szilveszter
Hello,

one of my firebird databases got corrupt in the last couple of days. It's a pretty big one the FDB file is 8 GB.


The error I observed in the applications logfiles. It happens when the users try to run a specific SP. The error message is:

# -902 # database file appears corrupt (/data/firebird/vec.fdb) wrong page type page 112600 is of wrong type (expected 5, found 7) At procedure ''SCOR_CANDIDAT'' line: 38, col: 3

The 38th line of this SP is an UPDATE command on a huge table.

I tried to fetch that table and it shows the same error at line 115904. (I have 125556 records in the table...at least this is what i calculated from ID value of corrupted line subtracted from generator value)


I tried to backup the database to see what happens. The same output comes from gbak:

gbak: ERROR:database file appears corrupt (/data/firebird/vec.fdb)
gbak: ERROR:    wrong page type
gbak: ERROR:    page 112600 is of wrong type (expected 5, found 7)
gbak: ERROR:gds_$receive failed
gbak:Exiting before completion due to errors


The FireBird Server version is: firebird-superclassic-2.5.2.26539.0-1.el6.x86_64

Running on a 64bit CentOS Linux.



Can anyone help me repair it?



Thank you,
Szilveszter