Subject Re: Database compress/purge
Author Alexander V.Nevsky
--- In firebird-support@yahoogroups.com, Scott Taylor <scott@d...>
wrote:
> Yeah, maybe a switch in gbak to choose to allow to continue on data
> errors. Sometimes any recovery is better than none, especially
after a
> disaster. I always have multiple copies, multiple locations, daily,
of the
> live database. Therefore, if I could at least get a partial
recovery of
> the most current data, then I might be able to piece together the
rest.

Scott, .gbk can be unrestorable not only due to our efforts, but to
be secondary due to corruptions provided by power failures etc.
Sometimes, when such a annoyance occures in time when server
intesively collects garbage, some debris of records to be finally
cleared remains in the state of live record. Usually they are filled
with nulls and common queries which use indices just don't see them.
gbak is another best, when backung up he scans all in natural order
and writes all, if he will perform serious checks we have low chances
to wait until he finishes. But on restore checks are performed (it is
much less cost for it in this time), and we can get the same effect.
Sometimes in source database broken are indices and secondary effect
of it can be duplicates in unique indices (primary keys) on restore or
reference integrity violation. So one switch and warning (which nobody
usually read and after long and consistent practice of this kind
finish is like Nando described about tapes) are not enough.
In general I agree with you, but think improvements of current gbak
should be more complex (see my messages 26694 and 26696 in the thread
"confiable backup". In the same thread you can read there is another
concept to get image copy of the database and even to make incremental
backup based on different principles.
To reassure those whose legs trembles reading this: if you keep
common rules of computer hygiene, corruption is very seldom visitor. I
encountered it less than 10 times since 1995 when I started with IB4
on SCO and no one since I migrated to FB1. Neverthelles, my night cron
perform backup without garbage collection and than in parallel sweep
and statiscic calculation on the main database and copy of .gbk and
restore on developer's server to be sure in new day.

Best regards, Alexander.