IP Library Granted Patent US 9,804,936
Granted Patent B1
US 9,804,936 · App. 15/362,857 · Granted Oct 31, 2017

Relational database recovery

Inventors: Jeffrey Berger (San Jose, CA); William J Franklin (San Ramon, CA); Laura M. Kunioka-Weis (Morgan Hill, CA); Thomas Majithia (San Jose, CA); Haakon P. Roberts (San Jose, CA)
Assignee: International Business Machines Corporation
G06F11/1469G06F11/1448G06F11/1471G06F17/30368G06F17/30595
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,804,936
App. No.
15/362,857
Granted
Oct 31, 2017
Kind
B1
Abstract

A database recovery and index rebuilding system involves at least one processor coupled to memory, storage, a database, and sets of image copies and post-backup updates. When database reconstruction is required, the processor will i) access the image copies; ii) access post-backup updates to be re-applied; iii) without regard to “ii)”, read data pages to be recovered into objects; iv) concurrently with “iii)”, retrieve and sort log records from the post-backup updates; v) as the data pages to be recovered are read in “iii)”, apply the sorted log records; vi) as “e)” completes and concurrently with “v)”, extract and sort index keys; vii) concurrently with “vi)” and on an individual recovered page basis, write the recovered data pages into the database; viii) when all index keys have been extracted and sorted, initiate database index rebuilds; and ix) when rebuilt, store the rebuilt indexes without regard to whether “vii)” has completed.

Claims (18)

1. A database recovery and index rebuilding system comprising:

A) at least one processor coupled to memory so that that the processor can read from and write to the memory; and

B) non-transitory storage, having stored therewithin

i) program instructions that can be accessed and executed by the processor to effect database recovery and index rebuilding, and

ii) a relational database system, wherein the relational database system includes

a) a database,

b) a set of image copies, and

c) a set of post-backup updates, wherein the post-backup updates comprise log records each having an associated an identifier of an object to which each log record applies, an identifier of a data page to which each log record applies, and a timestamp indicating when each log record was made;

C) wherein, when reconstruction of the database is required, the program instructions will be executed by the processor and will cause the processor to

i) access the image copies as recovery bases;

ii) access a range of post-backup updates, within the set of post-backup updates, that must be re-applied to data from the image copy recovery bases in order to reconstruct the database;

iii) without regard to step “ii)”, read data pages to be recovered from the image copy recovery bases into objects in the memory;

iv) concurrently with step “iii)”, retrieve, into the memory, all log records from the post-backup updates applicable to the data pages to be recovered and sort the retrieved log records by object, data page number and timestamp;

v) as the data pages to be recovered are read into the objects in step “iii)”, apply the sorted log records to their respective data pages, in timestamp order, until all of the sorted log records have been applied to all of their respective data pages;

vi) as the applying of the respective sorted log records to the data pages in step “e)” completes for individual data pages and concurrently with the performing of step “v)” with respect to specific data pages for which the applying is not yet complete, extract and sort index keys, from the individual data pages for which the applying is complete, until all the index keys have been extracted from all the individual data pages and sorted;

vii) concurrently with step “vi)” and on an individual recovered page basis, write the recovered individual data pages, for which the extraction of the index keys is complete, into the database in the non-transitory storage;

viii) when all index keys have been extracted and sorted from all of the recovered individual data pages, initiate a rebuild of database indexes using the sorted index keys; and

ix) when the database indexes have been rebuilt using the sorted index keys, write the rebuilt indexes to the storage without regard to whether step “vii)” has completed.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2016
From: BERGER, JEFFREY; FRANKLIN, WILLIAM J.; ROBERTS, HAAKON P.; KUNIOKA-WEIS, LAURA M.; MAJITHIA, THOMAS
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 040449/0624 →
Continuity (1)
Continuation 15184038 · Jun 16, 2016