Subject Why is my "Oldest Active" so low?
Author Adrian Pronk
The other day, I asked about database performance and someone implied that
the large difference between the "Oldest active" transaction and "Next
transaction" figures in gstat were a cause for concern.

Below is the output of gstat for our production database running under IB
6.0, Classic Server, Linux. Even though we do a sweep each day, the
"Oldest active" transation never moves. Is this a problem?

Our application consists of a couple of Server processes that maintain a
connection to the database. They never shut down, and occasionally do the
odd bit of database activity.
I *believe* they commit after updates, but since they use the JBuilder
"DataSet" classes, anything could be happening.

What is the starting point of a transaction? Is it the time of the
previous commit? Or the time of the first insert/update SQL statement? Or
is it the time of the first SQL statement of any type?

Database "/xxxxx.gdb"

Database header page information:
Flags 0
Checksum 12345
Generation 1391697
Page size 4096
ODS version 10.0
Oldest transaction 142
Oldest active 143
Oldest snapshot 142
Next transaction 1391678
Bumped transaction 1
Sequence number 0
Next attachment ID 0
Implementation ID 19
Shadow count 0
Page buffers 12000
Next header page 0
Database dialect 1
Creation date Feb 26, 2001 12:47:50
Attributes force write

Variable header data:
Sweep interval: 0
Continuation file: /data/1/xxxxx01.gdb
Last logical page: 262144