Subject Re: [firebird-support] Symantec livestate recovery
Author Ann W. Harrison
Somebody wrote:

>>>Firebird's concept of "carefull writes" should NEVER leave the database file
>>>in an inconsistent state at any point in time...
>>and if that is so then
>> why is everybody advising against copying the DB - file while
>>transactions are running ?

Because the file is random access - pages are written to the front,
middle, and end. Copying is done front to back, so new writes before
the current copy point are not reflected in the copy.

> Daniel Rail wrote:

> Here's an example of what could happen:
...
> These were just examples that I could think of. And, you could
> probably come up with more examples yourself, and I'm sure Ann could
> think of more, unless she proves me wrong.

The most likely case is that you start a copy, and while its going on,
somebody starts a transaction, writes some data, and commits the
transaction. Even if the TIP and the data are all copied, the copy of
the header page - page 0 - is older than that newest transaction, so its
idea of the next available transaction number is actually a committed
transaction. Not at all healthy.

Regards,


Ann