2-34 IBM Informix OnLine Database Server Administrator’s Guide
tbundo Daemon
tbundo Daemon
The tbundo daemon is called by the tbinit 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
tbundo daemon 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 in tbstat -u output.
The tbundo daemon is not started until needed. Until it is started, tbundo
appears in 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 to tbundo is visible residually in the display of user
processes until tbundo is called on again, when it receives the next sequential
pid number. The pid number that appears in the user process display has no
relation to the number of times that tbundo has been called. Some UNIX
systems are unable to rename processes. In this situation, the tbundodaemon
appears as a second invocation of tbinit.
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 the tbstat -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
daemons in 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.