2-54 IBM Informix OnLine Database Server Administrator’s Guide
Shared-Memory Internal Tables
OnLine Transaction Table
The transaction table tracks all transactions in the OnLine system.
The transaction table specifically supports the
X/Open environment, inwhich
the concept of a global transaction replaces the traditional UNIX architecture
of one application tool process associated with one database server process.
In a global transaction, more than one database server process can be enlisted
to perform work on behalf of a single application tool process. That is, the
transaction becomes the central structure instead of the user process. Support
for the X/Open environment requires IBM Informix TP/XA.
Within the OnLine environment, the concept of transaction has been added
to the traditional UNIX architecture. Each OnLine transaction is considered to
be associated with a single user process. Some information that had been
tracked in the user table in earlier releases is now tracked in the transaction
table. Tracking information derived from both the transaction and user tables
appears in the tbstat -u display, although the information is organized a little
differently. For further information about using the tbstat -u display to track
transactions, refer to page 9-58.
OnLine User Table
The user table tracks all processes that attach to shared memory.
Every OnLine database server maintains at least two entries in the user table
while running. The first entry in the user table is reserved for tbinit, the
master daemon. The second entry in the user table is reserved for tbundo, the
daemon process that is responsible for rolling back transactions associated
with a process that has died prematurely or has been killed. The tbundo
daemon is forked from tbinit.InUNIX systems that do not allow processes to
be renamed, the tbundo daemon appears as a second tbinit daemon.
In the user table, and in tbstat -u output, the process ID for the tbundo
daemon displays as 0 until the process is actually needed. When tbundo is
started, the actual user process ID is used.
The next entries in the user table belong to the page-cleaner daemons, tbpgcl,
if any daemons are specified.
The database server processes currently running are the next entries.