Wir hatten in unterschiedlichen Support-Foren immer wieder Zeos-User zu betreuen, deren Anwendung und Datenbank über die Zeit langsamer wurden. Grund war, dass Zeos, zumindest bis zur Version 6 (würde ein Auge darauf werfen, ob sich da was in V7 getan hat!), keine Hard-Commits unterstützt, außer wenn man halt die
DB-Connection schließt. D.h. ein Transaktion Commit hatte ein COMMIT
RETAINING zur Folge. Dies wiederum hat zur Folge, wenn man sich die HeaderPage der Datenbank mit z.b. "gstat -h" ansieht, dass die Kluft zwischen OIT/OAT und Next Transaction immer größer wird und unter anderem auch die Garbage Collection daran hindert, mit älteren Datensatzversionen aufzuräumen. Ein Backup/Restore-Zyklus bringt die Datenbank dann wieder in Schuss, bis dann halt nach einer gewissen Dauer die Probleme wieder kommen und so weiter ...
Generell ist zu sagen, dass man solchen Dingen perfekt mit der Trace
API (in Kombination mit Tool-Support, ohne hier nun Werbung machen zu wollen
) in Firebird 2.5 auf die Schliche kommt. Diese Form des Black-Box-Debuggings hat mittlerweile schon so manches Softwarehaus in Bedrängnis gebracht, zumindest wo ich hinzugezogen wurde.