Commit-Sequenznummer (CSN)
Bei der Arbeit mit Oracle GoldenGate müssen Sie möglicherweise auf eine Commit Sequence Number (CSN) verweisen. Ein CSN ist eine ID, die Oracle GoldenGate zur Identifizierung einer Transaktion erstellt, um die Transaktionskonsistenz und Datenintegrität aufrechtzuerhalten. Er identifiziert eindeutig einen Zeitpunkt, zu dem eine Transaktion in der Datenbank festgeschrieben wird.
Die CSN kann erforderlich sein, um Extract im Transaktionslog zu positionieren, Replicat im Trail neu zu positionieren oder für andere Zwecke. Es wird von einigen Konvertierungsfunktionen zurückgegeben und ist in Berichten und bestimmten Befehlsausgaben enthalten.
Ein CSN ist eine monoton zunehmende ID, die von Oracle GoldenGate generiert wird und einen Zeitpunkt eindeutig identifiziert, zu dem eine Transaktion in der Datenbank festgeschrieben wird. Sie soll Transaktionskonsistenz und Datenintegrität gewährleisten, wenn Transaktionen von Quelle zu Ziel repliziert werden. Jede Art von Datenbankmanagementsystem generiert bei Abschluss jeder Transaktion eine eigene eindeutige Seriennummer, die den Commit dieser Transaktion eindeutig identifiziert. Beispiel: Das Oracle RDBMS generiert eine Systemänderungsnummer. Dabei handelt es sich um eine monoton steigende Folgenummer, die jedem Ereignis von Oracle RDBMS zugewiesen wird. Der CSN erfasst diese identifizierenden Informationen und stellt sie intern als eine Reihe von Bytes dar, aber der CSN wird plattformunabhängig verarbeitet. Ein Vergleich von zwei CSN-Nummern, die jeweils an einen Transaktions-Commit-Datensatz im selben Logstream gebunden sind, gibt zuverlässig die Reihenfolge an, in der die beiden Transaktionen abgeschlossen wurden.
Der CSN wird mit der Transaktions-ID (als XID in der Informationsausgabe von Oracle GoldenGate angezeigt) geprüft. Die XID-CSN-Kombination identifiziert eine Transaktion eindeutig, auch wenn mehrere Transaktionen gleichzeitig festgeschrieben werden und somit dieselbe CSN aufweisen. Dies kann beispielsweise in einer Oracle RAC-Umgebung geschehen, in der Parallelität und hohe Transaktionsnebenläufigkeit herrschen.
Der CSN-Wert wird als Token in jedem Traildatensatz gespeichert, der den Commit einer Transaktion identifiziert. Dieser Wert kann mit der Spaltenkonvertierungsfunktion @GETENV abgerufen und mit dem Logdump-Utility angezeigt werden.