meta data for this page
  •  

Database repair

Database repair using GFIX

SET ISC_USER=SYSDBA
SET ISC_PASSWORD=masterkey

Copy employee.gdb database.gdb

Validate database:

gfix -v -full database.gdb

On error try mend:

gfix -mend -full -ignore database.gdb

Check again:

gfix -v -full database.gdb

On error try backup without garbage collection:

gbak -backup -v -ignore -garbage database.gdb database.gbk

Finally try restore:

gbak -create -v database.gbk database.gdb

See also:

GBAK GFIX Database validation

Alternative database repair methods

Database corruption can occur at any time in any part of the database. The sudden panic that often accompanies such a serious problem can be mitigated by planning for the worst case scenario, before it actually happens: who to call, what to do. Having a plan and executing it. Our proposal: always have a warm backup copy of the database as read-only. Most companies can function with a read-only database for at least a few hours without critically failing the business, giving you time to put your contingency plan into action. Always rely on two databases: the live and the replicated; so with the knowledge that you can switch in an emergency with minimal loss of data.

For more information about replication, please refer to Bidirectional replication for InterBase® and Firebird.

Then you will need to begin to analyze your problem, locate it and, as far as possible, repair it.

Begin with GFIX. If that doesn't bring you any further, limit the damage to as few data sets as possible, and use IBExpert's Extract Metadata to extract all healthy data. Please refer to our article: Database repair using Extract Metadata.