Patent EP0336546A2 successfully refreshed from Google Patents.
← Back to Patent Explorer
EP0336546A2 Expired / Lapsed EP ⏱️ 0.0 years remaining

System and method for data recovery in a database on a computer system after an error in the system

Assignee: International Business Machines Corp
•
Filing: 1989-02-24
•
Granted: —
•
Expires: 2009-02-24
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract System and method for reducing data loss in a database system during I/O errors and power failure during non-atomic writes to media in a transaction management system using write-ahead logging protocol. A recovery log is written during forward processing. On system restart processing, the log is traversed and a REDO executed. Recovery is effected from detected incomplete log writes or log write failures and uncommitted transactions are undone. A technique is provided in which files having I/O errors are identified, whereby subsequent restart operations are prevented from accessing these files. In one embodiment index files with such error are renamed, serving to indicate that corresponding original files contain errors, and the error index files are automatically rebuilt whereby I/O error on the files causes no data loss. The index file rebuild does not invalidate access plans related to the failed index.

Inventors

  • 👤 Linda Carolyn Elliott
  • 👤 Gary Randall Horn
  • 👤 Lloyd Eugene Jodan, Iii
  • 👤 Frank Eliot Levine
  • 👤 Geng-Fong Shih
  • 👤 William Walter Myre, Jr.

Bibliographic Details

Application Number —
Jurisdiction EP
Data Source google_patents
Last Synchronized 2026-10-29 14:04
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/14; G06F11/1471; G06F2201/00; G06F2201/87; Y; Y10; Y10S; Y10S707/00; Y10S707/99951; Y10S707/99952; Y10S707/99953

Claims Analysis

Total Claims: 23
Claim 1
Independent Claim 86 words
A method of operating a computer system for recovering a database after an I/O error in the system, comprising the steps of: writing log records during normal forward processing to a recovery log; traversing across said log during RESTART routine processing while executing a REDO routine of transactions recorded in said log; detecting said incomplete or failed log write; executing a recovery routine; executing an UNDO routine of uncommitted transactions; identifying files having said I/O error; and preventing a subsequent RESTART routine from accessing said files.
Claim 2
Independent Claim 86 words
A method of operating a computer system for recovering a database after an I/O error in the system, comprising the steps of: writing log records during normal forward processing to a recovery log; traversing across said log during RESTART routine processing while executing a REDO routine of transactions recorded in said log; detecting said incomplete or failed log write; executing a recovery routine; executing an UNDO routine of uncommitted transactions; identifying files having said I/O error; and preventing a subsequent RESTART routine from accessing said files.
Claim 3
Dependent Claim 70 words
A method according to claim 1 wherein a plurality of said log records comprises a log record page, a maximum I/O page size comprises a memory page, and wherein said step of writing said log records further comprises: detecting when the size of said log record page is substantially equal to that of said memory page; and writing a substantially full log page to an nth page of said log.
Claim 4
Dependent Claim 60 words
A method according to claim 2 wherein said step of writing said log records further comprises the steps of: detecting when the size of next ones of said log record pages is less than that of said memory page; and, in response thereto, alternating writing said next ones of said log record pages to alternating page locations in said log.
Claim 5
Independent Claim 34 words
A method according to any one of claims 1 to 3 further comprising the step of: continuing said RESTART routine while preventing operations on said identified I/O error files during said continued RESTART routine.
Claim 6
Independent Claim 27 words
A method according to any one of claims 1 to 4 wherein said step of identifying files comprises the steps of renaming said files having I/O error.
Claim 7
Dependent Claim 68 words
A method according to claim 5 further including the steps of: storing in a file indicators of the said renamed files that identify the files as error files; accessing said data tables for said indicators; and wherein said steps of preventing said subsequent RESTART routine from accessing said files and said step of continuing RESTART routine while preventing operations on said files is in response to said accessing.
Claim 8
Independent Claim 43 words
A method according to any one of claims 1 to 6 further including the steps of: generating an error status when said identified file is a data file; and returning said error status to an application program seeking access to said data file.
Claim 9
Independent Claim 45 words
A method according to any one of claims 1 to 7 further including the steps of generating an error status when said identified file comprises a long field file; and returning said error status to an application program seeking to access said long field file.
Claim 10
Dependent Claim 26 words
A method according to claim 8 further including the step of: preventing return of error status to an application program seeking to access said data file.
Claim 11
Dependent Claim 49 words
A method according to claim 9 including the steps of: providing a configuration option indicator for requesting error index rebuilds; executing a RESTART UNDO routine; detecting that said rebuild operation indicator is set; and performing said index file rebuild in response to said detection of said indicator being set.
Claim 12
Independent Claim 25 words
A method according to any one of the previous claims wherein said I/O error is an incomplete log write or a detected log write failure.
Claim 13
Independent Claim 83 words
A method of operating a computer system for generating a recovery log for use in a relational database system, comprising the steps of: initializing a plurality of log pages; generating a plurality of log records; writing to media a full log page of said records in one of said initialized log pages having a page number n; and writing to said media sub-pages of said records in next ones of said initialized log pages having respective alternative page locations numbers n+1 and n+2.
Claim 14
Independent Claim 83 words
A method of operating a computer system for generating a recovery log for use in a relational database system, comprising the steps of: initializing a plurality of log pages; generating a plurality of log records; writing to media a full log page of said records in one of said initialized log pages having a page number n; and writing to said media sub-pages of said records in next ones of said initialized log pages having respective alternative page locations numbers n+1 and n+2.
Claim 15
Dependent Claim 41 words
A method according to claim 12 further including the steps of: detecting an I/O error in at least one of said written full pages or subpages; and preventing additional said writes to said media in response to said detected I/O error.
Claim 16
Dependent Claim 21 words
A method according to claim 13 wherein said I/O error is a detected log write failure or an incomplete log write.
Claim 17
Dependent Claim 84 words
A computer system for generating a recovery log for use in a relational database system, comprising means for initializing a plurality of log pages, means for generating a plurality of log records, means for writing to media a full log page of said records in one of said initialized log pages having a page number n, and means for writing to said media subpages of said records in next ones of said initialized log pages having respective alternative page locations numbers n+1 and n+2.
Claim 18
Dependent Claim 84 words
A computer system for generating a recovery log for use in a relational database system, comprising means for initializing a plurality of log pages, means for generating a plurality of log records, means for writing to media a full log page of said records in one of said initialized log pages having a page number n, and means for writing to said media subpages of said records in next ones of said initialized log pages having respective alternative page locations numbers n+1 and n+2.
Claim 19
Dependent Claim 41 words
A system according to claim 15 further including means for detecting an I/O error in at least one of said written full pages or subpages, and means for preventing additional said writes to said media in response to said I/O error.
Claim 20
Independent Claim 70 words
A method of operating a computer incorporating a database system having a plurality of system indexes for accessing said database for restoring said database after an I/O write failure, comprising the steps of: detecting a request to open a database table after said I/O write failure; deleting or renaming an index file corresponding to said table; fetching a first index definition; and recreating an index corresponding to said index definition.
Claim 21
Independent Claim 70 words
A method of operating a computer incorporating a database system having a plurality of system indexes for accessing said database for restoring said database after an I/O write failure, comprising the steps of: detecting a request to open a database table after said I/O write failure; deleting or renaming an index file corresponding to said table; fetching a first index definition; and recreating an index corresponding to said index definition.
Claim 22
Dependent Claim 30 words
A method according to claim 17 further including repeating the steps of fetching and recreating for a next index definition and corresponding next index until all said indexes are recreated.
Claim 23
Dependent Claim 48 words
A method according to claim 18 wherein said index file is located from an index table to said database system, further comprises the steps of: detecting when all said indexes are recreated; and completing said open table request in response to said detected recreation of said all indexes.

References Cited (Backward Citations)

No citation records indexed.

USPTO Annuity & Maintenance Windows

Maintenance schedule is calculated for granted US utility patents.

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag