Unobtrusive point-in-time consistent copies
First Claim
1. An unobtrusive database object copy method, comprising:
- identifying one or more source database objects;
creating a snapshot of the one or more source database objects at a point-in-time in a manner that does not substantially block access to the source database objects;
identifying changes to the source database objects as of the point-in-time that do not exist in the snapshot;
updating the snapshot to reflect the identified changes;
identifying inflight units of work associated with the source database objects as of the point-in-time, wherein each inflight unit of work is associated with one or more database object updates; and
removing each of the one or more database object updates associated with each identified inflight unit of work from the snapshot.
9 Assignments
0 Petitions
Accused Products
Abstract
Techniques to create physically and transactionally consistent copies of one or more database objects without impacting the availability of the target database objects are described. In one technique, a consistent copy is created as of the time a copy utility is executed. In another technique, a consistent copy is created as of an arbitrary specified time. This approach modifies a prior copy to bring it “up-to-date.” In yet another technique, a consistent copy is created by starting with a current snapshot of the target database objects and selectively removing updates from it back to a user specified arbitrary point-in-time. Each of the described techniques generate consistent copies of the target database objects without blocking users from accessing the target objects during the copy operation.
93 Citations
38 Claims
-
1. An unobtrusive database object copy method, comprising:
-
identifying one or more source database objects; creating a snapshot of the one or more source database objects at a point-in-time in a manner that does not substantially block access to the source database objects; identifying changes to the source database objects as of the point-in-time that do not exist in the snapshot; updating the snapshot to reflect the identified changes; identifying inflight units of work associated with the source database objects as of the point-in-time, wherein each inflight unit of work is associated with one or more database object updates; and removing each of the one or more database object updates associated with each identified inflight unit of work from the snapshot. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. An unobtrusive database object copy method, comprising:
-
identifying one or more source database objects in a database; determining a point-in-time; obtaining a prior copy of the identified one or more source database objects, said prior copy having a creation time before the point-in-time; identifying inflight units of work associated with the source database objects as of the point-in-time, wherein each inflight unit of work is associated with one or more database object updates, said identified inflight units of work including a unit of work having an earliest start time, the earliest start time being closer to the creation time of the prior consistent copy than a start time associated with any other identified inflight unit of work; applying database log entries to the prior copy from the creation time until the earliest start time; and applying database log entries to the prior copy from the earliest start time until the point-in-time only if they are not associated with inflight units of work. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. An unobtrusive database object copy method, comprising:
-
identifying one or more source database objects in a database; determining a point-in-time; creating a snapshot of the one or more source database objects at a time after the point-in-time and in a manner that does not substantially block access to the source database objects in the database; identifying changes to the source database objects as of the point-in-time that do not exist in the snapshot; updating the snapshot to reflect the identified changes; removing all updates from the snapshot made after the point-in-time; identifying inflight units of work associated with the source database objects as of the point-in-time, wherein each inflight unit of work is associated with one or more database object updates; and removing each of the one or more database object updates associated with each identified inflight unit of work from the snapshot. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. A program storage device, readable by a programmable control device, comprising instructions stored therein for causing the programmable control device to:
-
identify one or more source database objects; create a snapshot of the one or more source database objects at a point-in-time in a manner that does not substantially block access to the source database objects; identify changes to the source database objects as of the point-in-time that do not exist in the snapshot; update the snapshot to reflect the identified changes; identify inflight units of work associated with the source database objects as of the point-in-time, wherein each inflight unit of work is associated with one or more database object updates; and remove each of the one or more database object updates associated with each identified inflight unit of work from the snapshot. - View Dependent Claims (36)
-
-
37. A program storage device, readable by a programmable control device, comprising instructions stored therein for causing the programmable control device to:
-
identify one or more source database objects in a database; determine a point-in-time; obtain a prior copy of the identified one or more source database objects, said prior copy having a creation time before the point-in-time; identify inflight units of work associated with the source database objects as of the point-in-time, wherein each inflight unit of work is associated with one or more database object updates, said identified inflight units of work including a unit of work having an earliest start time, the earliest start time being closer to the creation time of the prior consistent copy than a start time associated with any other identified inflight unit of work; apply database log entries to the prior copy from the creation time until the earliest start time; and apply database log entries to the prior copy from the earliest start time until the point-in-time only if they are not associated with inflight units of work to generate a consistent point-in-time copy. - View Dependent Claims (38)
-
Specification