Datenreplikationskomponenten in Oracle GoldenGate

Arten von Datenreplikationskonfigurationen

Oracle GoldenGate kann für die folgenden Zwecke konfiguriert werden:

Oracle GoldenGate-Prozesse

Extrahieren

Der Extract-Prozess ist so konfiguriert, dass er auf dem Quellendpunkt ausgeführt wird, von dem aus die festgeschriebenen Datenbanktransaktionen erfasst werden müssen. Dieser Prozess ist der Extraktions- oder Datenerfassungsmechanismus von Oracle GoldenGate.

Sie können den Extraktionsprozess so konfigurieren, dass Daten aus den folgenden Datenquellentypen erfasst werden:

Weitere Informationen finden Sie unter Info zu Extract.

Replicat

Der Replicat-Prozess wendet die Aktualisierungen aus den Traildateien auf die Zieldatenbank an. Er liest die Traildatei in der Zieldatenbank, rekonstruiert die DML- oder DDL-Vorgänge und wendet sie auf die Zieldatenbank an.

Der Replicat-Prozess verwendet dynamisches SQL, um eine SQL-Anweisung einmal zu kompilieren und dann mehrmals mit verschiedenen Bind-Variablen auszuführen. Sie können den Replicat-Prozess so konfigurieren, dass er eine bestimmte Zeit wartet, bevor die replizierten Vorgänge auf die Zieldatenbank angewendet werden.

Beispielsweise kann eine Verzögerung wünschenswert sein, um die Propagierung von fehlerhaftem SQL zu verhindern, die Dateneingabe über verschiedene Zeitzonen hinweg zu steuern oder Zeit für andere geplante Ereignisse zu lassen.

Für die beiden gängigen Anwendungsfälle von Oracle GoldenGate funktioniert Replicat wie folgt:

Sie können mehrere Replicat-Prozesse mit einem oder mehreren Extract-Prozessen parallel konfigurieren, um den Durchsatz zu erhöhen. Um die Datenintegrität zu wahren, verarbeitet jeder Prozess eine andere Gruppe von Objekten. Um zwischen Replicat-Prozessen zu unterscheiden, können Sie Replicat-Gruppen mit einem eindeutigen Gruppennamen erstellen.

Weitere Informationen zu verschiedenen Typen von Replicats-Modi finden Sie unter Info zu Replicat.

Verteilungspfade für Datentransport

Ein Verteilungspfad oder DISTPATH definiert den Pfad der Traildatei zwischen den Endpunkten. Der Verteilungspfad wird über den Verteilungsdienst konfiguriert. Weitere Informationen finden Sie unter Distribution Service.

Ein vom Ziel initiierter Verteilungspfad, der auch als Empfängerpfad oder RECVPATH bezeichnet wird, definiert den Pfad des Trails vom Empfangsservice zum Verteilungsservice in Umgebungen mit sicheren Zielendpunkten. Siehe Empfängerservicepfade hinzufügen.

Oracle GoldenGate-Objekte

Oracle GoldenGate-Objekte dürfen nicht direkt geändert werden. Die Änderung von Parameterdateien, Trails, Checkpoint-Dateien und Tabellen darf nur über REST-API-Aufrufe mit AdminClient und der Weboberfläche geändert werden.

Traildateien

Ein Trail ist eine Reihe von Dateien auf dem Datenträger, in denen Oracle GoldenGate die erfassten Änderungen speichert, um die kontinuierliche Extraktion und Replikation von Datenbankänderungen zu unterstützen.

Je nach Konfiguration von Oracle GoldenGate kann ein Trail auf dem Quellsystem, einem Zwischensystem, dem Zielsystem oder einer beliebigen Kombination dieser Systeme vorhanden sein. Auf dem lokalen System wird es als Extract-Trail (oder lokaler Trail) bezeichnet. Auf einem entfernten System wird es als Remote Trail bezeichnet. Durch die Verwendung eines Trails für Speicher unterstützt Oracle GoldenGate die Datengenauigkeit und Fehlertoleranz. Durch die Verwendung eines Trails können Extraktions- und Replikationsaktivitäten unabhängig voneinander durchgeführt werden. Wenn diese Prozesse getrennt sind, haben Sie mehr Möglichkeiten, wie Daten verarbeitet und bereitgestellt werden. Beispiel: Anstatt Änderungen kontinuierlich zu extrahieren und zu replizieren, können Sie sie kontinuierlich extrahieren und zur späteren Replikation auf das Ziel im Trail speichern, wenn die Zielanwendung sie benötigt.

Darüber hinaus können Trails in einer heterogenen Umgebung von Oracle AI Database ausgeführt werden. Die Daten werden in einer Traildatei in einem konsistenten Format gespeichert, sodass sie vom Replicat-Prozess für alle unterstützten Datenbanken gelesen werden können.

Prozesse, die in die Traildatei schreiben

Oracle GoldenGate Extract schreibt in die Traildatei. Alle lokalen Trails müssen unterschiedliche Namen für Vollpfade haben, obwohl Sie dieselben Trailnamen in verschiedenen Pfaden verwenden können.

In Oracle GoldenGate MA werden Verteilungspfade und Empfängerpfade verwendet, um Remotetrails zu verteilen. Mit dem Verteilungsservice und dem Empfangsdienst werden der Verteilungspfad bzw. der Empfängerpfad konfiguriert. Der Verteilungspfad überträgt den Trail über ein Netzwerk auf definierte Ziele. Der Trail kann Daten aus mehreren Extracts enthalten, die an ein Remote-System übertragen werden.

Prozesse, die aus der Traildatei gelesen werden

Die Replicat-Prozesse und der Verteilungspfad werden aus den Traildateien gelesen. Extract erfasst DML- und DDL-Vorgänge mit einem lokalen Trail, führt bei Bedarf eine weitere Verarbeitung durch und überträgt die Daten in einen Trail, der vom nächsten Oracle GoldenGate-Prozess, dem Replicat, gelesen wird.

Im Falle einer verteilten Bereitstellung liest ein Distribution Service-Prozess die Remote-Traildatei und sendet sie über das Netzwerk an einen wartenden Receiver Service-Prozess.

Der Replicat-Prozess liest den Trail und wendet die replizierten DML- und DDL-Vorgänge auf die Zieldatenbank an.

Erstellung und Verwaltung von Traildateien

Die Traildateien werden bei Bedarf während der Verarbeitung erstellt. Sie geben einen aus zwei Zeichen bestehenden Namen für den Trail an, wenn Sie ihn zur Oracle GoldenGate-Konfiguration hinzufügen. Standardmäßig werden Trails im Unterverzeichnis des Oracle GoldenGate-Verzeichnisses gespeichert. Sie können eine neunstellige Folgenummer für die Traildatei angeben.

Wenn jede neue Datei erstellt wird, erbt sie den aus zwei Zeichen bestehenden Trailnamen, an den eine eindeutige neunstellige Folgenummer von 000000000 bis 99999999 angehängt ist. Wenn die Folgenummer 999.999.999 oder 999.999 (je nach vorheriger Einstellung) erreicht, wird der Extract-Prozess abgebrochen.

Traildateien können routinemäßig gelöscht werden, indem automatisierte Wartungsaufgaben eingerichtet werden, um Traildateien zu löschen, oder Traildateien manuell aus dem Administrationsservice gelöscht werden. Siehe Traildateien löschen und Trails löschen

Sie können mehrere Trails erstellen, um die Daten von verschiedenen Objekten oder Anwendungen zu trennen. Um den Durchsatz zu maximieren und die I/O-Belastung des Systems zu minimieren, werden extrahierte Daten in großen Blöcken in einen und aus einem Trail gesendet. Die Transaktionsreihenfolge der Traildatei oder der Trailsequenz wird beibehalten.

Parameterdateien

Die meisten Oracle GoldenGate-Funktionen werden über Parameter gesteuert, die in Parameterdateien angegeben sind. Eine Parameterdatei ist eine Nur-Text-Datei, die von einem zugehörigen Oracle GoldenGate-Prozess gelesen wird.

Oracle GoldenGate Microservices Architecture verwendet die folgenden Laufzeitparameter:

Laufzeitparameter ermöglichen die Steuerung verschiedener Aspekte der Oracle GoldenGate-Synchronisierung, wie:

Obwohl mehrere Extracts und Replicats in einem einzelnen Deployment ausgeführt werden können, kann jede einzelne Parameterdatei nur mit einer einzelnen Parameterdatei verknüpft werden. Extrakte und Replikate werden durch den Namen identifiziert, bei dem die Groß-/Kleinschreibung nicht beachtet wird. Beispiel: Ein Extract mit dem Namen exte hätte 1 zugehörige Parameterdatei mit dem Namen exte.prm.

Checkpoint-Dateien und -Tabellen

Oracle GoldenGate verwendet eine Kombination aus Checkpoint-Dateien, Checkpoint-Tabellen und entsprechenden Werten in den Traildateien, um sicherzustellen, dass die Daten genau einmal auf die Zielplattform angewendet werden. Oracle GoldenGate verwendet diese Objekte, um die ordnungsgemäße Replikation von Daten sicherzustellen, und zu Recovery-Zwecken, wenn die Quelldatenbank, die Zieldatenbank oder Oracle GoldenGate selbst ausfallen oder abstürzen. Diese Objekte sind für den Zustand von Oracle GoldenGate von entscheidender Bedeutung und sollten niemals ohne direkte Anleitung von Oracle Support geändert oder geändert werden.

Siehe Weitere Details zu Checkpoint-Tabellen.

Checkpointverwendung nach Extract, Pfad und Replicat

Checkpoints werden während der Onlineänderungssynchronisierung verwendet, um die aktuelle Lese- und Schreibposition eines Prozesses zu speichern. Checkpoints stellen sicher, dass für die Synchronisierung markierte Datenänderungen extrahiert werden und redundante Extraktionen verhindert werden. Sie bieten Fehlertoleranz, indem sie den Datenverlust verhindern, wenn das System, das Netzwerk oder ein Oracle GoldenGate-Prozess neu gestartet werden muss.

Extract, Path (Extract) und Delivery (Replicat) speichern Positionen in einer Checkpoint-Datei, um ein Recovery bei einem Fehler zu ermöglichen. Extract erstellt Checkpoints für seine Positionen in der Datenquelle und im Trail. Replicat erstellt Checkpoints für seine Position im Trail. Das folgende Diagramm veranschaulicht diesen Workflow:

Extract, Path (Extract) und Replicat speichern Positionen in einer Checkpoint-Datei, damit sie bei einem Fehler wiederhergestellt werden können.

Checkpoint-Informationen werden in Checkpoint-Dateien im Oracle GoldenGate-Standardverzeichnis verwaltet: $OGG_VAR_HOME/lib/checkpt

Dies darf nicht mit der optionalen Checkpoint-Tabelle verwechselt werden, die in der Datenbank gespeichert ist. Extract platziert einen Schreib-Checkpoint, der als aktueller Checkpoint bezeichnet wird, im Trail. Der aktuelle Checkpoint ist die Position im Trail, an der Extract gerade schreibt.

Checkpoints speichern die aktuelle Lese-/Schreibposition eines Prozesses. Sie verhindern redundante Extraktionen und sorgen für Fehlertoleranz.

Oracle GoldenGate verwendet die Checkpoints nur zu Informationszwecken, da die Source of Truth in den Traildateien enthalten ist.

Pfad-Checkpoint

Der Checkpoint "Verteilungsservicepfad" bietet eine zusätzliche Zuverlässigkeitsebene für die Microservices-Architektur, wenn Traildateien zwischen Deployments übertragen werden. In der folgenden Abbildung wird der Checkpoint-Mechanismus DISTPATH beschrieben, der in Deployments verwendet wird.

Workflow eines DISTPATH-Checkpoints

Der aktuelle Lesevorgang ist der Checkpoint dessen, was zuletzt gelesen wurde. Der Checkpoint prüft jede Sekunde auf Änderungen. Diese Häufigkeit ist konfigurierbar. Der Schreib-Checkpoint identifiziert, was zuletzt in den Trail geschrieben wurde. Oracle GoldenGate verfolgt die Schreibposition im Trail.

Der Verteilungsservicepfad kennt keine offenen Transaktionen, weil sie nur die festgeschriebenen Datensätze verarbeiten.

Replicat-Checkpoint

Replicat macht Checkpoints in der Checkpoint-Tabelle, um die letzte Lese- und Apply-Position zu markieren.

Um Prozess-Checkpoints anzuzeigen, verwenden Sie den Befehl INFO REPLICAT mit der Option SHOWCH. Der Basisbefehl zeigt aktuelle Checkpoints an.

Der aktuelle Checkpoint ist die Position des letzten Datensatzes, der von Replicat im Trail gelesen und auf die Datenbank angewendet wurde. Die Source of Truth für angewendete Transaktionen ist die Checkpoint-Tabelle. Die Checkpoint-Datei, die von Replicat- und INFO-Befehlen verwendet wird, sind nur ungefähre und Advisory-Informationen. Sehen Sie sich die folgende Abbildung an, um diesen Workflow zu verstehen:

Checkpoint- und Replicat-Datenfluss extrahieren