Browse Prior Art Database

Page Recovery Using Multiple Logs in a Data Sharing Environment

IP.com Disclosure Number: IPCOM000101668D
Original Publication Date: 1990-Aug-01
Included in the Prior Art Database: 2005-Mar-16
Document File: 5 page(s) / 218K

Publishing Venue

IBM

Related People

Mohan, C: AUTHOR [+3]

Abstract

This article describes a technique to perform data base recovery in a multisystem environment where all the disks containing the data bases are shared and each system has its own log and buffer pool. Each system, when updating a page, assigns the log sequence number (LSN) independently for the log record that it writes. The LSN, for example, may be the logical address of the log record in the log file. Many data base recovery algorithms, like the method introduced in (1), store in the header of each of the pages of the data base the LSN of the log record describing the most recent update to that page. The header field of the page is called PAGE_LSN. The recovery algorithms expect the LSN to be a monotonically increasing number.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 28% of the total text.

Page Recovery Using Multiple Logs in a Data Sharing Environment

       This article describes a technique to perform data base
recovery in a multisystem environment where all the disks containing
the data bases are shared and each system has its own log and buffer
pool.  Each system, when updating a page, assigns the log sequence
number (LSN) independently for the log record that it writes.  The
LSN, for example, may be the logical address of the log record in the
log file.  Many data base recovery algorithms, like the method
introduced in (1), store in the header of each of the pages of the
data base the LSN of the log record describing the most recent update
to that page. The header field of the page is called PAGE_LSN.  The
recovery algorithms expect the LSN to be a monotonically increasing
number.  After a system failure, a page's state is brought up to date
by applying those log records whose LSN is greater than the page_LSN
in the disk version of the page.  However, in the shared disks
environment, the LSN is not necessarily a monotonically increasing
number across systems because each system has its own log and assigns
the LSN independently.  This may result in incorrect recovery. We
describe a technique to solve this problem.  The presented technique
involves the following: (1) use the LSN field in the page as an
update sequence number (USN) which is incremented by one during every
update, and (2) save the USN in the log record.  The recovery
algorithm would redo the update of a log record if the page's USN is
less than the log record's USN.  The key advantages of using this
technique, when a single system data base management system is
extended to operate in a multi-system environment with shared disks,
are:
o    No data or log migration is needed.  This saves the migration
cost of large data bases (tens of gigabytes), and the migration of
the log code and log files, for the users.
o    A merged log is not required for restart recovery. This saves
the cost of developing a realtime log merge subsystem.

      The disclosure is organized as follows.  First we discuss the
problems involved in assigning and using LSNs in the Shared Disk (SD)
environment.  Then we describe a technique which solves the problems.
Finally, we point out the advantages of the technique.

      PROBLEMS In the SD environment, where each system has its own
log and the LSN is assigned independently in each system, the
following problems related to the page_LSN exist.  The page_LSN plays
a key role in the recovery of a page.  Below, we list some of the
points relating to LSNs and the questions that arise in the SD
environment.
1.   Assigning page_LSN to a reallocated page In a data base system,
such as DB2*, when a previously deallocated page is allocated, it is
formatted in the buffer pool.  That is, it is not read from disk.
This saves the I/O for reading a totally empty page. Currently,
during such formatting, the page_LSN...