Subject Re: DB-file growth VERY rapidly!??
Author _a_x_e_
Hello Sven,

here are three page-header-statistics, during this three update runs
the DB-file-size increased by 60kb per run. I don't know exactly if Ia
see it right, transaction 105 is hanging!??

Service started at 12.02.2002 12:18:06

Database header page information:
Flags 0
Checksum 12345
Generation 12686
Page size 4096
ODS version 10.0
Oldest transaction 104
Oldest active 105
Oldest snapshot 105
Next transaction 12680
Bumped transaction 1
Sequence number 0
Next attachment ID 0
Implementation ID 19
Shadow count 0
Page buffers 0
Next header page 0
Database dialect 3
Creation date Feb 11, 2002 19:33:14
Attributes force write

Variable header data:
Sweep interval: 20000
*END*

Service ended at 12.02.2002 12:18:06

#################

Service started at 12.02.2002 12:26:10

Database header page information:
Flags 0
Checksum 12345
Generation 12814
Page size 4096
ODS version 10.0
Oldest transaction 104
Oldest active 105
Oldest snapshot 105
Next transaction 12808
Bumped transaction 1
Sequence number 0
Next attachment ID 0
Implementation ID 19
Shadow count 0
Page buffers 0
Next header page 0
Database dialect 3
Creation date Feb 11, 2002 19:33:14
Attributes force write

Variable header data:
Sweep interval: 20000
*END*

Service ended at 12.02.2002 12:26:10

#################

Service started at 12.02.2002 12:39:18

Database header page information:
Flags 0
Checksum 12345
Generation 12975
Page size 4096
ODS version 10.0
Oldest transaction 104
Oldest active 105
Oldest snapshot 105
Next transaction 12969
Bumped transaction 1
Sequence number 0
Next attachment ID 0
Implementation ID 19
Shadow count 0
Page buffers 0
Next header page 0
Database dialect 3
Creation date Feb 11, 2002 19:33:14
Attributes force write

Variable header data:
Sweep interval: 20000
*END*

Service ended at 12.02.2002 12:39:18

#################

--- In ib-support@y..., Svein Erling Tysvær
<svein.erling.tysvaer@k...> wrote:
> Alex,
> 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. 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.
>
> HTH,
> Set