Oracle GoldenGate CDC Extract für EnterpriseDB-(EDB-)Subscriber-Knoten konfigurieren
In Postgres-Umgebungen mit bidirektionaler Replikation in EnterpriseDB (EDB) kann Oracle GoldenGate CDC Extract Änderungen von einem dedizierten Knoten nur für Abonnenten erfassen, anstatt direkt von den aktiven Datenbankknoten. Dieses Deployment-Modell reduziert die Capture-Workload auf Produktionssystemen und stellt gleichzeitig eine konsolidierte Quelle für die Erfassung nachgelagerter Änderungsdaten bereit. Einzelheiten zur bidirektionalen Replikation in EnterpriseDB Postgres Distributed finden Sie unter Replikationssets.
Für die bidirektionale Oracle GoldenGate-Replikation für EnterpriseDB Postgres muss der Knoten "Nur Abonnent" konfiguriert werden. Ein reiner Subscriber-Knoten ist im Grunde ein Downstream-Replikationsknoten oder ein CDC-Aggregationsknoten, der Änderungen von aktiven bidirektionalen Datenquellen empfängt und eine dedizierte Datenbank bereitstellt, von der Oracle GoldenGate sie erfassen kann.
Zur Erläuterung wird der Knoten "Nur Abonnent" als Master 3 bezeichnet, und die aktiven aktiven bidirektionalen Datenquellen werden als Master 1 und Master 2 bezeichnet.
Hier ist die Topologie für Oracle GoldenGate CDC Extract, die vom Nur-Abonnenten-Knoten (Master 3) erfasst werden soll:
- Master 1 und Master 2 werden im Aktiv-Aktiv-Modus mit bidirektionaler Replikation konfiguriert.
- Master 3 hat sowohl Master 1 als auch Master 2 abonniert.
- Oracle GoldenGate CDC Extract wird ausschließlich auf dem Nur-Abonnenten-Knoten Master 3 ausgeführt.
Basierend auf dieser Topologie sind folgende Zuständigkeiten für jeden Knoten verfügbar:
- Master 1 und Master 2: Akzeptiert Lese- und Schreibvorgänge von Anwendungen
- Master 3: Nur-Abonnent-Knoten für Oracle GoldenGate-CDC-Extraktion
Während Master 1- und Master 2-Knoten Lese- und Schreibvorgänge aus Anwendungen akzeptieren, soll Master 3 als reiner Subscriber-Knoten für Oracle GoldenGate CDC Extract fungieren. Es enthält die konsolidierten Daten, die von den aktiven Knoten stammen.
Oracle GoldenGate CDC-Extract für die Ausführung von Vorgängen auf dem Subscriber-Knoten konfigurieren
Bevor Sie mit der Konfiguration von CDC Extract beginnen, sollten Sie die folgenden Best Practices berücksichtigen:
- Stellen Sie sicher, dass die Replikation von Master 1 und Master 2 zu Master 3 vollständig synchronisiert ist, bevor Sie Oracle GoldenGate CDC Extract registrieren.
- Überwachen Sie sowohl die Replikationsverzögerung (Master zu Subscriber) als auch die Verzögerung bei CDC Extract regelmäßig.
- Prüfen Sie den Zustand des
WAL-Aufbewahrungs- und Replikations-Slots, um einen Datenverlust zu vermeiden.
Die folgenden Schritte sind auf dem Subscriber-Knoten und auf der Oracle GoldenGate-Seite erforderlich, um verschiedene DDL- und DML-Vorgänge auszuführen:
-
Peform-DDL-Vorgänge: Führen Sie alle DDL-Anweisungen nur in Master 1 und Master 2 aus. Diese Änderungen werden über die bidirektionale Replikation automatisch in Master 3 repliziert.
-
Zusätzliches Logging aktivieren: Nachdem DDL-Änderungen erfolgreich repliziert wurden, stellen Sie eine Verbindung zu Master 3 her, und führen Sie den Befehl trandata für die erforderlichen Tabellen aus. Dadurch wird zusätzliches Logging für erforderliche Spalten aktiviert. Dies ist erforderlich, um before images für die Vorgänge
UPDATEundDELETEzu erfassen. -
DML-Vorgänge ausführen: Führen Sie alle DML-Vorgänge nur für Master 1 oder Master 2 aus. Stellen Sie sicher, dass Master 3 vollständig konfiguriert ist, bevor Sie DML-Aktivitäten starten.
-
Replikations-Slot und Veröffentlichung einrichten: Erstellen Sie den Replikations-Slot und die Veröffentlichung auf Master 3.
-
Tabellen zur Veröffentlichung hinzufügen: Bevor Sie DML-Vorgänge ausführen, fügen Sie der Publikation, die auf Master 3 erstellt wurde, alle erforderlichen Tabellen hinzu. Nur die in der Publikation enthaltenen Tabellen werden vom CDC-Extrakt erfasst.
Hinweis: Stellen Sie sicher, dass keine Veröffentlichung in Master 1 und/oder Master 2 erstellt wird.
-
CDC-Extrakt registrieren und erstellen: Stellen Sie eine Verbindung zu Master 3 her, und registrieren Sie den Extract, um einen Replikationsslot im Abonnentenknoten zu erstellen, und fügen Sie dann den CDC-Extrakt hinzu. Die Schritte zum Registrieren eines CDC-Extracts für PostgreSQL finden Sie unter Export für PostgreSQL vom Admin-Client registrieren.
Hinweis: Stellen Sie sicher, dass Extract nicht mit Master 1 oder Master 2 verbunden ist.
-
CDC-Extract konfigurieren: Konfigurieren Sie den CDC-Extract so, dass nur eine Verbindung zu Master 3 oder dem Subscriber-Knoten hergestellt wird. In dieser Topologie darf der Extract keine direkte Verbindung zu Master 1 oder Master 2 herstellen.
-
Heartbeat konfigurieren (optional, empfohlen): Wenn Sie die Heartbeat-Funktion verwenden:
a. Erstellen Sie die Heartbeat-Seeding-Tabelle in Master 1 oder Master 2.
b. Nachdem die Heartbeat-Tabelle in Master 3 repliziert wurde, fügen Sie sie der Publikation in Master 3 hinzu.
c. Konfigurieren Sie den Heartbeat für den CDC-Extrakt in Oracle GoldenGate, um die CDC-Pipeline aktiv zu halten und die Latenz zu überwachen.
Hinweis: Informationen zum Konfigurieren der Heartbeat-Funktionalität für Extract in Oracle GoldenGate finden Sie unter Heartbeat-Tabelle hinzufügen. Siehe auch ADD HEARTBEATTABLE in der Oracle GoldenGate-Befehlszeilenreferenz.
-
Konfigurierte Prozesse prüfen: Prüfen Sie, ob die Replikations-Slot-, Veröffentlichungs- und CDC-Extraktionsprozesse vorhanden sind und wie erwartet funktionieren. Stellen Sie sicher, dass die Replikationsverzögerung und die Extract-Verzögerung normal sind.