Variable |
What you see in omnient.ini |
Replacement value |
Recommended Target Column Type |
Transaction Commit Sequence Number |
sv_trans_commit_seqno |
16-digit, unique identifier of the transaction that involved the row containing this source column |
VARCHAR2(20) |
For Oracle, the Transaction Commit Sequence Number identifies when a transaction has been
committed. This allows downstream systems to know which rows to apply for a given
transaction. In the past, sv_trans_id
was used in Oracle to start the
SCN of a transaction.
This caused the following issue:
- Transaction 1 begins
- Transaction 2 begins and has a higher start SCN than transaction 1
- Transaction 2 commits
- Transaction 1 commits and overrides changes that transaction 2 made
- since
sv_trans_id
reflects the start SCN, so Connect applies transaction 2 even though the current state of the source database reflects the data changed by transaction 1
Therefore transaction 2 commit is not properly captured (applied) downstream. The use of
sv_trans_commit_seqno
along with sv_trans_id
will
help downstream system determine when to properly apply transaction.