2-44 IBM Informix OnLine Database Server Administrator’s Guide
Managing Shared-Memory Resources
OnLineresolves the dilemma by forcing an abort. When OnLine comes back
online,fast recovery occurs automatically. Fast recovery returns OnLine to a
consistent state through the last completed transaction.
(Referto page 2-32for instructions on the proper way to kill a database server
process. Refer topage 4-39 for further information about fast recovery.)
OnLine Timestamps
OnLineuses a timestamp to identify a time when an event occurred relative
to other events of the same kind. The timestamp is a 4-byte integer that is
assigned sequentially. The timestamp is not a literal time that refers to a
specific hour, minute, or second. When two timestamps are compared, the
one with the lower value is determined to be the older.
Each disk page has one timestamp in the page header and a second
timestamp in the last four bytes on the page. The page-header and page-
ending timestamps are synchronized after each write, so they should be
identical when the page is read from disk. Each read compares the times-
tampsas a test for data consistency. If the test fails, an error is returned to the
OnLine user process, indicating either that the disk page was not fully
written to disk, or that the page has been partially overwritten on disk or in
sharedmemory. (Refer to page 4-6 for further information about consistency-
checking errors and corrective actions.)
Refer topage 2-120 for further information about the layout of timestamp
information on a disk page.
In addition to the page-header and page-ending timestamp pair, each disk
pagethat contains a blob also contains one member of a second pair of times-
tamps.This second pair of timestamps is referred to as the blob timestamp pair.
Theblob timestamp that appears on the disk page is paired with a timestamp
thatis stored with the forward pointer to this blob segment, either in the data
row (with the blob descriptor) or with the previous segment of blob data.
(Referto page 2-143 for moreinformation about blob storage in the data row
and the blob descriptor.)