so

if I run gbak -g every night I should also run gfix​, but if I run gbak
without -g I don't need gfix (but it helps a little) ?

Nick Upson, Telensa Ltd, Senior Operations Network Engineer
direct +44 (0) 1799 533252, support hotline +44 (0) 1799 399200

On 20 February 2015 at 18:36, Ann Harrison [email protected]
[firebird-support] <[email protected]> wrote:

>
>
>
> Thomas,
>
> Gbak backup removes all unnecessary back versions and all rolled back
> changes, unless it is run with the -g switch. That switch is provided for
> those cases where a database cleanup is not needed. Examples include the
> case when the database will immediately be replaced by a restored version,
> upgrading the ODS, for example, or when a sweep has just been run.
>
> What gbak does not do that sweep does it change the identity of the oldest
> interesting transaction. Unlike the oldest active transaction, the oldest
> interesting transaction is not critical for performance, but having it
> correct does make things slightly better. The oldest interesting
> transaction is the first transaction, still visible in the database, that
> did not commit. Any data created by older transactions is known to have
> been created by committed transactions. A transaction reading it doesn't
> have the check the state of the creating transaction. When accessing data
> created by a more recent transaction, the reader must test a bit in a bit
> vector to determine the state of the creating transaction. Pretty cheap.
>
> During a sweep, gfix notes the oldest transaction whose work it could not
> clean up. At the end of the sweep, that becomes the oldest interesting
> transaction.
>
> In the absence of the -g switch or the attachment parameter that
> implements that switch, any process that reads all the data in a database
> removes all unnecessary old or rolled back record versions, either itself
> or through the proxy of the garbage collect thread. Only gfix changes the
> recorded oldest interesting transaction.
>
> Cheers,
>
> Ann
>
>  
>

Reply via email to