US7277900B1
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method and mechanism for rolling back a transaction on a row of data
Assignee: Oracle International Corp
•
Filing: 2003-02-10
•
Granted: 2007-10-02
•
Expires: 2023-02-10
Abstract
Abstract A method and mechanism to compensate for the effects of a transaction in a database system is disclosed. Also disclosed is a method and mechanism for identifying one or more transactions that have modified or created an object in a database system. The disclosed approach can be applied to perform auditing for queries in a database system and for identifying the scope of changes and data accesses made by a transaction in the system.
Inventors
- 👤 Amit Ganesh
- 👤 Kenneth R. Jacobs
- 👤 Jonathan Klein
- 👤 Archna Kalra Johnson
- 👤 Vivekanandhan Raja
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-04 02:39
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/24; G06F16/245; G06F16/2458; G06F16/2477; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99938; Y10S707/99951; Y10S707/99952; Y10S707/99953
Claims Analysis
Total Claims: 54
Claim 1
Independent Claim
127 words
A computer implemented method to compensate for changes to data in a database system made by a committed transaction, comprising: identifying a data item accessed by the committed transaction; identifying the committed transaction using the identified data item; using the identified committed transaction to identify one or more other data items accessed by the committed transaction; determining whether a dependency exists with respect to another committed transaction based upon compensating for any access made by the committed transaction to the data item or the one or more other data items; and compensating for an access made by the committed transaction to the data item or the one or more other data items, wherein the access made by the committed transaction is compensated by performing a roll-back operation.
Claim 2
Dependent Claim
127 words
A computer implemented method to compensate for changes to data in a database system made by a committed transaction, comprising: identifying a data item accessed by the committed transaction; identifying the committed transaction using the identified data item; using the identified committed transaction to identify one or more other data items accessed by the committed transaction; determining whether a dependency exists with respect to another committed transaction based upon compensating for any access made by the committed transaction to the data item or the one or more other data items; and compensating for an access made by the committed transaction to the data item or the one or more other data items, wherein the access made by the committed transaction is compensated by performing a roll-back operation.
Claim 3
Dependent Claim
37 words
The method of claim 1 in which the action of identifying a data item comprises: identifying a primary key for the data item; and using the primary key to locate the data item in the database system.
Claim 4
Dependent Claim
44 words
The method of claim 1 in which the act of identifying the committed transaction based upon first identifying the data item comprises: accessing a log record to identify the committed transaction, the log record tracking one or more transactions that access the data item.
Claim 5
Dependent Claim
20 words
The method of claim 3 in which the log record corresponds to a plurality of rows in the database system.
Claim 6
Dependent Claim
50 words
The method of claim 1 in which the act of identifying the committed transaction based upon first identifying the data item comprises: locating a storage unit corresponding to the data item; and stepping backwards through prior versions of the storage unit until a change is identified for the data item.
Claim 7
Dependent Claim
18 words
The method of claim 5 in which undo records are applied to perform the act of stepping backwards.
Claim 8
Dependent Claim
17 words
The method of claim 1 in which the transaction is not identified based upon a commit time.
Claim 9
Dependent Claim
71 words
The method of claim 1 in which the one or more other data items were identified by: maintaining linked log records for transactions in the database system; identifying a first log record for the committed transaction; following links associated with the first log record identify other log records for the committed transaction; and accessing the other log records for the committed transaction to identify the one or more other data items.
Claim 10
Dependent Claim
31 words
The method of claim 1 in which the act of determining whether the dependency exists comprises: determining whether the another committed transaction has performed an intervening access to the data item.
Claim 11
Dependent Claim
44 words
The method of claim 9 in which the act of determining whether the another committed transaction has accessed the data item comprises: determining whether the committed transaction is the latest transaction to access the data item or the one or more other data items.
Claim 12
Dependent Claim
20 words
The method of claim 9 in which an abort occurs if the another committed transaction has accessed the data item.
Claim 13
Dependent Claim
14 words
The method of claim 9 in which the another committed transaction is rolled back.
Claim 14
Dependent Claim
27 words
The method of claim 12 in which an ordering exists for rolling back transactions, in which a later transaction is rolled back prior to an earlier transaction.
Claim 15
Dependent Claim
22 words
The method of claim 1 in which the act of compensating for the access comprises rolling back changes associated with the access.
Claim 16
Dependent Claim
77 words
A computer implemented method to compensate for changes to data in a database system made by a committed transaction, comprising: committing a transaction; determining whether a critical dependency exists for the committed transaction, wherein the critical dependency comprises an intervening transaction; and without restoring an entire database archive, rolling back changes made by the committed transaction based at least in part on a result of the act of determining, thereby compensating for the changes to the data.
Claim 17
Dependent Claim
77 words
A computer implemented method to compensate for changes to data in a database system made by a committed transaction, comprising: committing a transaction; determining whether a critical dependency exists for the committed transaction, wherein the critical dependency comprises an intervening transaction; and without restoring an entire database archive, rolling back changes made by the committed transaction based at least in part on a result of the act of determining, thereby compensating for the changes to the data.
Claim 18
Dependent Claim
31 words
The method of claim 15 in which the act of rolling back the changes comprises: identifying the transaction to roll back; and identifying the changes to roll back for the transaction.
Claim 19
Dependent Claim
19 words
The method of claim 16 in which a primary key is used to identify the transaction to roll back.
Claim 20
Dependent Claim
16 words
The method of claim 16 in which a log record is accessed to identify the transaction.
Claim 21
Dependent Claim
13 words
The method of claim 15 in which the intervening transaction is rolled back.
Claim 22
Dependent Claim
27 words
The method of claim 19 in which an ordering exists for rolling back transactions, in which a later transaction is rolled back prior to an earlier transaction.
Claim 23
Dependent Claim
98 words
A computer program product comprising a tangible computer usable medium having executable code to execute a process on a computer to compensate for changes to data in a database system made by a committed transaction, the process comprising the steps of: committing a transaction; determining whether a critical dependency exists for the committed transaction, wherein the critical dependency comprises an intervening transaction; and without restoring an entire database archive, rolling back changes made by the committed transaction based at least in part on a result of the act of determining, thereby compensating for the changes to the data.
Claim 24
Dependent Claim
98 words
A computer program product comprising a tangible computer usable medium having executable code to execute a process on a computer to compensate for changes to data in a database system made by a committed transaction, the process comprising the steps of: committing a transaction; determining whether a critical dependency exists for the committed transaction, wherein the critical dependency comprises an intervening transaction; and without restoring an entire database archive, rolling back changes made by the committed transaction based at least in part on a result of the act of determining, thereby compensating for the changes to the data.
Claim 25
Independent Claim
81 words
A system to compensate for changes to data in a database system made by a committed transaction, comprising: means for committing a transaction; means for determining whether a critical dependency exists for the committed transaction, wherein the critical dependency comprises an intervening transaction; and means for rolling back changes made by the committed transaction without restoring an entire database archive based at least in part on a result of the act of determining, thereby compensating for the changes to the data.
Claim 26
Independent Claim
81 words
A system to compensate for changes to data in a database system made by a committed transaction, comprising: means for committing a transaction; means for determining whether a critical dependency exists for the committed transaction, wherein the critical dependency comprises an intervening transaction; and means for rolling back changes made by the committed transaction without restoring an entire database archive based at least in part on a result of the act of determining, thereby compensating for the changes to the data.
Claim 27
Dependent Claim
145 words
A computer program product comprising a tangible computer usable medium having executable code to execute a process to compensate for changes to data in a database system made by a committed transaction, the process comprising the steps of: identifying a data item accessed by the committed transaction; identifying the committed transaction using the identified data item; using the identified committed transaction to identify one or more other data items accessed by the committed transaction; determining whether a dependency exists with respect to another committed transaction based upon compensating for any access made by the committed transaction to the data item or the one or more other data items; and compensating for an access made by the committed transaction to the data item or the one or more other data items, wherein the access made by the committed transaction is compensated by performing a roll-back operation.
Claim 28
Dependent Claim
145 words
A computer program product comprising a tangible computer usable medium having executable code to execute a process to compensate for changes to data in a database system made by a committed transaction, the process comprising the steps of: identifying a data item accessed by the committed transaction; identifying the committed transaction using the identified data item; using the identified committed transaction to identify one or more other data items accessed by the committed transaction; determining whether a dependency exists with respect to another committed transaction based upon compensating for any access made by the committed transaction to the data item or the one or more other data items; and compensating for an access made by the committed transaction to the data item or the one or more other data items, wherein the access made by the committed transaction is compensated by performing a roll-back operation.
Claim 29
Independent Claim
133 words
A system to compensate for changes to data in a database system made by a committed transaction, comprising: means for identifying a data item accessed by the committed transaction; means for identifying the committed transaction using the identified data item; means for using the identified committed transaction to identify one or more other data items were accessed by the committed transaction; means for determining whether a dependency exists with respect to another committed transaction based upon compensating for any access made by the committed transaction to the data item or the one or more other data items; and means for compensating for an access made by the committed transaction to the data item or the one or more other data items, wherein the means for compensating is configured to perform a roll-back operation.
Claim 30
Independent Claim
133 words
A system to compensate for changes to data in a database system made by a committed transaction, comprising: means for identifying a data item accessed by the committed transaction; means for identifying the committed transaction using the identified data item; means for using the identified committed transaction to identify one or more other data items were accessed by the committed transaction; means for determining whether a dependency exists with respect to another committed transaction based upon compensating for any access made by the committed transaction to the data item or the one or more other data items; and means for compensating for an access made by the committed transaction to the data item or the one or more other data items, wherein the means for compensating is configured to perform a roll-back operation.
Claim 31
Dependent Claim
33 words
The computer program product of claim 21 in which the act of rolling back the changes comprises: identifying the transaction to roll back; and identifying the changes to roll back for the transaction.
Claim 32
Dependent Claim
21 words
The computer program product of claim 25 in which a primary key is used to identify the transaction to roll back.
Claim 33
Dependent Claim
18 words
The computer program product of claim 25 in which a log record is accessed to identify the transaction.
Claim 34
Dependent Claim
15 words
The computer program product of claim 21 in which the intervening transaction is rolled back.
Claim 35
Dependent Claim
29 words
The computer program product of claim 28 in which an ordering exists for rolling back transactions, in which a later transaction is rolled back prior to an earlier transaction.
Claim 36
Dependent Claim
33 words
The system of claim 22 in which the means for rolling back the changes is configured to identify the transaction to roll back, and identify the changes to roll back for the transaction.
Claim 37
Dependent Claim
39 words
The computer program product of claim 23 in which the action of identifying a data item comprises: identifying a primary key for the data item; and using the primary key to locate the data item in the database system.
Claim 38
Dependent Claim
46 words
The computer program product of claim 23 in which the act of identifying the committed transaction based upon first identifying the data item comprises: accessing a log record to identify the committed transaction, the log record tracking one or more transactions that access the data item.
Claim 39
Dependent Claim
52 words
The computer program product of claim 23 in which the act of identifying the committed transaction based upon first identifying the data item comprises: locating a storage unit corresponding to the data item; and stepping backwards through prior versions of the storage unit until a change is identified for the data item.
Claim 40
Dependent Claim
19 words
The computer program product of claim 23 in which the transaction is not identified based upon a commit time.
Claim 41
Dependent Claim
73 words
The computer program product of claim 23 in which the one or more other data items were identified by: maintaining linked log records for transactions in the database system; identifying a first log record for the committed transaction; following links associated with the first log record identify other log records for the committed transaction; and accessing the other log records for the committed transaction to identify the one or more other data items.
Claim 42
Dependent Claim
33 words
The computer program product of claim 23 in which the act of determining whether the dependency exists comprises: determining whether the another committed transaction has performed an intervening access to the data item.
Claim 43
Dependent Claim
24 words
The computer program product of claim 23 in which the act of compensating for the access comprises rolling back changes associated with the access.
Claim 44
Dependent Claim
39 words
The system of claim 24 in which the means for identifying a data item is configured to: identify a primary key for the data item; and use the primary key to locate the data item in the database system.
Claim 45
Dependent Claim
46 words
The system of claim 24 in which the means for identifying the committed transaction based upon first identifying the data item is configured to access a log record to identify the committed transaction, the log record tracking one or more transactions that access the data item.
Claim 46
Dependent Claim
52 words
The system of claim 24 in which the means for identifying the committed transaction based upon first identifying the data item is configured to: locate a storage unit corresponding to the data item; and step backwards through prior versions of the storage unit until a change is identified for the data item.
Claim 47
Dependent Claim
28 words
The computer implemented method of claim 15 , wherein the changes made by the committed transaction is rolled back if no critical dependency exists for the committed transaction.
Claim 48
Dependent Claim
25 words
The computer implemented method of claim 15 , if the critical dependency is determined to exist, further comprising determining whether the critical dependency is resolvable.
Claim 49
Dependent Claim
33 words
The computer implemented method of claim 42 , wherein the changes are rolled back based at least in part on a result of the act of determining whether the critical dependency is resolvable.
Claim 50
Dependent Claim
28 words
The computer program product of claim 21 , wherein the changes made by the committed transaction is rolled back if no critical dependency exists for the committed transaction.
Claim 51
Dependent Claim
27 words
The computer program product of claim 21 , if the critical dependency is determined to exist, the process further comprising determining whether the critical dependency is resolvable.
Claim 52
Dependent Claim
33 words
The computer program product of claim 45 , wherein the changes are rolled back based at least in part on a result of the act of determining whether the critical dependency is resolvable.
Claim 53
Dependent Claim
34 words
The system of claim 22 , wherein the means for rolling back changes is configured to roll back the changes made by the committed transaction if no critical dependency exists for the committed transaction.
Claim 54
Dependent Claim
17 words
The system of claim 22 , further comprising means for determining whether the critical dependency is resolvable.
References Cited (Backward Citations)
US4498145A
Cited
US4868744A
Cited
US5638508A
Cited
US5249300A
Cited
US5524205A
Cited
US5440730A
Cited
US5317731A
Cited
US5363473A
Cited
US5347653A
Cited
US5701480A
Cited
US5280612A
Cited
US5481699A
Cited
US6154847A
Cited
US5974427A
Cited
US5758356A
Cited
US5819020A
Cited
US5862318A
Cited
US5870758A
Cited
US5923833A
Cited
US5850507A
Cited
US6182241B1
Cited
FR2746526A1
Cited
US5995980A
Cited
US6321234B1
Cited
US5835698A
Cited
US6014674A
Cited
US5845292A
Cited
US5864849A
Cited
US5996088A
Cited
US5966706A
Cited
US5907848A
Cited
US5940839A
Cited
US5956731A
Cited
US6237001B1
Cited
US5873102A
Cited
US5890167A
Cited
US6012060A
Cited
US6678696B1
Cited
US5890161A
Cited
US5999943A
Cited
US6018746A
Cited
US6185699B1
Cited
US6173292B1
Cited
US6192377B1
Cited
US6138121A
Cited
US6192370B1
Cited
US6341288B1
Cited
US6457021B1
Cited
US6405217B1
Cited
US6363499B1
Cited
US6438749B1
Cited
US6529921B1
Cited
US6480848B1
Cited
US6801915B1
Cited
US6513093B1
Cited
US6640244B1
Cited
US7206805B1
Cited
US6449624B1
Cited
US6618822B1
Cited
US20040030954A1
Cited
US6918053B1
Cited
US6567928B1
Cited
US20020007363A1
Cited
US6769074B2
Cited
US6631374B1
Cited
US20060212492A1
Cited
US7010529B2
Cited
US6804672B1
Cited
US20050125430A1
Cited
US6889231B1
Cited
US7103597B2
Cited
US20050131966A1
Cited
US20050240633A1
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2010-10-01 | 2011-04-02 | 2011-10-02 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2014-10-01 | 2015-04-02 | 2015-10-02 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2018-10-01 | 2019-04-02 | 2019-10-02 | $7700.00 | Window Closed / Lapsed |