Claims
- 1. A method for applying changes in redo records to make a particular resource reflect changes made to the particular resource in volatile memory before a failure, the method comprising the steps of:
establishing links that link together a set of redo records that contain changes made to the particular resource; and following the links to apply the changes contained in the set of redo records to cause the particular resource to reflect the changes made to the particular resource in volatile memory before the failure.
- 2. The method of claim 1, wherein the step of establishing links that link together the set of redo records is performed prior to the failure.
- 3. The method of claim 1, wherein the step of following the links to apply the changes contained in the set of redo records is performed in response to a transaction requesting access to the particular resource subsequent to the failure.
- 4. A method for applying changes in redo records to make a resource available, wherein the resource is locked by a dead transaction, the method comprising the steps of:
(A) identifying a redo record in a block-base redo chain, wherein the redo record contains least recent changes that need to be applied to the resource; (B) applying the least recent changes contained in the redo record to the resource; and (C) repeating steps (A) and (B) until all changes that are contained in redo records in the block-base redo chain have been applied to the resource.
- 5. A method for applying changes in two or more undo records in parallel, wherein a plurality of resources are locked by a dead transaction, the method comprising the steps of:
identifying, within a single undo log file, a plurality of sets of undo records, wherein each set of undo records of said plurality of sets of undo records does not contain any undo record that depends on any undo record in any other set of undo records of said plurality of sets of undo records; and applying the plurality of sets of undo records in parallel relative to one another.
- 6. The method of claim 5, further comprising establishing the plurality of sets of undo records by performing steps that comprise:
among the plurality of sets of undo records:
assigning all undo records that are associated with a first resource to a first set of undo records; and assigning all undo records that are associated with a second resource to a second set of undo records.
- 7. The method of claim 6, wherein:
the step of assigning all undo records that are associated with the first resource includes the step of linking in a first chain undo records that contain changes that are associated with the first resource; and the step of assigning all undo records that are associated with the second resource includes the step of linking in a second chain undo records that contain changes that are associated with the second resource.
- 8. The method of claim 7, wherein:
the step of linking in the first chain undo records that contain changes that are associated with the first resource includes the step of generating a first block-based undo chain, wherein the first block-based undo chain contains undo records that contain changes that need to be applied to the first resource; and the step of linking in the second chain undo records that contain changes that are associated with the second resource includes the step of generating a second block-based undo chain, wherein the second block-based undo chain contains undo records that contain changes that need to be applied to the second resource.
- 9. A method for linking undo records, the method comprising the steps of:
identifying an undo record, wherein the undo record contains change information that is associated with a particular resource; linking the undo record into an undo record chain, wherein the undo record chain contains only undo records that contain change information that is associated with the particular resource; and wherein the step of linking the undo record includes generating identifying data in at least one of the records in the undo record chain or in the undo record, wherein said identifying data once generated identifies a particular record in the undo record chain.
- 10. The method of claim 9, wherein:
the step of identifying the undo record includes the step of identifying an undo record that contains change information that is associated with a particular data block; and the step of linking the undo record into the undo record chain, includes the step of linking the undo record into the undo record chain, wherein the undo record chain contains only undo records that contain change information that is associated with the particular data block.
- 11. The method of claim 9, further comprising the steps of:
identifying a first undo record, wherein relative to the undo record chain the first undo record contains the least recent change information that needs to be applied to the particular resource; and linking a pointer in the first undo record to the undo record chain.
- 12. The method of claim 9, further comprising the steps of:
identifying a last undo record, wherein relative to the undo record chain the last undo record contains the most recent change information that needs to be applied to the particular resource; and linking a pointer in the last undo record to the undo record chain.
- 13. The method of claim 9, wherein the undo record chain contains only undo records that contain change information that needs to be applied to the particular resource.
- 14. A method for recovering after failure of a transaction, the method comprising the step of:
prior to said failure, storing in a first recovery record data that reflects a first change made by the transaction to a first resource; after making said first change and prior to said failure, storing in a second recovery record data that reflects a second change by the transaction to a second resource; after making said second change and prior to said failure, storing in a third recovery record data that reflects a third change to said first resource; after said failure, recovering said transaction; and wherein the step of recovering said transaction includes applying said data in said first recovery record and said data in said third recovery record prior to applying said data in said second recovery record.
- 15. The method of claim 14, wherein:
the step of storing in a first recovery record comprises the step of storing in a first undo record; the step of storing in a second recovery record comprises the step of storing in a second undo record; the step of storing in a third recovery record comprises the step of storing in a third undo record; and the step of applying said data comprises the step of applying said data in said first undo record and said data in said third undo record prior to applying said data in said second undo record.
- 16. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 1.
- 17. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 2.
- 18. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 3.
- 19. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 4.
- 20. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 5.
- 21. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 6.
- 22. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 7.
- 23. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 8.
- 24. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 9.
- 25. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 10.
- 26. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 11.
- 27. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 12.
- 28. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 13.
- 29. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 14.
- 30. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 15.
Parent Case Info
[0001] This application is a continuation of U.S. patent application Ser. No. 09/748,408, filed on Dec. 22, 2000, entitled “Method and Apparatus for Making Available Data that was Locked by a Dead Transaction before Rolling Back the Entire Dead Transaction”, the contents of which are incorporated herein by reference in its entirety, which is a continuation of U.S. patent application Ser. No. 09/156,557, filed on Sep. 17, 1998, entitled “Method and Apparatus for Making Available Data That Was Locked by a Dead Transaction Before Rolling Back the Entire Dead Transaction”, the contents of which are incorporated herein by reference in its entirety, which is a continuation-in-part of U.S. patent application Ser. No. 09/141,765, filed on Aug. 27, 1998, entitled “Method and Apparatus for Improved Transaction Recovery” and issued as U.S. Pat. No. 6,182,241, the contents of which are incorporated herein by reference in its entirety, which is a continuation of U.S. patent application Ser. No. 08/618,443, filed Mar. 19, 1996, entitled “Method and Apparatus for Improved Transaction Recovery” and issued as U.S. Pat. No. 5,850,507 on Dec. 15, 1998, the contents of which are incorporated herein by reference in its entirety.
[0002] The present Application is also related to U.S. patent application Ser. No. 09/156,548, entitled “Parallel Transaction Recovery,” filed by Amit Ganesh and Gary C. Ngai on Sep. 17, 1998 and U.S. patent application Ser. No. 09/156,551, entitled “Recovering Resources In Parallel,” filed by Amit Ganesh and Gary C. Ngai on Sep. 17, 1998, the contents of which are incorporated herein by reference in its entirety.
Continuations (3)
|
Number |
Date |
Country |
Parent |
09748408 |
Dec 2000 |
US |
Child |
10650362 |
Aug 2003 |
US |
Parent |
09156557 |
Sep 1998 |
US |
Child |
09748408 |
Dec 2000 |
US |
Parent |
08618443 |
Mar 1996 |
US |
Child |
09141765 |
Aug 1998 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
09141765 |
Aug 1998 |
US |
Child |
09156557 |
Sep 1998 |
US |