Subject Re: DB-file growth VERY rapidly!??
Author _a_x_e_
--- In ib-support@y..., Svein Erling Tysvær
<svein.erling.tysvaer@k...> wrote:
> Alex,

Hello Sven,

> your problem has nothing to do with your field types. As Lester and Aage
> has told you, there is an old transaction hanging in there somewhere. As
> long as that old transaction exists, Firebird will have to retain
> information about old values of every record. I.e.
>
> 1) You start the first transaction (the one causing you problems)
> 2) This transaction does something
> 3) Start another transaction
> 4) Update records
> 5) Commit the other transaction
> 6) Start a third transaction 10 minutes later
> 7) Update records
> 8) Commit the third transaction, etc.
>
> But this means that Firebird still has to keep a copy of old values,
> because the changes you made are not supposed to be seen by your first
> transaction (notice that the first transaction is still open). And
Firebird
> only cares about the oldest active transaction, although it could have
> dropped information about changes made in the second transaction if the
> records were changed again in the third transaction, it doesn't. Old
> records will never be removed until the first transaction commits or
rolls
> back and your database grows exceedingly at every update.


ok, I have understood this, but in my eyes this can't be the problem,
because with every transaction (every 10 minutes) I write a record in
a second table for logging (it is the same transaction in which the
2038 data records are updated), if the transaction would not be
commited/rollbacked, the record in the logging-table would never
appear, but I can see ALL records in this logging table - every 10 min
one record, with timestamp - therefore the transaction must be
committed correctly.

by the way, what can I do to "kill" a hanging transaction, sweeping
and restarting server&database does not help!



>To confirm that
> this is the case, check your database statistics. Let the database
grow a
> bit, and then check the gap between the Oldest Active Transaction
and Next
> Transaction. My assumptions are correct if this gap increases every ten
> minutes. The only way to solve your problem, it to find your blocking
> transaction.

ok, will try your advice and have a look at stats Oldest Active
Transaction.

>
> HTH,
> Set