Pages in error and the logical page list

The logical page list (LPL) contains a list of pages (or a page range) that could not be read or written for some reason. Reasons could include transient disk read and write problems that can be fixed without redefining new disk tracks or volumes.

Specific to data sharing, the LPL also contains pages that could not be read or written for must-complete operations, such as a commit or a restart, because of some problem with the coupling facility. For example, pages can be added if there is a channel failure to the coupling facility or disk, or if locks are held by a failed subsystem, disallowing access to the page that you want.

The logical page list is kept in the SCA and is thus accessible to all members of the group.

If an application tries to read data from a page that is on the logical page list, it receives a resource unavailable SQLCODE. In order to be accessible, pages in the logical page list must first have their logged changes applied to the page set.

To verify the existence of logical page list entries, issue the DISPLAY DATABASE command. The LPL option of DISPLAY DATABASE can then be used to see the specific list of pages:

Begin general-use programming interface information.
-DB1A DIS DB(DSNDB01) SPACENAM(*) LIMIT(*) LPL ONLY

Output similar to the following is produced:

DSNT360I -DB1A
***********************************************************
DSNT361I -DB1A *  DISPLAY DATABASE SUMMARY
               *  GLOBAL LPL
DSNT360I -DB1A
***********************************************************
DSNT362I -DB1A    DATABASE = DSNDB01  STATUS = RW
               DBD LENGTH = 8000
DSNT397I -DB1A
NAME     TYPE PART STATUS             LPL PAGES
-------- ---- ---- ------------------ ------------------
DBD01    TS        RW,LPL,GRECP       000001,000004,00000C,000010
----                                  000039-00003C
SYSLGRNX TS        RW,LPL,GRECP       000000-FFFFFF
******* DISPLAY OF DATABASE DSNDB01  ENDED      **********************
DSN9022I -DB1A DSNTDDIS 'DISPLAY DATABASE' NORMAL COMPLETION
End general-use programming interface information.

Automatic LPL recovery is attempted when pages are added to the logical page list. Automatic LPL recovery is also performed when you start the table space, index, or partition by using the START DATABASE command with ACCESS(RW) or ACCESS(RO).

Note: When a table space or partition is placed in the LPL because undo processing is needed for a NOT LOGGED table space, automatic LPL recovery is not initiated at restart time or during rollback processing. A -START DATABASE command identifying this table space will have no effect on the LPL status.

Physical read and write errors

In some previous releases, Db2 recorded physical read and write errors in an error page range. This remains true. however, if a read or write problem is of undetermined cause, the error is first recorded in the logical page list. If recovery from the logical page list is unsuccessful, the error is then recorded in the error page range.