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

User Processes and Critical Sections

User Processes and Critical Sections
Acritical section is a section of OnLine code that comprises a set of disk
modificationsthat must be performed as a single unit; either all of the modifi-
cations must occur or none can occur. OnLine designates critical sections to
maintain physical consistency in a way that is analogous to the way that
transactions maintain logical consistency.
Important: If any user process dies while it is in a critical section, OnLine initiates
an abort by executing an immediate shutdown.
The abort is required to maintain the physical and logical consistency of
OnLinedata. An OnLine user process in a critical section is probably holding
shared-memory resources needed to modify data. If the user process dies
prematurely, it might be unable to release all these resources.
Withinthe space of a critical section, it is impossible for OnLine to determine
which shared-memory resources should be released and which changes
shouldbe undone to return all data to a consistent point. Therefore, if a user
processdies while it is in a critical section, OnLine immediately takes action
to return all data to the last known consistent point.
Fast recovery is the procedure OnLine uses to quickly regain physical and
logicaldata consistency up to and including the last record in the logical log.
OnLineinitiates fast recovery indirectly by starting an immediate shutdown.
After immediate shutdown, the subsequent startup initiates fast recovery
and returns OnLine data to physical and logical consistency. (Refer to
page 4-39 for further information about fast recovery.)