Method and apparatus providing system availability during DBMS restart recovery
First Claim
1. A method for providing system availability during recovery of a database, comprising:
- performing abbreviated UNDO processing of objects in a database such that new transactions are not accepted, the abbreviated UNDO recovery processing comprising;
receiving user-supplied thesholds including a number of log records to process during UNDO recovery processing;
determining whether a log record entry represents a first undoable update made by a transaction to an object to which the log record applies, and if the log record represents the transaction'"'"'s first update to the object; and
designating a corresponding interest entry as complete, thereby indicating that the transaction has no further UNDO recovery processing required for that object;
restricting an object from transaction access based upon selected criteria, wherein unrestricted objects remain available for transaction access;
accepting new transactions;
maintaining an interest list, the interest list used to track objects affected by a transaction;
making entries to the interest list accessible during recovery processing;
waiting until REDO recovery processing, if any, has completed before performing abbreviated UNDO recovery processing;
restricting an object from transaction access including;
restricting any object reference in the interest list from transaction access based upon the selected criteria, wherein unrestricted objects remain available for transaction access; and
restricting transaction access to an interest list entry'"'"'s object if there remains a transaction with update interest in the object and UNDO recovery processing has not been completed on that object;
performing further UNDO recovery processing by;
determining whether a log record entry represents a first undoable update made by a transaction to an object;
if the log record represents the transaction'"'"'s first update to the object, designating a corresponding interest list entry as complete, complete indicating that the transaction has no further UNDO processing required for that object; and
removing an object'"'"'s restriction if UNDO work against the object has been completed; and
copying the interest list to a log at a system check-point time.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus to provide DBMS restart recovery that allows transactions to access data that does not have restart recovery work pending. Access to data requiring restart recovery work to be performed is restricted, and a transaction is denied access to this data. In another embodiment, the invention allows certain transactions to access restricted data that has restart recovery work pending. These transactions are transactions that do not require data consistency. Regardless of the embodiment, the invention allows full recovery to be completed concurrent to the processing of new transactions requiring access to the database. An amount of restart recovery processing may be postponed until after the DBMS has begun accepting new work requests.
-
Citations
21 Claims
-
1. A method for providing system availability during recovery of a database, comprising:
-
performing abbreviated UNDO processing of objects in a database such that new transactions are not accepted, the abbreviated UNDO recovery processing comprising;
receiving user-supplied thesholds including a number of log records to process during UNDO recovery processing;
determining whether a log record entry represents a first undoable update made by a transaction to an object to which the log record applies, and if the log record represents the transaction'"'"'s first update to the object; and
designating a corresponding interest entry as complete, thereby indicating that the transaction has no further UNDO recovery processing required for that object;
restricting an object from transaction access based upon selected criteria, wherein unrestricted objects remain available for transaction access;
accepting new transactions;
maintaining an interest list, the interest list used to track objects affected by a transaction;
making entries to the interest list accessible during recovery processing;
waiting until REDO recovery processing, if any, has completed before performing abbreviated UNDO recovery processing;
restricting an object from transaction access including;
restricting any object reference in the interest list from transaction access based upon the selected criteria, wherein unrestricted objects remain available for transaction access; and
restricting transaction access to an interest list entry'"'"'s object if there remains a transaction with update interest in the object and UNDO recovery processing has not been completed on that object;
performing further UNDO recovery processing by;
determining whether a log record entry represents a first undoable update made by a transaction to an object;
if the log record represents the transaction'"'"'s first update to the object, designating a corresponding interest list entry as complete, complete indicating that the transaction has no further UNDO processing required for that object; and
removing an object'"'"'s restriction if UNDO work against the object has been completed; and
copying the interest list to a log at a system check-point time. - View Dependent Claims (2, 3, 4, 5, 6, 7)
retrieving the interest list from a log updated at a last system check-point time; and
updating the interest list to a point in time when system failure occurred using forward log apply recovery processing.
-
-
5. The method recited in claim 4, including logically linking interest list entries.
-
6. The method recited in claim 5, wherein access by a transaction to a restricted object is allowed if the transaction can accept inconsistent data.
-
7. The method recited in claim 6, further comprising logging interest list changes that occur during recovery processing to a recovery log.
-
8. A signal bearing medium tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus to perform a method for providing system availability during recovery of a database, said method comprising:
-
maintaining an interest list, the interest list used to track objects affected by a transaction;
making entries to the interest list accessible during recovery processing;
waiting until REDO recovery processing, if any, has completed;
performing abbreviated UNDO recovery processing such that new transactions are not accepted the abbreviated UNDO recovery processing comprising;
receiving user-supplied thresholds including a number of log records to process during UNDO recovery processing;
determining whether a log record entry represents a first undoable update made by a transaction to an object to which the log record applies, and if the log record represents the transaction'"'"'s first update to the object; and
designating a corresponding interest entry as complete, thereby indicating that the transaction has no further UNDO recovery processing required for that object;
restricting any object referenced in the interest list from transaction access based upon the selected criteria wherein the selected criteria comprises restricting transaction access to an interest list entry'"'"'s object if there remains a transaction with update interest in the object and UNDO recovery processing has not been completed on that object;
accepting new transactions; and
performing further UNDO recovery processing, including;
determining whether a log record entry represents a first undoable update made by a transaction to an object;
if the log record represents the transaction'"'"'s first update to the object, designating a corresponding interest list entry as complete, complete indicating that the transaction has no further UNDO processing required for that object;
removing an object'"'"'s restriction if UNDO work against the object has been completed; and
copying the interest list to a log at a system check-point time. - View Dependent Claims (9, 10, 11, 12, 13, 14)
retrieving the interest list from the log updated at a last system check-point time; and
updating the interest list to a point in time when system failure occurred using forward log apply recovery processing.
-
-
12. The medium recited in claim 11, the method further including logically linking interest list entries.
-
13. The medium recited in claim 12, the method further comprising access by a transaction to a restricted object is allowed if the transaction can accept inconsistent data.
-
14. The medium recited in claim 13, the method further comprising logging interest list changes that occur during recovery processing to a recovery log.
-
15. An apparatus used to provide system availability during recovery of a database, the apparatus comprising:
-
non-volatile storage;
memory;
a processor, the processor executing commands to recover the database while providing system available by;
maintaining an interest list, the interest list used to track objects affected by a transaction;
making entries to the interest list accessible during recovery processing;
waiting until REDO recovery processing, if any, has completed;
performing abbreviated UNDO recovery processing such that new transactions are not accepted the abbreviated UNDO recovery processing comprising;
receiving user-supplied thresholds including a number of log records to process during UNDO recovery processing;
determining whether a log record entry represents a first undoable update made by a transaction to an object to which the log record applies, and if the log record represent the transaction'"'"'s first update to the object; and
designating a corresponding interest entry as complete, thereby indicating that the transaction has no further UNDO recovery processing required for that object;
restricting any object referenced in the interest list from transaction access based upon the selected criteria wherein the selected criteria comprises restricting transaction access to an interest list entry'"'"'s object if there remains a transaction with update interest in the object and UNDO recovery processing has not been completed on that object;
accepting new transactions; and
performing further UNDO recovery processing, including;
determining whether a log record entry represents a first undoable update made by a transaction to an object;
if the log record represents the transaction'"'"'s first update to the object, designating a corresponding interest list entry as complete, complete indicating that the transaction has no further UNDO processing required for that object;
removing an object'"'"'s restriction if UNDO work against the object has been completed; and
copying the interest list to a log at a system check-point time. - View Dependent Claims (16, 17, 18, 19, 20, 21)
retrieving the interest list from the log updated at a last system check-point time; and
updating the interest list to a point in time when system failure occurred using forward log apply recovery processing.
-
-
19. The apparatus recited in claim 18, the processor executing commands to logically link interest list entries.
-
20. The apparatus recited in claim 19, the processor executing commands to restrict access to an object only if a transaction cannot accept inconsistent data.
-
21. The apparatus recited in claim 20, the processor executing commands to log interest list changes that occur during recovery processing to a recovery log.
Specification