Präzise Instanziierung für PostgreSQL mit erstmaligem Ladeextrakt

Die Datensynchronisierung von einer Quelldatenbank PostgreSQL zu einem Oracle GoldenGate-Ziel kann mit der optionalen Methode zur präzisen Instanziierung durchgeführt werden. Diese Methode wurde mit Oracle GoldenGate 21c (21.8.0) eingeführt.

Eine präzise Instanziierung hat den Vorteil, dass keine Kollisionsbehandlung im Ziel-Replicat erforderlich ist. Dies ist wichtig für Ziele, die keine Kollisionsbehandlung unterstützen, wie Flat Files. Bei dieser Methode wird ein Datenbank-Snapshot verwendet, um die Ausgabe des anfänglichen Ladeextrakts mit der Startposition des Change Data Capture-Extrakts zu synchronisieren. Dieser Snapshot wird vom Extract beim erstmaligen Laden verwaltet. Daher ist es nicht möglich, dass mehrere Extracts beim erstmaligen Laden denselben Snapshot verwenden. Daher wird diese Methode nicht unterstützt, wenn mehrere anfängliche Ladeextrakte zur Parallelisierung der Workload verwendet werden.

Im folgenden Beispiel wird der Admin-Client in der Microservices-Architektur verwendet. Es wird davon ausgegangen, dass Sie mit Oracle GoldenGate vertraut sind und die Quell- und Zieldatenbank korrekt eingerichtet haben, mit allen erforderlichen Voraussetzungen. Für diese Schritte ist mindestens Oracle GoldenGate 21c (21.8.0) erforderlich.

Führen Sie die folgenden Schritte aus, um End-to-End-Prozesse zum erstmaligen Laden und Synchronisieren mit der präzisen Instanziierungsmethode einzurichten:

  1. Registrieren Sie einen Change Data Capture-(CDC-)Extract bei der Quelldatenbank PostgreSQL.

    DBLOGIN USERIDALIAS src_alias
    REGISTER EXTRACT extecdc

    In diesem Beispiel ist extecdc der Extract-Name. Verwenden Sie für die Microservices-Architektur DBLOGIN USERIDALIAS für das Setup der Datenbankverbindung.

  2. Erstmaligen Ladeextrakt erstellen

    ADD EXTRACT extinit, SOURCEISTABLE
    EDIT PARAMS extinit

    Die Extract-Parameterdatei für das anfängliche Laden muss den Parameter INITIALLOADOPTIONS USESNAPSHOT enthalten. Beispiel:

    EXTRACT extinit
    INITIALLOADOPTIONS USESNAPSHOT
    SOURCEDB USERIDALIAS src_alias
    EXTFILE west/ei, MEGABYTES 500, PURGE
    TABLE public.*;

    Weitere Informationen zur Verwendung dieses Parameters mit der Option USESNAPSHOT finden Sie unter INITIALLOADOPTIONS.

  3. Starten Sie den Extract zum erstmaligen Laden.

    START EXTRACT extinit
  4. Wenn die Extraktion zum erstmaligen Laden abgeschlossen und gestoppt wurde, prüfen Sie die Berichtsdatei, um die Positionierungs-LSN zu bestimmen, die vom CDC-Extrakt verwendet werden soll.

    Beispiel: In der folgenden Ausgabe lautet die Positionierungs-LSN, die vom CDC-Extrakt verwendet werden soll, "0/173F770".

    INFO    OGG-100001 A consistent point is
    established in database 'tpcc' using replication slot ogg_initx_1234 at LSN 0/173F770
    and snapshot name '00000003-00000026-1'.
    INFO    OGG-100002 Create or position the CDC
    extract to LSN 0/173F770. Example: ADD EXTRACT <cdc-extract> TRANLOG LSN 0/173F770
    
    or ALTER EXTRACT <cdc-extract> LSN 0/173F770.
  5. Erstellen und starten Sie ein Replicat zum erstmaligen Laden, das den Trail aus dem Extract zum erstmaligen Laden liest.

    DBLOGIN USERIDALIAS tgt_alias
    ADD CHECKTPOINTTABLE ggs.checkpoint
    ADD REPLICAT repinit, EXTTRAIL west/ei, CHECKPOINTTABLE ggs.ggcheckpoint
    START REPLICAT repinit

    Im Folgenden finden Sie ein Beispiel für die Replicat-Parameterdatei zum erstmaligen Laden:

    REPLICAT repinit
    TARGETDB USERIDALIAS tgt_alias
    BATCHSQL
    MAP public.*, TARGET public.*;
  6. Fügen Sie den CDC-Extrakt (extecdc) mit dem konsistenten LSN-Wert hinzu, auf den in der Extract-Berichtsdatei für das erstmalige Laden verwiesen wird, und starten Sie ihn.

    ADD EXTRACT extecdc, TRANLOG, LSN 0/173F770
    ADD EXTTRAIL ea, EXTRACT extecdc
    START EXTRACT extecdc

    Im Folgenden finden Sie ein Beispiel für eine CDC Extract-Parameterdatei:

    EXTRACT extecdc
    SOURCEDB USERIDALIAS src_alias
    EXTTRAIL west/ea
    TABLE public.*;
  7. Wenn das anfängliche Laden von Replicat alle Datensätze zum erstmaligen Laden verarbeitet hat, fügen Sie ein CDC-Replicat hinzu, das den Trail aus dem CDC-Extrakt liest, und starten Sie es.

    ADD REPLICAT repecdc, EXTTRAIL west/ea, CHECKPOINTTABLE ggs.ggcheckpoint
    START REPLICAT repecdc
  8. Überwachen Sie die Verzögerung sowohl im CDC-Extrakt als auch im CDC-Replicat, und wenn beide nahe null Sekunden liegen, sollte der Datenstream von der Quell- zur Zieldatenbank nahe an Echtzeit liegen.