
2-72 IBM Informix OnLine Database Server Administrator’s Guide
What Happens During a Checkpoint
What Happens During a Checkpoint
The checkpoint procedure is prompted by any one of four conditions (refer
topage 2-70). This descriptionbeginswhenthe checkpoint-requested flag isset
by an OnLine user process after one of the four conditions is found to exist.
The checkpoint-requested flag wakes the tbinit daemon if it is not already
awake. Once this flag is set, OnLine user processes are prevented from
entering portions of code that are considered critical sections. (Refer to
page 2-27.) User processes that are within critical sections of code are
permitted to continue processing.
After allprocesses haveexited from critical sections, tbinit resets the shared-
memory pointer from the current physical log buffer to the other buffer and
flushes the buffer. After the buffer is flushed, tbinit updates the shared-
memorystructurethatcontainsatimestampindicatingthemost-recentpoint
at which the physical log buffer was flushed.
Next,tbinitortbpgcl(page-cleaner)daemonsflushall modified pages inthe
shared-memory pool. This flushing is performed as a chunk write. (Refer to
page 2-77 for further information about chunk writes.)
Afterthe modified pages havebeenwrittentodisk,tbinit writes acheckpoint-
completerecordinthelogicallogbuffer.Afterthisrecordiswritten,thelogical
log buffer is flushed to disk.
The tbinit daemon next begins writing all configuration and archive infor-
mation to the appropriate reserved page, whether or not changes have
occurred since the last checkpoint. (Refer to page 2-95 for more information
about the reserved pages.)
When dbspaces, primary chunks, or mirror chunks are added or dropped
from OnLine, the changes are recorded in descriptor tables in shared
memory.If changes haveoccurred since thelast checkpoint, tbinitwritesthe
descriptor tables from shared memory to the appropriate reserved page in
the root dbspace. Otherwise, tbinit ignores the reserved pages that describe
thedbspaces, primary chunks, andmirrorchunks. The tbinit daemonwrites
all checkpoint statisticstothe appropriate reserved page intherootdbspace.
Next, tbinit looks for logical log files that can be freed (status U-L) and frees
them. (Refer topage 3-41.)Last, the checkpoint-completerecordis written to
the OnLine message log.
Comentarios a estos manuales