4

Do all transactions have a unique SCN? Can two transactions share an SCN?

I'm confused by this statement in the Oracle Golden Gate manual:

The CSN is cross-checked with the transaction ID (displayed as XID in Oracle GoldenGate informational output). The XID-CSN combination uniquely identifies a transaction even in cases where there are multiple transactions that commit at the same time, and thus have the same CSN. For example, this can happen in an Oracle RAC environment, where there is parallelism and high transaction concurrency.

https://docs.oracle.com/goldengate/1212/gg-winux/GWUAD/wu_csn.htm#GWUAD752

Table D-1 in that document identifies the GoldenGate CSN as being the Oracle DB SCN:

Oracle GoldenGate CSN Values Per Database

Oracle:  system_change_number
Where:   system_change number is the Oracle SCN value.
7

For single node Oracle RDBMS installations, an SCN is never duplicated.

With older versions of Oracle RAC, Oracle 9i for example, it was possible that two transactions, running on separate RAC nodes, could end up with the same SCN. Duplicates happened only in rare situations where high transaction rates on the RAC nodes was coupled with a large value for MAX_COMMIT_PROPAGATION_DELAY.

In Oracle RAC installations of version 11gR2 and later, RAC nodes coordinate changes to the SCN via a broadcast mechanism by default, essentially eliminating the possibility of a duplicate SCN.

  • 2
    Welcome to the site. Good to see Oracle employees frequenting here! Cheers. – Philᵀᴹ Jul 22 '16 at 12:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.