Truncation of transaction log
Posted in 1991
Path: emory!att!att!cbnewsk!barton From: barton@cbnewsk.att.com (jim.m.barton) Newsgroups: comp.databases.informix Keywords: transaction log truncation Message-ID: <1991Oct29.182739.16249@cbnewsk.att.com> Date: 29 Oct 91 18:27:39 GMT Organization: AT&T Bell Laboratories We are currently doing development on a real-time system that uses INFORMIX 4.00 SE on an AT&T 3B2/1000 (UNIX 3.2.2). The problem is that our transaction log grows without bounds; and under projected peak load conditions on our system our log could fill up rapidly. I suppose a solution is to have a daemon or cron cleanup process that could periodically monitor the transaction log and truncate it if it gets "too big", but this poses a problem for a real-time system such as ours that has daemon processes that could be doing database work at any point in time. Unlike an interactive system we cannot just tell users to get off the system so we can do database administration, and we cannot just stop our daemons if they are currently doing some active work. It looks like a solution might be for the cleanup process to inform the daemons to close the database, (probably through a signal), and wait until cleanup is done with its work, (probably communicated through a semaphore or another signal). Once all the daemons have closed the database, (probably determined by some acknowledgement from each daemon or until an exclusive open of the database is successful by cleanup), cleanup could truncate the log and inform the daemons that it is done. Is there a simpler solution to truncating the transaction log in a real-time system? I am assuming, of course, that I cannot just truncate the log while other processes are doing database work. Is this a good assumption? I would be interested in hearing about how others of you have addressed this problem. Thanks, Jim Barton