Integriertes Replicat
Im integrierten Modus nutzt Replicat die Apply-Verarbeitungsfunktionalität, die in der Oracle AI Database-Zielumgebung verfügbar ist. In diesem Modus liest Replicat den Trail, erstellt logische Änderungsdatensätze, die Quell-DML- oder DDL-Transaktionen darstellen, und überträgt diese Datensätze an einen eingehenden Server in der Oracle-Zieldatenbank. Der eingehende Server wendet die Daten auf die Zieldatenbank an.
Hinweis: Das integrierte Replicat ist nur ein Onlineprozess. Verwenden Sie es nicht zum ersten Laden.
Im integrierten Modus nutzt der Replicat-Prozess die in Oracle AI Database verfügbare Apply-Verarbeitungsfunktionalität. In diesem Modus führt Replicat folgende Aktionen aus:
-
Liest den Oracle GoldenGate-Trail.
-
Führt Datenfilterung, -zuordnung und -konvertierung aus.
-
Erstellt Logical Change Records (LCR), die DML-Transaktionen (in festgeschriebener Reihenfolge) der Quelldatenbank darstellen. DDL wird direkt von Replicat angewendet.
-
Ist mittels "Lightweight Streaming Interface" an einen Hintergrundprozess in der Zieldatenbank (Datenbankeingangsserver) angehängt.
-
Überträgt die LCRs an den Eingangsserver, der die Daten auf die Zieldatenbank anwendet.
Innerhalb einer einzelnen Replicat-Konfiguration wenden mehrere untergeordnete Prozesse des Eingangsservers (als Apply-Server bezeichnet) Transaktionen parallel an, während die ursprüngliche Transaktionsatomarität beibehalten wird. Sie können diese Parallelität so stark erhöhen, wie Ihr Zielsystem sie unterstützt, wenn Sie den Replicat-Prozess konfigurieren, oder wenn nötig dynamisch. Das folgende Diagramm veranschaulicht das integrierte Replicat, das mit zwei parallelen Apply-Servern konfiguriert ist.

Im obigen Diagramm wendet Integrated Replicat Transaktionen asynchron an. Transaktionen, die keine gegenseitigen Abhängigkeiten aufweisen, können sicher ausgeführt und außer Betrieb genommen werden, um einen schnellen Durchsatz zu erzielen. Transaktionen mit Abhängigkeiten werden garantiert in derselben Reihenfolge wie bei der Quelle angewendet.
Ein Reader-Prozess auf dem eingehenden Server berechnet die Abhängigkeiten zwischen den Transaktionen in der Workload basierend auf den Constraints, die in der Zieldatenbank definiert sind (Primärschlüssel, eindeutiger Fremdschlüssel). Barrieretransaktionen und DDL-Vorgänge werden ebenfalls automatisch verwaltet. Ein Koordinatorprozess koordiniert mehrere Transaktionen und verwaltet die Reihenfolge zwischen den Apply-Servern.
Wenn der eingehende Server kein konfiguriertes Feature oder Spaltentyp unterstützt, hebt Replicat die Freigabe vom eingehenden Server auf, wartet darauf, dass der eingehende Server Transaktionen in seiner Queue abschließt, und wendet die Transaktion dann im Direct Apply-Modus über OCI auf die Datenbank an. Replicat setzt die Verarbeitung im integrierten Modus fort, nachdem die direkte Transaktion angewendet wurde.
Die folgenden Funktionen werden im direkten Modus von Replicat angewendet:
-
DDL-Vorgänge
-
Sequenzvorgänge
-
Parameter
SQLEXECinnerhalb eines ParametersTABLEoderMAP -
Verarbeitung von
EVENTACTIONS
Da Transaktionen seriell angewendet werden, kann die starke Verwendung solcher Vorgänge die Performance des integrierten Replicat-Modus reduzieren. Das integrierte Replicat ist am besten geeignet, wenn der größte Teil der Apply-Verarbeitung im integrierten Modus ausgeführt werden kann.
Hinweis: User Exits werden im integrierten Modus ausgeführt. Beim Beenden des Benutzers können jedoch unerwartete Ergebnisse auftreten, wenn der Exit-Code von Daten im Replikationsstream abhängt.
Hinweis: Für das integrierte Replicat müssen Fremdschlüsselspalten indiziert werden.
Vorteile von Integrated Replicat
Im Folgenden werden die Vorteile der Verwendung von integriertem Replicat gegenüber nicht integriertem Replicat aufgeführt.
-
Mit integriertem Replicat können schwere Workloads automatisch zwischen parallelen Apply-Prozessen partitioniert werden, die mehrere Transaktionen gleichzeitig anwenden, während die Integrität und Atomizität der Quelltransaktion erhalten bleibt. Mit den Parametern
PARALLELISMundMAX_PARALLELISMkönnen sowohl eine Mindest- als auch eine Höchstanzahl von Apply-Prozessen konfiguriert werden. Replicat fügt automatisch zusätzliche Server hinzu, wenn die Workload zunimmt, und passt sich dann wieder nach unten an, wenn die Workload zunimmt. -
Integriertes Replicat erfordert minimalen Konfigurationsaufwand. Alle Arbeiten werden in einer Replicat-Parameterdatei konfiguriert, ohne Range-Partitionen zu konfigurieren.
-
High-Performance-Apply-Streaming wird für das integrierte Replicat über eine einfache Anwendungsprogrammierschnittstelle (API) zwischen Replicat und dem eingehenden Server aktiviert.
-
Barrieretransaktionen werden durch integriertes Replicat zwischen mehreren Server-Apply-Prozessen koordiniert.
-
DDL-Vorgänge werden als direkte Transaktionen verarbeitet, die eine Barriere erzwingen, indem auf den Abschluss der Serververarbeitung vor der DDL-Ausführung gewartet wird.
-
Transiente doppelte Primärschlüsselaktualisierungen werden nahtlos von integriertem Replicat verarbeitet.
Integrierte Replicat-Anforderungen
Um integriertes Replicat zu verwenden, muss Folgendes zutreffen.
-
Zusätzliches Logging muss in der Quelldatenbank aktiviert sein, um die Berechnung von Abhängigkeiten zwischen Tabellen und die Planung gleichzeitiger Transaktionen auf dem Ziel zu unterstützen. Anweisungen zum Aktivieren des erforderlichen Logs finden Sie unter Transaktionslogeinstellungen und -anforderungen. Dieses Logging kann jederzeit bis zu, aber vor dem Start der Oracle GoldenGate-Prozesse aktiviert werden.
-
Paralleles Replicat im integrierten Modus wird auf Oracle Database 12.2.0.1 und höher unterstützt.