Subject | Re: [firebird-support] difference between gbak and gfix -sweep ? |
---|---|
Author | Ann W. Harrison |
Post date | 2010-02-16T15:40:13Z |
svanderclock wrote:
other is that gfix -sweep will reset the "oldest interesting
transaction", which is the number of the oldest transaction
that did not commit - normally the oldest transaction in the
system that made changes and rolled back. That transaction
is "interesting" because all records created by older transactions
are known to be committed. When Firebird reads records from
newer transactions, it has to check the transaction status.
Because sweep reads every record and removes rolled back record
versions, it can reset the "oldest interesting". Note that if
you have transactions left in "limbo" - half way through a two
phase commit - they are not cleaned up and remain interesting
after a sweep.
Cheers,
Ann
>One difference is that gbak will produce a backup file. The
> what the difference between doing
> gbak {without the -g inhibit garbage collection} and gfix -sweep (except the fact that gback backup also the data) ?
>
other is that gfix -sweep will reset the "oldest interesting
transaction", which is the number of the oldest transaction
that did not commit - normally the oldest transaction in the
system that made changes and rolled back. That transaction
is "interesting" because all records created by older transactions
are known to be committed. When Firebird reads records from
newer transactions, it has to check the transaction status.
Because sweep reads every record and removes rolled back record
versions, it can reset the "oldest interesting". Note that if
you have transactions left in "limbo" - half way through a two
phase commit - they are not cleaned up and remain interesting
after a sweep.
Cheers,
Ann