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 :
- IB Datapump that is a bit old an not very fine tuned to access broken databases
- FB Copy that lacks options to access broken databases too.
If your database is heavily broken, you will have to fire out the heavy artillery and buy some commercial products like IBFirstAid.
This incredible piece of software will walk throught your database, finding errors and inconsistencies, fix them so you will, probably be able to access your databasa again with gfix and gbak.
I’ve written my own database cloning tool for Firebird. It’s named FBClone, it’s written with Delphi and uses the wonderful UIB Components from Progdigy.
- Clone a whole database like a backup (gbak -b) and a restore (gbak -c) in a single pass
- Pump data from a source database into another one with the same structure. A database with the same structure can be created with gbak using the option ”-m” to restore metadata only.
- Change database and data charset, converting an old Firebird 1.5 ISO8859_1 database into a fresh new Firebird 2.1 UTF8 one.
You can download FBClone 1.4 Source and Windows Executable.
[Edit] Updated FBClone to v1.4
- Support Firebird 2.1+
- Improved output
- Allow to change target database page size (example : -ps 8192)
- English is the default language for the application now.
[Edit] The code is shared under the IDPL – Initial Developer Public License – Thank you for sharing your modifications.