DB2 Version 10.1 for Linux, UNIX, and Windows

DB2 log records

This section describes the structure of the DB2® log records returned by the db2ReadLog API when the iFilterOption input value DB2READLOG_FILTER_ON is specified. Only log records marked as propagatable (propagatable flag is set in the log record header) are returned when this value is used. Only propagatable log records are documented. All other log records are intended for only IBM internal use and are therefore not documented.

When a transaction invokes a log writing utility or performs writable work against a table with the DATA CAPTURE CHANGES attribute set to ON, the transaction is marked as propagatable. Only propagatable transactions have their transaction manager log records marked as propagatable.

All DB2 log records begin with a log manager header. This header includes the total log record size, the log record type, and transaction-specific information. It does not include information about accounting, statistics, traces, or performance evaluation. For more information, see Log record header.

Log records are uniquely identified by a log record identifier (LRI). Because log sequence numbers (LSNs)-64-bit identifiers that determine the order of the operations that generated the log records-are generated independently on each member and there are multiple log streams, it is possible to have duplicate LSN values across different log streams. An LRI is used to identify log records across log streams; each log record in any log stream in the database is assigned a unique LRI. Use the db2pd command to determine which LRI is being processed by a recovery operation.

The log records written by a single transaction are uniquely identifiable by a field in the log record header. The unique transaction identifier is a six-byte field that increments by one whenever a new transaction is started. All log records written by a single transaction contain the same identifier.

Table 1. DB2 log records
Type Record name Description
Data manager Initialize table log record New permanent table creation
Data manager Import replace (truncate) log record Import replace activity
Data manager Activate not logged initially log record Alter table activity that includes the ACTIVATE NOT LOGGED INITIALLY clause
Data manager Rollback insert log record Rollback row insert
Data manager Reorg table log record REORG committed
Data manager Create index, drop index log records Index activity
Data manager Create table, drop table, rollback create table, rollback drop table log records Table activity
Data manager Alter table attribute log record Propagation, check pending, and append mode activity
Data manager Alter table add columns, drop columns, rollback add columns, rollback drop columns log record Adding columns to existing tables
Data manager Alter column attribute log record Columns activity
Data manager Undo alter column attribute log record Column activity
Data manager Insert record, delete record, rollback delete record, rollback update record log records Table record activity
Data manager Insert record to empty page, delete record to empty page, rollback delete record to empty page, rollback insert record to empty page log records Multidimensional clustered (MDC) table activity
Data manager Update record log record Row updates where storage location not changed
Data manager Rename of a table or schema log record Table or schema name activity
Data manager Undo rename of a table or schema log record Table or schema name activity
Large object (LOB) manager Add LOB data and add LOB amount log record structure LOB record activity
Long field manager Add/delete/non-update long field record log records Long field record activity
Transaction manager Normal commit log record Transaction commits
Transaction manager Heuristic commit log record Indoubt transaction commits
Transaction manager MPP coordinator commit log record Transaction commits. This is written on a coordinator node for an application that performs updates on at least one subordinator node.
Transaction manager MPP subordinator commit log record Transaction commits. This is written on a subordinator node.
Transaction manager Normal abort log record Transaction aborts
Transaction manager Heuristic abort log record Indoubt transaction aborts
Transaction manager Local pending list log record Transaction commits with a pending list existing
Transaction manager Global pending list log record Transaction commits (two-phase) with a pending list existing
Transaction manager XA prepare log record XA transaction preparation in two-phase commit environments
Transaction manager MPP subordinator prepare log record MPP transaction preparation in two-phase commit environments. This log record only exists on subordinator node.
Transaction manager TM prepare log record Coordinated transaction preparation as part of a two-phase commit, where the database is acting as the TM database.
Transaction manager Backout free log record Marks the end of a backout free interval. The backout free interval is a set of log records that is not to be compensated if the transaction aborts.
Transaction manager Application information log record Information about the application that started the transaction
Transaction manager Federated Prepare Log Record Information about the federated resource manager involved in the transaction
Utility manager System catalog migration begin log record System catalog migration starts
Utility manager System catalog migration end log record System catalog migration completes
Utility manager Load start log record Table load starts
Utility manager Backup end log record Backup activity completes
Utility manager Table space rolled forward log record Table space rollforward completes
Utility manager Table space roll forward to point in time starts log record Marks the beginning of a table space rollforward to a point in time
Utility manager Table space roll forward to point in time ends log record Marks the end of a table space rollforward to a point in time
Relation manager DDL statement log record DDL activity
Relation manager Undo DDL statement log record Undo log record for DDL activity
Relation manager Partition information log record Partition activity