Daten von PostgreSQL in Autonomous Transaction Processing replizieren

Hier erfahren Sie, wie Sie mit OCI GoldenGate Daten von einer PostgreSQL-Serverdatenbank in Autonomous Transaction Processing replizieren.

Bevor Sie beginnen

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

Umgebung einrichten: PostgreSQL

So richten Sie die Umgebung für diesen Schnellstart ein:
  1. Führen Sie die folgenden Befehle aus, um PostgreSQL zu installieren.
    1. Installieren Sie den PostgreSQL-Server:
      sudo yum install postgresql-server
    2. Installieren Sie das postgresql-contrib-Modul, um diese SQL-Ausnahme zu vermeiden:
      sudo yum install postgresql-contrib
    3. Erstellen Sie ein neues PostgreSQL-Datenbankcluster:
      sudo postgresql-setup --initdb
    4. Aktivieren Sie postgresql.service:
      sudo systemctl enable postgresql.service
    5. Starten Sie postgresql.service:
      sudo systemctl start postgresql.service
  2. Standardmäßig lässt PostgreSQL nur lokale Verbindungen zu. Remotekonnektivität zu PostgreSQL zulassen.
    1. Bereiten Sie die Datenbank in /var/lib/pgsql/data/postgresql.conf für die Replikation vor.
    2. Suchen und entfernen Sie die Kommentarzeichen für listen_addresses = 'localhost', und ändern Sie localhost in ein Sternchen (*):
      listen_addresses = '*'
    3. Legen Sie die folgenden Parameter folgendermaßen fest:
      • wal_level = logical
      • max_replication_slots = 1
      • max_wal_senders = 1
      • track_commit_timestamp = on

      Hinweis:

      Konfigurieren Sie /var/lib/pgsql/data/pg_hba.conf, um sicherzustellen, dass die Clientauthentifizierung so festgelegt ist, dass Verbindungen von einem Oracle GoldenGate-Host zulässig sind. Beispiel: Fügen Sie Folgendes hinzu:
      #Allow connections from remote hosts
      host    all    all    0.0.0.0/0    md5
      Weitere Informationen finden Sie unter Datei pg_hba.conf.
    4. Starten Sie den PostgreSQL-Server neu:
      sudo systemctl restart postgresql.service
  3. Wenn Sie PostgreSQL mit Oracle Cloud Compute hosten, öffnen Sie Port 5432:
    sudo firewall-cmd --permanent --add-port=5432/tcp
    sudo firewall-cmd --reload
    sudo firewall-cmd --list-all
  4. Öffnen Sie Port 5432 in der Sicherheitsliste des VCN.
  5. Stellen Sie eine Verbindung zu PostgreSQL her.
    > sudo su - postgres
    > psql

    Hinweis:

    Alternativ können Sie sudo su - postgres psql eingeben, wenn das obige Beispiel nicht funktioniert.
  6. Richten Sie PostgreSQL ein.
    1. Laden Sie seedSRCOCIGGLL_PostgreSQL.sql herunter, und führen Sie es aus, um die Datenbank einzurichten und die Beispieldaten zu laden.
    2. Führen Sie die folgenden Befehle aus, um den Benutzer einzurichten (stellen Sie sicher, dass Sie <password> durch ein tatsächliches Kennwort ersetzen):
      create user ggadmin with password '<password>';
      alter user ggadmin with SUPERUSER;
      GRANT ALL PRIVILEGES ON DATABASE ociggll TO ggadmin;

Einrichtung der Umgebung: Autonomous Transaction Processing (ATP)

  1. Laden Sie das Beispieldatenbankschema herunter, und dekomprimieren Sie es.
  2. Sperre des GGADMIN-Benutzers aufheben.
    1. Wählen Sie in der Oracle Cloud-Konsole auf der Seite für autonome Datenbanken die ATP-Instanz aus, um die zugehörigen Details anzuzeigen und auf Database Actions zuzugreifen.
    2. Klicken Sie auf Datenbankaktionen und dann auf Datenbankbenutzer.
    3. Suchen Sie GGADMIN, klicken Sie dann auf das zugehörige Auswurfmenü (drei Punkte), und wählen Sie Bearbeiten aus.
    4. Geben Sie im Bereich "Benutzer bearbeiten" das GGADMIN-Kennwort ein, bestätigen Sie es, und heben Sie die Auswahl von Account ist gesperrt auf.
    5. Klicken Sie auf Änderungen anwenden.
  3. Laden Sie das Beispielschema und die Daten des Ziels.
    1. Wählen Sie im Menü "Database Actions" die Option SQL.
    2. Kopieren Sie das Skript von OCIGGLL_OCIGGS_SETUP_USERS_ADW.sql, und fügen Sie es in das SQL-Arbeitsblatt ein.
    3. Klicken Sie auf Skript ausführen. Auf der Registerkarte "Skriptausgabe" werden Bestätigungsmeldungen angezeigt.
    4. Löschen Sie das SQL-Arbeitsblatt, kopieren Sie die SQL aus OCIGGLL_OCIGGS_SRC_MIRROR_USER_SEED_DATA.sql, und fügen Sie sie ein.
    5. Um zu prüfen, ob die Tabellen erfolgreich erstellt wurden, schließen Sie das SQL-Fenster, und öffnen Sie es erneut. Suchen Sie auf der Registerkarte "Navigator" nach dem Schema SRC_OCIGGLL, und wählen Sie dann Tabellen aus den entsprechenden Dropdown-Listen aus.

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. Erstellen Sie ein Deployment für die Quelldatenbank PostgreSQL.
  2. Erstellen Sie ein Deployment für die Autonomous Transaction Processing-Zielinstanz.
  3. Erstellen Sie eine Verbindung zur Quelldatenbank PostgreSQL.
    1. Stellen Sie unter Typ sicher, dass Sie PostgreSQL-Server auswählen.
    2. Geben Sie unter Datenbankname ociggll ein.
    3. Geben Sie unter Host die öffentliche IP der Compute-Instanz ein, auf der PostgreSQL ausgeführt wird.
    4. Geben Sie unter Port die Nummer 5432 ein.
    5. Geben Sie unter Benutzername ggadmin ein.
    6. Geben Sie unter Kennwort ein Kennwort ein.
    7. Wählen Sie unter Sicherheitsprotokoll die Option Einfach aus.
  4. Erstellen Sie eine Verbindung für die Autonomous Transaction Processing-Zielinstanz.
  5. Erstellen Sie eine Verbindung zu GoldenGate, und weisen Sie diese Verbindung dann dem Deployment der Quelle PostgreSQL zu.
  6. Weisen Sie die Quellverbindung dem Deployment der Quelle PostgreSQL zu.
  7. Weisen Sie die Zielverbindung dem Oracle-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.
  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. For Extract type, select Change Data Capture Extract.
        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 aus zwei Zeichen bestehenden Trailnamen wie C1 ein.
        4. Klicken Sie auf Weiter.
      • Ersetzen Sie auf der Seite Extract-Parameter MAP *.*, TARGET *.*; durch Folgendes:
        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 Extract die Option Initial Load Extract 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 Extrahieren" 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. 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

  1. Wählen Sie auf der Seite "Deployment" das Ziel-Autonomous Database-Deployment aus.
  2. Klicken Sie auf der Seite "Deployment" auf Konsole starten, und melden Sie sich als Admin-Benutzer an.
  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 unter Ziel 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 UserID Alias aus.
        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 Autonomous Database-Deployment-Konsole für das Ziel den Empfangspfad, der als Ergebnis des Verteilungspfades erstellt wurde:
    1. Klicken Sie auf Receiver Service.
    2. Prüfen Sie die Details von Distribution Path.

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

  1. Fügen Sie im Autonomous Database-Deployment Ziel eine Tabelle Checkpoint hinzu.
    1. Klicken Sie im Navigationsmenü auf DB-Verbindungen
    2. Wählen Sie die Autonomous Database-Zielinstanz und dann Checkpoints aus.
    3. Klicken Sie auf der Seite Checkpoints auf Checkpunkt hinzufügen (Pluszeichen).
    4. Geben Sie im Bereich Checkpoint unter Schematabelle SRCMIRROR_OCIGGLL.CHECKTABLE ein.
    5. Klicken Sie auf Weiterleiten.
  2. Fügen Sie die Replicat hinzu.
    1. Klicken Sie im Navigationsmenü auf Replicats.
    2. Klicken Sie auf der Seite Replicats auf Replicat hinzufügen (Plussymbol), und füllen Sie die Felder "Replicat hinzufügen" wie folgt aus:
      • Gehen Sie auf der Seite "Informationen" unter Replicat wie folgt vor:
        1. Wählen Sie unter Replicat type die Option Nonintegrated Replicat aus.
        2. Geben Sie unter Prozessname einen Namen wie RIL 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 2 (I1) ein.
        2. Wählen Sie unter Zielzugangsdaten die Domain und den Alias für die Autonomous Database-Verbindung aus.
        3. Wählen Sie unter Checkpoint-Tabelle die Checkpoint-Tabelle aus, die Sie in Schritt 1 erstellt haben.
        4. Klicken Sie auf Weiter.
      • Ersetzen Sie auf der Seite "Parameterdatei" MAP *.*, TARGET *.*; durch Folgendes:
        MAP SRC_OCIGGLL.*, TARGET SRCMIRROR_OCIGGLL.*;
    3. Klicken Sie auf Erstellen und ausführen.
      Sie kehren zur Seite Replicats zurück, auf der Sie die Replicat-Details prüfen können.
  3. Wählen Sie die Replicat (RIL) aus, und zeigen Sie die zugehörigen Details an.
  4. Klicken Sie auf Statistiken, und prüfen Sie die Anzahl der Einfügungen. Aktualisieren Sie die Seite.
    • Wenn sich die Anzahl der Einfügungen nicht ändert, wurden alle Datensätze aus der Initial Load geladen. Sie können das Replicat (RIL) stoppen.
    • Wenn die Anzahl der Einfügungen weiter zunimmt, aktualisieren Sie die Seite so lange, bis alle Initial Load-Datensätze geladen sind, bevor Sie fortfahren.
  5. Prüfen Sie die Initial Load.
    1. Klicken Sie in der Oracle Cloud-Konsole auf der Seite "Details" von Autonomous Database auf Datenbankaktionen und dann auf SQL.
    2. Geben Sie im SQL-Tool jede der folgenden Anweisungen in das Arbeitsblatt ein, und klicken Sie auf Anweisung ausführen:
      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 Extract erstellen

  1. Klicken Sie in der Deployment-Konsole Quelle PostgreSQL auf Distribution Service.
  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 Ziel-Deployment-Konsolen-URL ein (diese finden Sie auf der Seite mit den Deployment-Details, ohne 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 UserID Alias aus.
      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 Autonomous Database-Deployment-Konsole des Ziels auf Empfangsservice, und prüfen Sie den erstellten Empfangspfad.

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

  1. Fügen Sie in der Autonomous Database-Deployment-Konsole für das Ziel eine Replicat hinzu.
    1. Klicken Sie im Navigationsmenü von Administration Service 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 Replicat type die Option Nonintegrated Replicat 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 Zielzugangsdaten die Domain und den Alias für die Autonomous Database-Verbindung aus.
        3. Wählen Sie unter Checkpoint-Tabelle die Checkpoint-Tabelle aus.
      • Ersetzen Sie auf der Seite Replicat-Parameter MAP *.*, TARGET *.*; durch die folgende Zuordnung:
        MAP SRC_OCIGGLL.*, TARGET SRCMIRROR_OCIGGLL.*;
    3. Klicken Sie auf Create. Führen Sie die Replicat nicht aus.
  2. Wählen Sie auf der Seite Replicats die Replicat für Initial Load (RIL) aus, und zeigen Sie die zugehörigen Details an.
  3. Klicken Sie auf Statistiken, und prüfen Sie die Anzahl der Einfügungen. Aktualisieren Sie die Seite.
    • Wenn sich die Anzahl der Einfügungen nicht ändert, wurden alle Datensätze aus der Initial Load geladen. Sie können das Replicat (RIL) stoppen.
    • Wenn die Anzahl der Einfügungen weiter zunimmt, aktualisieren Sie die Seite so lange, bis alle Initial Load-Datensätze geladen sind, bevor Sie fortfahren.

    Hinweis:

    Wenn keine Einfügungen angezeigt werden, klicken Sie auf Performancemetrikservice, wählen Sie die Option Extrahieren aus, und klicken Sie auf Datenbankstatistiken.
  4. Kehren Sie zur Seite Replicats zurück, und starten Sie Replicat für Change Data Capture (RCDC).
  5. Nachdem Sie die Replicat für Change Data Capture gestartet haben, prüfen Sie die zugehörigen Details und Statistiken, um die Anzahl der Einfügungen anzuzeigen.
  6. Replikation prüfen:
    1. Führen Sie das folgende Skript aus, um Einfügungen in die Datenbank PostgreSQL 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 Deployment-Konsole der PostgreSQL die Option Change Data Capture Extract (ECDC) aus, und klicken Sie auf Statistiken. Stellen Sie sicher, dass unter src_ociggll.src_city 10 Insert-Vorgänge vorhanden sind.

      Hinweis:

      Wenn die Extract keine Einfügungen erfasst hat, starten Sie die ECDC Extract neu.
    3. Wählen Sie in der Autonomous Database-Deployment-Zielkonsole den Namen Replicat (RCDC) aus, zeigen Sie die zugehörigen Details an, und prüfen Sie dann die Statistiken. Stellen Sie sicher, dass SRCMIRROR_OCIGGLL.SRC_CITY über 10 Insert-Vorgänge verfügt.

Aufgabe 8: Prozesse überwachen und verwalten

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