Daten von PostgresSQL mit Streaming Handler in Snowflake replizieren

Erfahren Sie, wie Sie mit OCI GoldenGate Daten von PostgreSQL mit dem Streaming-Handler in Snowflake replizieren.

Bevor Sie beginnen

Um diesen Schnellstart erfolgreich abzuschließen, benötigen Sie Folgendes:

  • Zugriff auf OCI-Datenbank mit PostgreSQL
  • Öffnen Sie Port 5432 in der Sicherheitsliste des VCN, das von OCI-Datenbank mit PostgreSQL verwendet wird.
  • Zugriff auf Snowflake

OCI-Datenbank mit PostgreSQL einrichten

  1. Erstellen Sie eine OCI-Datenbank mit PostgreSQL.
    1. In OCI PostgreSQL:
      1. Klicken Sie auf Konfigurationen.
      2. Verwenden Sie eine vorhandene Konfiguration, wie PostgreSQL.VM.Standard.E5.Flex-14-0_51.
      3. Klicken Sie auf Konfiguration kopieren, benennen Sie sie um, fügen Sie unter Benutzervariablen (Lesen/Schreiben) wal_level hinzu, und setzen Sie sie auf "logisch".
      4. Klicken Sie auf Create.
      5. Weitere Informationen finden Sie unter Kopieren einer Konfiguration.
    2. Verwenden Sie die Konfiguration, bei der wal_level beim Erstellen des DB-Systems auf "true" gesetzt ist. Weitere Informationen finden Sie unter Datenbanksystem erstellen.
  2. Stellen Sie eine Verbindung zu OCI PostgreSQL her. Weitere Informationen finden Sie unter Verbindung zu einer Datenbank herstellen.
  3. Erstellen Sie eine Datenbank und einen Benutzer für GoldenGate in OCI PostgreSQL:
    1. Datenbank
      1. Datenbank-OCGll erstellen;
      2. \c ociggll;
      3. Schema src_ociggll erstellen;
      4. Beispielskript laden (seedSRCOCIGGLL_PostgreSQL.sql)
    2. Benutzer
      1. Benutzer ggadmin mit Kennwort "<password>" erstellen;
      2. GEWÄHREN SIE ALLE PRIVILEGIEN AUF DER DATENBANK Ociggll AN ggadmin;
      3. GRANT SELECT AUF ALLE TABELLE IM SCHEMA src_ociggll TO ggadmin;

Snowflake-Datenbank einrichten

  1. Erstellen Sie eine Snowflake-Datenbank.
  2. Benutzer müssen ein PublicKey-Paar und ein PrivateKey-Paar erstellen, um sich bei Snowflake zu authentifizieren.
  3. Erstellen Sie einen Benutzer speziell für GoldenGate in Snowflake mit angemessenen Berechtigungen.
  4. Fügen Sie den Public Key dem Snowflake-Benutzer hinzu. Beispiel: ALTER USER example_user SET RSA_PUBLIC_KEY='MIIBIjANBgkqh...';
  5. Erstellen Sie Zieltabellen mit dem Beispielschema.

Aufgabe 1: OCI GoldenGate-Ressourcen erstellen

Für dieses Schnellstartbeispiel sind Deployments und Verbindungen sowohl für die Quelle als auch für das Ziel erforderlich.
  1. GoldenGate für PostgreSQL 23ai ist erforderlich.
  2. Erstellen Sie ein PostgreSQL-Deployment für die Quelldatenbank PostgreSQL.
  3. Erstellen Sie ein Big Data Deployment für die Snowflake-Zieldatenbank.
  4. Erstellen Sie eine PostgreSQL-Verbindung mit den folgenden Werten:
    1. Wählen Sie unter Typ in der Dropdown-Liste die Option OCI PostgreSQL aus.
    2. Geben Sie unter Datenbankname ociggll ein.
    3. Geben Sie unter Benutzername ggadmin ein.
    4. Geben Sie unter Kennwort Ihr Kennwort ein.
    5. Wählen Sie unter Sicherheitsprotokoll in der Dropdown-Liste die Option TLS aus, und wählen Sie Bevorzugt aus.
  5. Erstellen Sie eine Snowflake-Verbindung mit den folgenden Werten:
    1. Geben Sie unter Verbindungs-URL jdbc:snowflake://<account_identifier>.snowflakecomputing.com/?warehouse=<warehouse name>&db=OCIGGLL ein.

      Hinweis:

      Stellen Sie sicher, dass Sie <account_identifier> und <warehouse name> durch die entsprechenden Werte ersetzen.
    2. Wählen Sie unter Authentifizierungstyp in der Dropdown-Liste die Option Authentifizierung für Schlüsselpaar aus.

      Hinweis:

      Die Schlüsselpaarauthentifizierung ist der einzige unterstützte Authentifizierungstyp für Snowflake Streaming.
    3. Geben Sie unter Benutzername einen Namen ein.
    4. Laden Sie den zuvor erstellten Private Key hoch.
    5. Geben Sie die Private Key-Passphrase in das Feld "Private Key Kennwort" ein.
  6. Erstellen Sie eine Verbindung zu GoldenGate für das Big Data-Ziel-Deployment, und weisen Sie diese Verbindung dem Deployment der Quelle PostgreSQL zu.
  7. Weisen Sie die Quellverbindung PostgreSQL dem Deployment PostgreSQL zu.
  8. Weisen Sie die Snowflake-Verbindung dem Big Data-Ziel-Deployment zu.

Aufgabe 2: Zusätzliches Logging aktivieren

So aktivieren Sie zusätzliches Logging:
  1. Starten Sie die PostgreSQL GoldenGate-Deployment-Konsole:
    1. Wählen Sie auf der Seite "Deployments" das PostgreSQL-Deployment aus, um die zugehörigen Details anzuzeigen.
    2. Klicken Sie auf der Seite mit den Details des Deployments PostgreSQL auf Konsole starten.
    3. Geben Sie auf der Anmeldeseite der Deployment-Konsole die in Aufgabe 1, Schritt 1 angegebenen Admin-Zugangsdaten GoldenGate ein.

      Hinweis:

      Eine Anmeldung ist erforderlich, wenn IAM beim Erstellen eines Deployments nicht als Zugangsdatenspeicher ausgewählt wurde.
  2. Klicken Sie in GoldenGate 23ai in der linken Navigation auf DB-Verbindungen, dann auf die Quelldatenbank PostgreSQL und dann auf Trandata.
  3. Klicken Sie auf der Seite "TRANDATA" neben "TRANDATA-Informationen" auf TRANDATA hinzufügen (Plussymbol).
  4. Geben Sie im Trandata-Bereich unter Schemaname src_ociggll.* ein, und klicken Sie auf Weiterleiten.

    Hinweis:

    Suchen Sie src_ociggll mit dem Suchfeld, und prüfen Sie, ob die Tabellen hinzugefügt wurden.

Aufgabe 3: Extracts erstellen

  1. Fügen Sie die Change Data Capture Extract hinzu:
    1. Klicken Sie in der linken Navigationsleiste auf Extrakte,
    2. Klicken Sie auf der Seite Extrakte auf Extrahieren hinzufügen (Plussymbol), und füllen Sie die Felder wie folgt aus:
      • Gehen Sie auf der Seite "Daten extrahieren" wie folgt vor:
        1. Wählen Sie unter Extract-Typ die Option Change Data Capture Extract aus.
        2. Geben Sie unter Prozessname einen Namen wie ECDC für den Extrakt ein.
        3. Klicken Sie auf Weiter.
      • Gehen Sie auf der Seite Optionen extrahieren wie folgt vor:
        1. Wählen Sie unter "Quellzugangsdaten" in der Dropdown-Liste Domain die Option Oracle GoldenGate aus
        2. Wählen Sie die Quelldatenbank PostgreSQL in der Dropdown-Liste Alias aus.
        3. Geben Sie unter Extrahieren einen Trailnamen mit zwei Zeichen wie C1 ein.
        4. Klicken Sie auf Registrieren und dann auf Weiter.
      • Fügen Sie auf der Seite Parameter extrahieren:
        TABLE src_ociggll.*;
    3. Klicken Sie auf Erstellen und ausführen.
  2. Erstmaliges Laden Extrahieren hinzufügen:
    1. Klicken Sie auf der Seite "Exporte" auf Extrahieren hinzufügen, und füllen Sie das Formular "Extrahieren hinzufügen" wie folgt aus:
      • Gehen Sie auf der Seite "Informationen zum Extrahieren" wie folgt vor:
        1. Wählen Sie unter Extrahieren die Option Erstmaliges Laden Extrahieren aus.
        2. Geben Sie unter Prozessname einen Namen wie EIL ein.
        3. Klicken Sie auf Weiter.
      • Gehen Sie auf der Seite Optionen extrahieren wie folgt vor:
        1. Wählen Sie unter "Quellzugangsdaten" in der Dropdown-Liste Domain die Option Oracle GoldenGate aus.
        2. Wählen Sie in der Dropdown-Liste Alias die Datenbank PostgreSQL aus.
        3. Geben Sie unter Extrahieren Trailname einen aus zwei Zeichen bestehenden Trailnamen wie I1 ein.
        4. Klicken Sie auf Weiter.
      • Ersetzen Sie auf der Seite "Parameter für Extrahieren" TABLE *.* durch Folgendes:
        TABLE src_ociggll.*;
    2. Klicken Sie auf Erstellen und ausführen.
Sie kehren zur Seite Extrakte zurück, auf der Sie den Extract-Vorgang starten können.

Aufgabe 4: Distribution Path für Initial Load Extract erstellen

So erstellen Sie eine Distribution Path für Initial Load Extract:
  1. Wählen Sie in der Oracle Cloud-Konsole auf der Seite "Deployments" das Ziel-Big Data-Deployment aus.
  2. Klicken Sie auf der Seite "Deployment" auf Konsole starten. Melden Sie sich mit den Details des Admin-Benutzers an, die in Aufgabe 1, Schritt 2 erstellt wurden.
  3. Wenn Sie den IAM-Zugangsdatenspeicher verwenden, fahren Sie mit dem Schritt "Distribution Path erstellen" fort. Wenn Sie den Zugangsdatenspeicher GoldenGate verwenden, erstellen Sie einen Benutzer, mit dem die Quelle GoldenGate eine Verbindung zum Ziel GoldenGate herstellt.
    1. Klicken Sie im Navigationsmenü auf Benutzerverwaltung.
    2. Klicken Sie wie folgt auf Neuen Benutzer hinzufügen (Pluszeichen), füllen Sie die Felder aus, und klicken Sie auf Weiterleiten:
      • Geben Sie unter Benutzername ggsnet ein.
      • Wählen Sie unter Rolle die Option Operator aus.
      • Geben Sie das Kennwort zur Bestätigung zweimal ein.
  4. Erstellen Sie in der Deployment-Konsole Quelle PostgreSQL eine Pfadverbindung für den im vorherigen Schritt erstellten Benutzer.
    1. Klicken Sie im Navigationsmenü auf Pfadverbindungen.
    2. Klicken Sie auf Pfadverbindung hinzufügen (Pluszeichen), füllen Sie die Felder wie folgt aus, und klicken Sie auf Weiterleiten:
      • Geben Sie als Zugangsdatenalias dpuser ein.
      • Geben Sie unter "Benutzer-ID" ggsnet ein.
      • Geben Sie unter "Kennwort" dasselbe Kennwort ein, das im vorherigen Schritt verwendet wurde.
  5. Distribution Path erstellen.
    1. Klicken Sie in der Servicemenüleiste auf Distribution Service und dann auf Distribution Path hinzufügen (Plussymbol).
    2. Füllen Sie das Formular "Pfad hinzufügen" wie folgt aus:
      • Auf der Seite "Pfadinformationen":
        1. Geben Sie unter Pfadname einen Namen für diesen Pfad ein.
        2. Klicken Sie auf Weiter.
      • Gehen Sie auf der Seite {\b Source Options} wie folgt vor:
        1. Lassen Sie das Feld Quelle Extract leer.
        2. Geben Sie unter Trailname den Trailnamen Initial Load Extract (I1) ein.
        3. Klicken Sie auf Weiter.
      • Gehen Sie auf der Seite "Zieloptionen" wie folgt vor:
        1. Wählen Sie als Zielprotokoll die Option wss aus.
        2. Geben Sie unter Zielhost die Ziel-Deployment-URL ohne https:// oder abschließende Schrägstriche ein.
        3. Geben Sie unter Portnummer die Nummer 443 ein.
        4. Geben Sie unter Trailname I1 ein.
        5. Wählen Sie unter Zielauthentifizierungsmethode die Option OAuth aus.

          Hinweis:

          Wählen Sie UserID-Alias aus, wenn GoldenGate beim Erstellen eines Deployments als Zugangsdatenspeicher ausgewählt wurde. Andernfalls wählen Sie OAuth.
        6. Geben Sie unter Domain den im vorherigen Schritt erstellten Domainnamen ein.
        7. Geben Sie unter Alias den im vorherigen Schritt erstellten Alias ein (dpuser).
        8. Klicken Sie auf Weiter.
    3. Klicken Sie auf Erstellen und ausführen.
    Sie kehren zur Seite Distribution Service zurück, auf der Sie den erstellten Pfad prüfen können.
  6. Prüfen Sie in der Big Data-Deployment-Konsole von Ziel die Receiver Path, die als Ergebnis von Distribution path erstellt wurde:
    1. Klicken Sie auf Receiver Service.
    2. Prüfen Sie die Details von Receiver Path.

Aufgabe 5: Replicat für Initial Load hinzufügen

  1. Fügen Sie in der Ziel-Deployment-Konsole von Big Data die Initial Load Replicat hinzu.
    1. Klicken Sie im Navigationsmenü auf Replikate und dann auf Replikat hinzufügen (Plussymbol).
    2. Füllen Sie auf der Seite Replicats die Felder "Replicat hinzufügen" wie folgt aus:
      1. Gehen Sie auf der Seite {\b Replication Information} wie folgt vor:
        1. Wählen Sie unter Replicat-Typ die Option Koordiniertes Replicat aus.
        2. Geben Sie unter Prozessname einen Namen wie RIL ein.
        3. Klicken Sie auf Weiter.
      2. Gehen Sie auf der Seite "Replicat-Optionen" wie folgt vor:
        1. Geben Sie unter Replicat-Trailname den Namen des Trails aus Aufgabe 2 (I1) ein.
        2. Wählen Sie unter Ziel die Option "Snowflake" aus.
        3. Wählen Sie unter Zielzugangsdaten die Domain und den Alias für die Verbindung Snowflake aus.
        4. Wählen Sie unter Verfügbare Aliasnamen einen Alias aus der Dropdown-Liste aus, z.B. Snowflake.
        5. Streaming auswählen.
        6. Klicken Sie auf Weiter.
      3. Fügen Sie auf der Seite "Parameterdatei" das folgende Mapping hinzu:
        INSERTALLRECORDS
        MAP src_ociggll.src_city, TARGET SRCMIRROR_OCIGGLL.SRC_CITY;
        MAP src_ociggll.src_region, TARGET SRCMIRROR_OCIGGLL.SRC_REGION;
        MAP src_ociggll.src_customer, TARGET SRCMIRROR_OCIGGLL.SRC_CUSTOMER;
        MAP src_ociggll.src_orders, TARGET SRCMIRROR_OCIGGLL.SRC_ORDERS;
        MAP src_ociggll.src_order_lines, TARGET SRCMIRROR_OCIGGLL.SRC_ORDER_LINES;
        MAP src_ociggll.src_product, TARGET SRCMIRROR_OCIGGLL.SRC_PRODUCT;
      4. Prüfen Sie auf der Seite "Eigenschaften" die Eigenschaften, und fügen Sie jvm.bootoptions= -Djdk.lang.processReaperUseDefaultStackSize=true hinzu.
      5. Klicken Sie auf Erstellen und ausführen.

    Sie kehren zur Seite Replicats zurück, auf der Sie die Replicat-Details prüfen können.

  2. Um die Initial Load zu prüfen, stellen Sie eine Verbindung zur Datenbank Snowflake her, und führen Sie die folgenden Abfragen aus:
    select * from SRCMIRROR_OCIGGLL.SRC_CITY;
    select * from SRCMIRROR_OCIGGLL.SRC_CUSTOMER;

    Die Ausgabe sollte die Daten zurückgeben, die als Ergebnis von Initial Load in die Zieldatenbanktabellen geladen wurden.

Aufgabe 6: Distribution Path für Change Data Capture erstellen

So erstellen Sie eine Distribution Path für Change Data Capture:
  1. Klicken Sie in der Deployment-Konsole für die Quelle PostgreSQL auf Vertriebsservice.
  2. Klicken Sie auf Distribution Path hinzufügen.
  3. Füllen Sie das Formular "Pfad hinzufügen" wie folgt aus:
    1. Auf der Seite "Pfadinformationen":
      1. Geben Sie unter Pfadname einen Namen ein.
      2. Klicken Sie auf Weiter.
    2. Gehen Sie auf der Seite {\b Source Options} wie folgt vor:
      1. Wählen Sie unter Quelle Extract die Option Change Data Capture Extract (ECDC)) aus.
      2. Wählen Sie unter Trailname die Traildatei Change Data Capture (C1) aus.
      3. Klicken Sie auf Weiter.
    3. Gehen Sie auf der Seite "Zieloptionen" wie folgt vor:
      1. Wählen Sie unter Ziel die Option wss aus.
      2. Geben Sie unter Zielhost die URL der Ziel-Deployment-Konsole ein (Sie finden diese auf der Seite mit den Deployment-Details, ohne den https:// oder abschließende Schrägstriche).
      3. Geben Sie unter Portnummer die Nummer 443 ein.
      4. Geben Sie unter Trailname C1 ein.
      5. Wählen Sie unter Zielauthentifizierungsmethode die Option OAuth aus.

        Hinweis:

        Wählen Sie UserID-Alias aus, wenn GoldenGate beim Erstellen eines Deployments als Zugangsdatenspeicher ausgewählt wurde. Andernfalls wählen Sie OAuth.
      6. Geben Sie unter Domain den Domainnamen ein.
      7. Geben Sie unter Alias den Alias ein.
    4. Klicken Sie auf Pfad erstellen und ausführen.
  4. Klicken Sie in der Deployment-Konsole von Big Data des Ziels auf Receiver Service, und prüfen Sie die erstellte Receiver path.

Aufgabe 7: Replicat für Change Data Capture hinzufügen

Führen Sie Aktualisierungen an der Quelldatenbank PostgreSQL aus, um die Replikation in Snowflake zu prüfen.
  1. Fügen Sie die Replicat hinzu.
    1. Klicken Sie in der Deployment-Konsole für Ziel-Big Data auf Administration Service, und klicken Sie dann im Navigationsmenü auf Replicats.
    2. Klicken Sie auf der Seite Replicats auf Replicat hinzufügen (Plussymbol), und füllen Sie das Formular "Replicat hinzufügen" wie folgt aus:
      • Auf der Seite "Replicat-Informationen":
        1. Wählen Sie unter Typ Replicat die Option Classic oder Coordinated aus.
        2. Geben Sie unter Prozessname einen Namen wie RCDC ein.
        3. Klicken Sie auf Weiter.
      • Gehen Sie auf der Seite "Optionen" unter Replicat wie folgt vor:
        1. Geben Sie unter Replicat Trailname den Namen des Trail aus Aufgabe 3 (C1) ein.
        2. Wählen Sie unter Ziel die Option "Snowflake" aus.
        3. Wählen Sie unter Zielzugangsdaten die Domain und den Alias für die Verbindung Snowflake aus.
        4. Streaming auswählen.
      • Fügen Sie auf der Seite "Parameterdateien" die folgende Zuordnung hinzu, und klicken Sie auf Weiter:
        INSERTALLRECORDS 
        MAP src_ociggll.src_city, TARGET SRCMIRROR_OCIGGLL.SRC_CITY;
        MAP src_ociggll.src_region, TARGET SRCMIRROR_OCIGGLL.SRC_REGION;
        MAP src_ociggll.src_customer, TARGET SRCMIRROR_OCIGGLL.SRC_CUSTOMER;
        MAP src_ociggll.src_orders, TARGET SRCMIRROR_OCIGGLL.SRC_ORDERS;
        MAP src_ociggll.src_order_lines, TARGET SRCMIRROR_OCIGGLL.SRC_ORDER_LINES;
        MAP src_ociggll.src_product, TARGET SRCMIRROR_OCIGGLL.SRC_PRODUCT;
      • Prüfen Sie auf der Seite "Eigenschaften" die Eigenschaften, fügen Sie die folgende Zuordnung hinzu, und klicken Sie auf Erstellen und ausführen:
        jvm.bootoptions= -Djdk.lang.processReaperUseDefaultStackSize=true

    Sie kehren zur Seite Replicats zurück, auf der Sie die Replicat-Details prüfen können.

  2. Prüfen Sie Change Data Capture:
    1. Führen Sie Updates für die Quelldatenbank PostgreSQL aus, um die Replikation in Snowflake zu prüfen. Führen Sie das folgende Skript aus, um Einfügungen in die Datenbank PostgreSQL durchzuführen:
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1000,'Houston',20,743113);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1001,'Dallas',20,822416);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1002,'San Francisco',21,157574);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1003,'Los Angeles',21,743878);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1004,'San Diego',21,840689);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1005,'Chicago',23,616472);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1006,'Memphis',23,580075);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1007,'New York City',22,124434);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1008,'Boston',22,275581);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1009,'Washington D.C.',22,688002);
    2. Wählen Sie in der Deployment-Konsole der Quelle PostgreSQL die Option RCDC aus, und klicken Sie auf Statistiken. Stellen Sie sicher, dass src_ociggll.src_city über 10 Insert-Vorgänge verfügt.

      Hinweis:

      Wenn die Extract keine Einfügungen erfasst hat, starten Sie die ECDC Extract neu.
    3. Wählen Sie in der Big Data-Ziel-Deployment-Konsole RCDC aus, und prüfen Sie die zugehörigen Details und Statistiken, um die Anzahl der Einfügungen zu prüfen.

Aufgabe 8: Prozesse überwachen und verwalten

  1. Überwachen Sie die Performance.
  2. Verwalten Sie die Traildateien.