Subject Re: [firebird-support] Cannot restore mend-ed database
Author Ann W. Harrison
On 11/17/2010 9:28 AM, Norman Dunbar wrote:
> Once data are "removed" from a live database, it's gone forever. The
> -mend option doesn't actually "fix" things, it simply makes the database
> available for backup - probably by deleting broken stuff!

Gfix -mend doesn't exactly delete the broken stuff, it just hides
it. And your right, if the wrong thing is broken (e.g. a pointer
page) you can lose a lot of data. If there's a bad record, gfix
sets the page index for that record to 0:0, leaving the data on page.
If there are index entries for the record, they remain, which is
one of the reasons you need to backup and restore the database after
a mend.
> You might get away with -mend if you also specify -no_update.

That won't do anything at all - well, it will probably tell you if
there are problems. If you're stuck and willing to lose some
unpredictable amount of data so you can get a backup of the rest,
gfix -mend will be your friend. If I were in that situation, I'd
pay for IBSurgeon which will let you know exactly what you'll lose
and give you a chance to minimize it. (Actually, I'd use my own
crude prototype, but nobody else would.)

Good luck,