Synchronous change data capture in a relational database
AssigneeOracle International Corporation
InventorWilliam D. Norcott
Life of this patent
Estimating the term…
Abstract
A synchronous change data capture system and methodology are described in which, for each statement of a transaction, a transaction identifier that uniquely identifies each transaction is recorded along with the change data. When the transaction is committed, the transaction identifier and a system change number for the commit is recorded in a transaction table. To identify the commit system change number for each statement in the change data, the transaction identifier in the change data is used to fetch the commit system change number from the transaction table.
Claims11
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.
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.
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.
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.
Dependencies are inferred from the claim text.