Daten mit Streaming-Handler von PostgresSQL in Snowflake replizieren

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

Bevor Sie beginnen

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

OCI Database with PostgreSQL einrichten

  1. Erstellen Sie eine OCI Database with PostgreSQL.

    1. In OCI Database with PostgreSQL:

      1. Wählen Sie Konfigurationen aus.

      2. Verwenden Sie eine vorhandene Konfiguration, wie PostgreSQL.VM.Standard.E5.Flex-14-0_51.

      3. Wählen Sie Konfiguration kopieren, benennen Sie sie um, fügen Sie unter Benutzervariablen wal_level hinzu (lesen/schreiben), und setzen Sie sie auf "logisch".

      4. Wählen Sie Erstellen.

      5. Weitere Informationen finden Sie unter Konfiguration kopieren.

    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 Database with 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 Database with PostgreSQL:

    1. Datenbank

      1. Datenbank erstellen ociggll;

      2. \c ociggll;

      3. Schema erstellen src_ociggll;

      4. Beispielskript laden

    2. Benutzer

      1. Benutzer ggadmin mit dem Kennwort <password> erstellen;

      2. GEWÄHRLEISTUNG ALLER PRIVILEGIEN AUF DATENBANK ociggll TO ggadmin;

      3. GRANT SELECT ON ALL TABLES IN SCHEMA src_ociggll TO ggadmin;

Snowflake-Datenbank einrichten

  1. Snowflake-Datenbank erstellen.

  2. Benutzer müssen ein Public- und Private-Key-Paar erstellen, um sich bei Snowflake zu authentifizieren.

  3. Erstellen Sie einen Benutzer speziell für GoldenGate in Snowflake mit geeigneten 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 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 26ai ist erforderlich.

  2. Erstellen Sie ein PostgreSQL-Deployment für die PostgreSQL-Quelldatenbank.

  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 Database with PostgreSQL aus.

    2. Geben Sie unter Datenbankname ociggll ein.

    3. Geben Sie unter Username ggadmin ein.

    4. Geben Sie Ihr Kennwort für 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 Schlüsselpaarauthentifizierung 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 Passwortfeld für den Private-Key ein.

  6. Erstellen Sie eine Verbindung zu GoldenGate für das Ziel-Big Data-Deployment, und weisen Sie diese Verbindung dem Quell-PostgreSQL-Deployment zu.

  7. Weisen Sie die PostgreSQL-Quellverbindung dem PostgreSQL-Deployment 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. Wählen Sie auf der Detailseite des PostgreSQL-Deployments die Option Konsole starten aus.

    3. Geben Sie auf der Anmeldeseite der Deployment-Konsole die GoldenGate-Admin-Zugangsdaten ein, die in Aufgabe 1, Schritt 1 angegeben sind.

      Hinweis: Eine Anmeldung ist erforderlich, wenn IAM beim Erstellen eines Deployments nicht als Zugangsdatenspeicher ausgewählt wurde.

  2. Wählen Sie in der Deployment-Konsole in der linken Navigationsleiste die Option DB-Verbindungen, dann die PostgreSQL-Quelldatenbank und dann Trandata aus.

  3. Wählen Sie auf der Seite "TRANDATA" neben "TRANDATA-Informationen" die Option TRANDATA hinzufügen (Plussymbol).

  4. Geben Sie im Bereich "Trandata" unter Schemaname src_ociggll ein, und wählen Sie Weiterleiten aus.

    Hinweis: Mit dem Suchfeld können Sie nach src_ociggll suchen und prüfen, ob die Tabellen hinzugefügt wurden.

Aufgabe 3: Extracts erstellen

  1. Fügen Sie den Change Data Capture Extract hinzu:

    1. Wählen Sie in der linken Navigationsleiste die Option Extracts aus.

    2. Wählen Sie auf der Seite "Extracts" die Option Extract hinzufügen (Plussymbol), und füllen Sie die Felder wie folgt aus:

      • Auf der Seite "Daten extrahieren":

        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 Extract an.

        3. Wählen Sie Weiter.

      • Gehen Sie auf der Seite "Exportoptionen" wie folgt vor:

        1. Wählen Sie für Quellzugangsdaten in der Dropdown-Liste Domain die Option Oracle GoldenGate aus

        2. Wählen Sie in der Dropdown-Liste Alias die PostgreSQL-Quelldatenbank aus.

        3. Geben Sie unter "Trailname extrahieren" einen aus zwei Zeichen stehenden Trailnamen wie C1 ein.

        4. Wählen Sie Weiter.

      • Ersetzen Sie auf der Seite "Parameter extrahieren" MAP *.*, TARGET *.*; durch Folgendes:

        TABLE SRC_OCIGGLL.*;
    3. Wählen Sie Erstellen und ausführen aus.

  2. Fügen Sie den Extract für das erstmalige Laden hinzu:

    1. Wählen Sie auf der Seite "Extracts" die Option Extract hinzufügen aus, und füllen Sie das Formular "Extract hinzufügen" wie folgt aus:

      • Auf der Seite "Daten extrahieren":

        1. Wählen Sie für den Extract-Typ die Option Initial Load Extract aus.

        2. Geben Sie unter Prozessname einen Namen wie EIL ein.

        3. Wählen Sie Weiter.

      • Gehen Sie auf der Seite "Exportoptionen" wie folgt vor:

        1. Wählen Sie für Quellzugangsdaten in der Dropdown-Liste Domain die Option Oracle GoldenGate aus.

        2. Wählen Sie in der Dropdown-Liste Alias die PostgreSQL-Datenbank aus.

        3. Geben Sie unter Trailname extrahieren einen aus zwei Zeichen stehenden Trailnamen wie I1 ein.

        4. Wählen Sie Weiter.

      • Ersetzen Sie auf der Seite "Extract-Parameter" den Inhalt des Textbereichs durch Folgendes:

        EXTRACT EIL
        USERIDALIAS PostgreSQL_Compute, DOMAIN OracleGoldenGate
        EXTFILE I1, PURGE
        TABLE src_ociggll.*;

        Hinweis: Stellen Sie sicher, dass Sie den Parameter SOURCEDB vor USERIDALIAS entfernen, bevor Sie fortfahren.

    2. Wählen Sie Erstellen und ausführen aus.

Sie kehren zur Seite "Extracts" zurück, auf der Sie den Extract-Start beobachten können.

Aufgabe 4: Verteilungspfad für den Extract der erstmaligen Ladung erstellen

So erstellen Sie einen Verteilungspfad für die erstmalige Ladung:

  1. Wählen Sie in der Oracle Cloud-Konsole auf der Seite "Deployments" das Ziel-Big Data-Deployment aus.

  2. Wählen Sie auf der Seite "Deployment-Details" die Option Konsole starten aus, und melden Sie sich als Admin-Benutzer an.

  3. Wenn Sie den IAM-Zugangsdatenspeicher verwenden, fahren Sie mit dem Schritt "Verteilungspfad erstellen" fort. Wenn Sie den GoldenGate-Zugangsdatenspeicher verwenden, erstellen Sie einen Benutzer, mit dem die Quelle GoldenGate eine Verbindung zum GoldenGate-Ziel herstellt.

    1. Wählen Sie im Navigationsmenü die Option Benutzeradministration aus.

    2. Wählen Sie Neuen Benutzer hinzufügen (Plussymbol), füllen die Felder wie folgt auf, und wählen Sie Weiterleiten aus:

      • 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 Quell-PostgreSQL-Deployment-Konsole eine Pfadverbindung für den im vorherigen Schritt erstellten Benutzer.

    1. Wählen Sie im Navigationsmenü die Option Pfadverbindungen.

    2. Wählen Sie Pfadverbindung hinzufügen (Plussymbol), füllen Sie die Felder wie folgt aus, und wählen Sie Weiterleiten aus:

      • 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. Verteilungspfad erstellen.

    1. Wählen Sie in der Servicemenüleiste Pfade und dann Verteilungspfad hinzufügen (Plussymbol).

    2. Füllen Sie das Formular "Pfad hinzufügen" wie folgt aus:

      • Gehen Sie auf der Seite "Pfadinformationen" wie folgt vor:

        1. Geben Sie unter Pfadname einen Namen für diesen Pfad an.

        2. Wählen Sie Weiter.

      • Gehen Sie auf der Seite {\b Source Options} wie folgt vor:

        1. Geben Sie unter Quellextrakt keinen Wert ein.

        2. Geben Sie unter Trailname den Trailnamen für den Extract des erstmaligen Ladens (I1) ein.

        3. Wählen Sie Weiter.

      • 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 Ziel-Deployment-URL ohne https:// oder abschließende Schrägstriche an.

        3. Geben Sie unter Portnummer 443 ein.

        4. Geben Sie unter Trailname I1 ein.

        5. Wählen Sie unter Zielauthentifizierungsmethode die Option UserID-Alias.

        6. Geben Sie unter Domain den Domainnamen an, der im vorherigen Schritt erstellt wurde.

        7. Geben Sie unter Alias den im vorherigen Schritt erstellten Alias ein (dpuser).

        8. Wählen Sie Weiter.

    3. Wählen Sie Erstellen und ausführen aus.

    Sie kehren zur Seite "Verteilungsservice" zurück, auf der Sie den erstellten Pfad prüfen können.

  6. Prüfen Sie in der Ziel-Deployment-Konsole den Empfangspfad, der als Ergebnis des Verteilungspfades erstellt wurde:

    1. Wählen Sie Pfade aus.

    2. Prüfen Sie die Pfadinformationen.

Aufgabe 5: Replicat zum erstmaligen Laden hinzufügen

  1. Fügen Sie in der Big Data-Deployment-Konsole des Ziels das anfängliche Ladereplicat hinzu.

    1. Wählen Sie im Navigationsmenü Replikate und dann Replikat hinzufügen (Plussymbol).

    2. Füllen Sie auf der Seite "Replicats" die Felder "Replicat hinzufügen" wie folgt aus:

      1. Auf der Seite "Replikationsinformationen":

        1. Wählen Sie unter Replikattyp die Option Koordiniertes Replicat aus.

        2. Geben Sie unter Prozessname einen Namen wie RIL ein.

        3. Wählen Sie Weiter.

      2. Gehen Sie auf der Seite {\b Replicat Options} wie folgt vor:

        1. Geben Sie unter Replicat-Trailname den Namen des Trails aus Aufgabe 2 (I1) ein.

        2. Wählen Sie unter Ziel "Snowflake" aus.

        3. Wählen Sie unter Zieldaten die Domain und Alias für die Snowflake-Verbindung aus.

        4. Wählen Sie unter Verfügbare Aliasnamen einen Alias aus der Dropdown-Liste aus, z.B. Snowflake.

        5. Wählen Sie Streaming aus.

        6. Wählen Sie Weiter.

      3. Fügen Sie auf der Seite "Parameterdatei" die folgende Zuordnung 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. Wählen Sie Erstellen und ausführen aus.

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

  2. Um das erstmalige Laden zu prüfen, melden Sie sich bei der Snowflake-Datenbank an, und führen Sie folgende Abfragen aus:

    select * from SRCMIRROR_OCIGGLL.SRC_CITY;
    select * from SRCMIRROR_OCIGGLL.SRC_CUSTOMER;

    Die Ausgabe sollte die Daten zurückgeben, die als Ergebnis des erstmaligen Ladevorgangs in die Zieldatenbanktabellen geladen wurden.

Aufgabe 6: Verteilungspfad für Change Data Capture erstellen

  1. Wählen Sie in der Quell-PostgreSQL-Deployment-Konsole die Option Verteilungsservice aus.

  2. Wählen Sie Verteilungspfad hinzufügen aus.

  3. Füllen Sie das Formular "Pfad hinzufügen" wie folgt aus:

    1. Gehen Sie auf der Seite "Pfadinformationen" wie folgt vor:

      1. Geben Sie unter Pfadname einen Namen ein.

      2. Wählen Sie Weiter.

    2. Gehen Sie auf der Seite {\b Source Options} wie folgt vor:

      1. Wählen Sie unter Quellextrakt den Change Data Capture Extract (ECDC) aus.

      2. Wählen Sie unter Trailname die Traildatei für den Change Data Capture-Extrakt (C1).

      3. Wählen Sie 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 Ziel-Deployment-Konsolen-URL ein (Sie finden diese auf der Seite mit den Deployment-Details ohne https:// oder abschließende Schrägstriche).

      3. Geben Sie unter Portnummer 443 ein.

      4. Geben Sie unter Trailname C1 ein.

      5. Wählen Sie unter Zielauthentifizierungsmethode die Option UserID-Alias.

      6. Geben Sie unter Domain den Domainnamen ein.

      7. Geben Sie unter Alias den Alias ein.

    4. Wählen Sie Pfad erstellen und ausführen aus.

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

Führen Sie Updates an der PostgreSQL-Quelldatenbank aus, um die Replikation auf Snowflake zu prüfen.

  1. Fügen Sie das Replicat hinzu.

    1. Wählen Sie in der Big Data-Zielbereitstellungskonsole die Option Administration Service, und wählen Sie im Navigationsmenü die Option Replikate aus.

    2. Wählen Sie auf der Seite Replikate die Option 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 Replikattyp die Option Klassisch oder Koordiniert aus.

        2. Geben Sie unter Prozessname einen Namen wie RCDC ein.

        3. Wählen Sie Weiter.

      • Gehen Sie auf der Seite {\b Replicat Options} wie folgt vor:
        1. Geben Sie unter Replicat-Trailname den Namen des Trails aus Aufgabe 3 (C1) ein.

        2. Wählen Sie unter Ziel "Snowflake" aus.

        3. Wählen Sie unter Zielzugangsdaten die Domain und den Alias für die Snowflake-Verbindung aus.

        4. Wählen Sie Streaming aus.

      • Fügen Sie auf der Seite "Parameterdateien" die folgende Zuordnung hinzu, und wählen Sie Weiter aus:

        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 wählen Sie Erstellen und ausführen aus:

        jvm.bootoptions= -Djdk.lang.processReaperUseDefaultStackSize=true

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

  2. Change Data Erfassen prüfen:

    1. Führen Sie Updates an der PostgreSQL-Quelldatenbank aus, um die Replikation auf Snowflake zu prüfen. Führen Sie das folgende Skript aus, um Einfügungen in die PostgreSQL-Datenbank auszufü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 Quell-PostgreSQL-Deployment-Konsole die Option RCDC und dann Statistiken aus. Stellen Sie sicher, dass src_ociggll.src_city 10 Insert-Vorgänge enthält.

      Hinweis: Wenn der Extract keine Einfügevorgänge erfasst hat, starten Sie den Extract ECDC neu.

    3. Wählen Sie in der Big Data-Ziel-Deployment-Konsole die RCDC aus, und prüfen Sie die zugehörigen Details und Statistiken, um die Anzahl der Einfügevorgänge zu prüfen.

Aufgabe 8: Prozesse überwachen und verwalten

  1. Überwachen Sie den Replikationsprozess.

  2. Traildateien verwalten.