Home | Previous Page | Next Page   Disk, Memory, and Process Management > Shared Memory > Flushing Data to Disk >

Flushing the Logical-Log Buffer

The database server uses the shared-memory logical-log buffer as temporary storage for records that describe modifications to database server pages. From the logical-log buffer, these records of changes are written to the current logical-log file on disk and eventually to the logical-log backup media. For a description of logical logging, refer to Logical Log.

Five events cause the current logical-log buffer to flush:

The following sections discuss each of these events in detail.

After a Transaction Is Prepared or Terminated in a Database with Unbuffered Logging

The following log records cause flushing of the logical-log buffers in a database with unbuffered logging:

For a comparison of buffered versus unbuffered logging, refer to the SET LOG statement in the IBM Informix Guide to SQL: Syntax.

When a Session That Uses Nonlogging Databases or Unbuffered Logging Terminates

Even for nonlogging databases, the database server logs certain activities that alter the database schema, such as the creation of tables or extents. When the database server terminates sessions that use unbuffered logging or nonlogging databases, the logical-log buffer is flushed to make sure that any logging activity is recorded.

When a Checkpoint Occurs

For a detailed description of the events that occur during a checkpoint, refer to Checkpoints.

When a Page Is Modified That Does Not Require a Before-Image in the Physical-Log File

When a page is modified that does not require a before-image in the physical log, the logical-log buffer must be flushed before that page is flushed to disk.

Home | [ Top of Page | Previous Page | Next Page | Contents | Index ]