Claims
- 1. A method for synchronous change data capture, comprising the steps of:
generating a transaction identifier that uniquely identifies a transaction; for each operation in a transaction, recording change data for the operation and the transaction identifier in a first database object; and during a commit of the transaction, recording the transaction identifier and a system change number in a second database object.
- 2. A method according to claim 1, further comprising the step of:
recording an identifier to identify a relative ordering of each operation in the transaction.
- 3. A method according to claim 3, further comprising, during the commit of the transaction, the steps of:
obtaining a concurrency lock; after obtaining the concurrency lock, generating the system change number and performing said recording the transaction identifier and the system change number in the second database table, and concluding the commit; and after said recording the transaction identifier and the system change number in the second database table, releasing the concurrency lock.
- 4. A method according to claim 1, wherein the first database object comprises a change table and the second database object comprises a transaction table.
- 5. A method according to claim 1, further comprising the step of:
associating the change data in the first database object with the system change number in the second database object based on the transaction identifier.
- 6. A computer-readable medium bearing instructions for synchronous change data capture, said instructions arranged, upon execution, to cause one or more processors to perform the steps of the method according to claim 1.
- 7. A method for processing synchronously captured change data, comprising:
accessing a first database object comprising change data for an operation performed within a transaction and a transaction identifier that uniquely identifies the transaction; accessing a second database object comprising the transaction identifier and a system change number; and associating the change data in the first database object with the system change number in the second database object based on the transaction identifier.
- 8. A method according to claim 7, wherein the step of associating includes performing a database join operation on the first database object and the second database object.
- 9. A computer-readable medium bearing instructions for synchronous change data capture, said instructions arranged, upon execution, to cause one or more processors to perform the steps of the method according to claim 7.
- 10. A method for synchronous change data capture, comprising the steps of:
generating a transaction identifier that uniquely identifies a transaction; for each operation in a transaction, recording change data for the operation and the transaction identifier in a change table; and during a commit of the transaction, performing the steps of:
obtaining a concurrency lock; after obtaining the concurrency lock, generating a system change number and recording the transaction identifier and the system change number in the second database table; and after said recording the transaction identifier and the system change number in the second database table, releasing the concurrency lock.
- 11. A computer-readable medium bearing instructions for synchronous change data capture, said instructions arranged, upon execution, to cause one or more processors to perform the steps of the method according to claim 10.
RELATED APPLICATIONS
[0001] The present application is related to U.S. patent application Ser. No. ______ entitled “Method and Apparatus for Change Data Capture in a Database System” filed on ______ (attorney docket no. 50277-1002, client docket no. 2000-190-01) by William D. Norcott et al., the contents of which are hereby incorporated by reference.
[0002] The present application is related to U.S. patent application Ser. No. ______ entitled “Asynchronous Change Capture for Data Warehousing” filed on ______ (attorney docket no. 50277-1005, client docket no. 2001-003-01) by William D. Norcott, the contents of which are hereby incorporated by reference.