Methods for repairing a corrupted database to a new, correct state by selectively using redo and undo operations
AssigneeIntel Corporation
InventorsBruce D. Holenstein, Paul J. Holenstein, John R. Hoffmann, Wilbur H. Highleyman
Life of this patent
Estimating the term…
Abstract
Both redo operations and undo operations are provided for returning a database that is corrupted to a correct state. When corruption of the database is detected, an automatic selection is made of one or more operations from the redo operations and undo operations for returning the database that is corrupted to a correct state. The selected one or more redo and undo operations are then performed on the database, thereby returning the database that is corrupted to a correct state.
Claims17
A method of returning a database, corrupted by a corrupting change, to an uncorrupted state, the database having a change queue tracking changes to the database, a recovery point for restoring the database to the uncorrupted state prior to the corrupting change, and an algorithm for identifying corrupting changes to the database, the method comprising:
- detecting corruption of the database;
- restoring the database to the uncorrupted state with the recovery point;
- identifying based at least in part on the algorithm a first corrupting change made to the database after the recovery point but before the first corrupting change to the database;
- rolling forward through the change queue from the recovery point until the first corrupting change, and selectively applying changes in the change queue to the database based at least in part on
- examining each change to be applied to determine based at least in part on the algorithm if the change caused corruption of the database,
- addressing any changes that caused corruption of the database,
- selectively skipping changes causing corruption when skipping can maintain database integrity, and
- applying without modification some or all changes that were determined not to have caused corruption of the database.
A method of returning a corrupted database to a correct state, the database having associated therewith an algorithm for identifying corrupting changes to the database, wherein a change queue is maintained that includes transactions, wherein at least some of the transactions include a plurality of changes made to the database, the method comprising:
- detecting corruption of the database;
- identifying based at least in part on the algorithm a last corrupting change made to the database;
- and
- rolling backward through the change queue from a point at or after the last corrupting change to the database and applying the changes to the database in a selective manner;
- wherein the selective manner of applying the changes occurs based at least in part on:
- examining each change in each transaction using the algorithm to determine if the change caused corruption of the database,
- correcting any changes in each transaction that caused corruption of the database,
- selectively skipping changes causing corruption when skipping can maintain database integrity, and
- selectively skipping without modification some or all changes in each transaction that were determined not to have caused corruption of the database.
Dependencies are inferred from the claim text.