2-34 IBM Informix OnLine Database Server Administrator’s Guide

tbundo Daemon

tbundo Daemon
The tbundo daemon is called by thetbinit daemon to perform cleanup for
database server processes that die abnormally. As part of cleanup,tbundo
rolls back incomplete transactions and releases shared-memory resources
(such as locks and buffers) held by the server process when it died. The
tbundodaemon also removes the server process from any buffer wait lists. If
a server process had begun to commit a transaction before the process died
prematurely,tbundo detects that the commit is partially accomplished and
the daemon completes the commit.
The tbundo daemon occupies the second entry in the shared-memory user
table, which is represented by the second entry intbstat -u output.
The tbundo daemon is not started until needed. Until it is started,tbundo
appearsin the user table with a process identification number (pid) of 0. Once
called,tbundo receives the next pid from UNIX. After cleanup is complete,
the old pid assigned totbundo is visible residually in the display of user
processesuntil tbundo is called on again, when it receives the next sequential
pidnumber. The pid number that appears in the user process display has no
relation to the number of times thattbundo has been called. Some UNIX
systemsare unable to rename processes. In this situation, the tbundo daemon
appears as a second invocation oftbinit.
tbpgcl Daemon
Page-cleaner daemons, named tbpgcl, are maintained to flush dirty pages
from the shared-memory buffer pool to disk. Page-cleaner daemons are
identified in thetbstat -u output by an F that appears in the fourth position
of the user entry.
As OnLine administrator, you determine the number of page-cleaner
daemonsin your system (specified as CLEANERS in the configuration file). If
you choose to allocate zero page-cleaner daemons,tbinit performs all page
flushing. If you choose a value greater than zero,tbinit acts as the master
page cleaner, scheduling the work of the page cleaners.