Repairing broken Firebird database can be sometimes a bit difficult. The official tools (gfix and gbak) not always can help you so you will have to find ways to transfer data from broken database into another fresh and clean one.
There are some tools that can help you
There are usually only two reasons why a database can be corrupted in Firebird: 1) You copied the fdb-file while the Server was accessing it and 2) You don’t have forced writes enabled and the server shut down unexpectedly (e.g. power-outage)
Database recovery is done in four steps. Here’s how you do it:
Here is the article in russian (gfix is used)