Subject RE: [firebird-support] Database corruption
Author Alan McDonald
> Hi there,
>
> Recently, we have repaired a corrupted database for a client. Here is
> the scenario:
>
> 1) gbak was run from IBConsole, identified the corrupted table_A. It
> was believed that the corruption was on the Blob field.
> 2) A program was written to repair the database by removing the
> corrupted records.
> 3) ran gfix and gbak to the repaired database on a couple platforms:
> Win2000 and WinServer2003SE. Also ran gbak from IBConsole, all runs
> were successful.
> 4) sent the repaired database back to client's server
> (WinServer2003SE), ran gbak from IBConsole, and got errors straight
> away on table_A. The error is: Database file appears corrupt(); bad
> checksum; checksum error on database page 54805; gds_$get_segment failed.
> 5) reinstalled FB1.5 and IBConsole, ran gbak on the repaired database,
> but failed again.
> 6) installed FB1.5 and IBConsole on another platform (WinXP) of this
> client's office, ran gbak on the repaired database, the run was
> successful.
> 7) scanned the hard drive and its mirror disk on the server, it seen
> ok, changed a couple controllers, and disable mirror disk, then ran
> the repaired database, but failed again.
>
> In short, the checksum corruption is happening instantly. My questions
> are:
>
> Do you think this is a hardware problem? Why no other corruption in
> the same machine?
> What is gds_$get_segment?
> Is the Blob field conflicting with the segmentation allocation?
> Is there anything else that I can do to fix this problem?
>
> thanks & regards,
> Duncan Chen

and what version of gbak are you using?
Alan