Hinweis:

On-Premise-Datenbank PostgreSQL mit PostgreSQL mit OCI in OCI-Datenbank migrieren GoldenGate

Einführung

Oracle Cloud Infrastructure Database mit PostgreSQL (OCI Database mit PostgreSQL) ist ein vollständig verwalteter Service, der den Speicher automatisch skaliert, wenn Datenbanktabellen erstellt oder gelöscht werden. Dies vereinfacht die Verwaltung und optimiert die Speicherkosten für Sie. Daten werden sowohl während der Übertragung als auch im Ruhezustand verschlüsselt.

OCI GoldenGate unterstützt die logische Onlinemigration, die nahtlose Übergänge und nahezu keine Ausfallzeitmigration für OCI Database mit PostgreSQL-Servicedatenbanken ermöglicht. Dieses Feature unterstützt die Migration von On-Premise-Datenbanken PostgreSQL auf VM zu OCI Database mit Datenbanken des Service PostgreSQL Version 14, 15 und zukünftigen Releases.

In diesem Tutorial wird erläutert, wie OCI GoldenGate die Migration von On-Premise-PostgreSQL-Datenbanken auf VM Version 14 zu OCI Database mit PostgreSQL-Servicedatenbanken Version 14 erleichtert. Das erstmalige Laden wird mit dem Backuputility pg_dump (pg_dumpall)/pg_restore ausgeführt. Dadurch wird ein Backup oder Snapshot der Quelldatenbank erstellt, das im Zielsystem wiederhergestellt wird, gefolgt von der OCI GoldenGate Change Data Capture-(CDC-)Replikation, um die Quelle (On-Premise-VM-PostgreSQL-Datenbanken) und das Ziel (OCI-Datenbank mit dem PostgreSQL-Service) zu synchronisieren.

Die folgende Abbildung zeigt die Architektur für die Migration einer On-Premise-Datenbank PostgreSQL auf der VM zu OCI Database mit dem PostgreSQL-Service mit OCI GoldenGate.

Bild mit Architektur

Ziele

Voraussetzungen

Hinweis: Diese Voraussetzungen gelten für eine On-Premise-Datenbank PostgreSQL auf VM (Quelle).

Aufgabe 1: Quelldatenbankumgebung vorbereiten

  1. Führen Sie die folgende Abfrage aus, um einen Replikationsbenutzer zu erstellen. Dieser Benutzer sollte verwendet werden, während eine Verbindung in der OCI-Konsole erstellt wird.

    create user ggadmin with password ‘<<password>>’;
    GRANT ALL PRIVILEGES ON DATABASE campaign TO ggadmin;
    alter user ggadmin replication;
    alter user ggadmin with superuser;
    
  2. Der folgende Parameter muss geändert werden, und das Datenbanksystem muss neu gestartet werden, damit wal_level geändert wird.

    ALTER SYSTEM SET wal_level = logical;
    ALTER SYSTEM SET track_commit_timestamp = on;
    

Aufgabe 2: OCI GoldenGate bereitstellen und Verbindungen konfigurieren

  1. Melden Sie sich bei der OCI-Konsole an, und erstellen Sie ein Deployment von OCI GoldenGate für die Datenbank PostgreSQL.

    Bild mit Erstellung des Deployments

    Bild mit Erstellung des Deployments

    Bild mit Erstellung des Deployments

    Bild mit Erstellung des Deployments

    Bild mit Erstellung des Deployments

  2. Erstellen Sie die OCI-GoldenGate-Verbindung für OCI PostgreSQL.

    1. Geben Sie Details zur Quellverbindung ein, und klicken Sie auf Erstellen.

      Bild mit Erstellung von SourceConnections

      Bild mit Erstellung von SourceConnections

    2. Geben Sie Details zur Zielverbindung ein, und klicken Sie auf Erstellen.

      Bild mit Erstellung von TargetConnections

      Bild mit Erstellung von TargetConnections

    Hinweis: Wenn eine Verbindung für die VM erstellt wird, muss das SSL-Protokoll Nur lauten, und für die OCI-Datenbank mit dem PostgreSQL-Service muss das SSL-Protokoll Erforderlich lauten.

  3. Klicken Sie auf Erstellen, um die Verbindung zu erstellen.

Aufgabe 3: Replikation der Quelldatenbank einrichten

  1. Erstellen Sie Extrahieren in OCI GoldenGate.

    Abbildung zur Erstellung von Schematrandata

    Hinweis: Fügen Sie Schematransandata für alle gültigen Schemas in der Quelldatenbank hinzu, und klicken Sie auf Weiterleiten.

    Bild zur Erstellung der Extrakterstellung

    Bild zur Erstellung der Extrakterstellung

    Bild mit der Erstellung des Extract-Parameters file1

    Hinweis: Klicken Sie auf Erstellen, und klicken Sie nicht auf Erstellen und ausführen.

  2. Erstellen Sie einen temporären Replikations-Slot in der Quelldatenbank, der zum Erstellen eines Startpunkts für den Extract-Prozess und zum Positionieren des PostgreSQL-Snapshots verwendet wird. Dies kann mit dem Befehl CREATE_REPLICATION_SLOT erfolgen. So konfigurieren Sie den temporären Replikations-Slot:

    1. Melden Sie sich bei der Datenbank PostgreSQL mit psql als Benutzer mit der Replikationsrolle an, z.B. postgres- oder ggadmin-Benutzer.

    2. Verwenden Sie die Option replication=database.

      psql "dbname=pgsource replication=database user=postgres" 
      CREATE_REPLICATION_SLOT tslot TEMPORARY LOGICAL test_decoding EXPORT_SNAPSHOT;
      slot_name | consistent_point | snapshot_name | output_plugin
      ----------+------------------+---------------+--------------------- 
          tslot | 1/4232A6B0 | 00000007-00001142-1 | test_decoding 
      
    3. Beachten Sie die Details snapshot_name und consistent_point.

      Hinweis:

      • consistent_point muss zur Positionierung des OCI-GoldenGate-Extrakts verwendet werden, und starten Sie den Extract, um die CDC-Transaktionen zu erfassen.
      • snapshot_name muss für das anfängliche Laden von der Quell- in die Zieldatenbank mit pg_dump und pg_restore verwendet werden.
  3. Positionieren Sie den OCI Goldengate-Extrakt in consistent_point Logsequenznummer (LSN).

    Der erstellte CDC-Extrakt wird gestoppt.

    Bild zur Erstellung der Extraktpositionierung

    Klicken Sie unter Aktionen auf das Symbol ..., und wählen Sie Ändern aus.

    Bild zur Erstellung der Extraktpositionierung

    Ändern Sie die Position der LSN in consistent_point, die in Aufgabe 3.2 erfasst wurde.

    Bild zur Erstellung der Extraktpositionierung

  4. Klicken Sie auf Weiterleiten, und starten Sie den Extraktionsprozess.

    Extract befindet sich im Status "Wird ausgeführt" und startet die CDC-Erfassung von der geänderten Position aus.

    Bild zur Erstellung der Extraktpositionierung

Aufgabe 4: Backup und Restore in Quell- und Zieldatenbank ausführen

  1. Führen Sie den folgenden Befehl aus, um ein Backup der primären Quelldatenbank zu erstellen.

    nohup /u01/pgsql-14/bin/pg_dump -h <<Sourceip>> -p 5432 -U <<superuser/ggadmin user>> –snapshot=00000007-00001142-1 -F c -b -v -f latestdump.db pgsource &
    
  2. Führen Sie den folgenden Befehl aus, um die Dumps in der Zieldatenbank wiederherzustellen.

    nohup /u01/pgsql-14/bin/pg_restore -h <<Targetip>> -p 5432 -U admin -d pgtarget -v latestdump.db &
    

Aufgabe 5: Replikation der Zieldatenbank einrichten

  1. Erstellen Sie eine Checkpoint-Tabelle in einem beliebigen verfügbaren Schema in der OCI-Zieldatenbank GoldenGate, und klicken Sie auf Weiterleiten.

    Abbildung zur Erstellung der Checkpoint-Tabelle

  2. Erstellen Sie den Replicat-Prozess mit der Zieldatenbankverbindung, um die CDC-Daten auf die Zieldatenbank anzuwenden.

    Bild mit Erstellung der Replicat-Erstellung

    Bild mit Erstellung der Replicat-Erstellung

    Bild mit Erstellung der Replicat-Erstellung

    Bild mit Erstellung der Replicat-Parameterdatei

  3. Klicken Sie auf Submit, und starten Sie das Replicat. Synchronisation zulassen.

    Bild mit Erstellung der Replicat-Erstellung

Aufgabe 6: Tatsächliche Migration ausführen

Cutover von der On-Premise-VM-Datenbank PostgreSQL zu OCI Database mit dem PostgreSQL-Service.

Aufgabe 7: Migration validieren

Prüfen Sie die übertragenen Datenbankobjekte und Daten im Zieldatenbanksystem in OCI Database mit PostgreSQL, um sicherzustellen, dass die Migration erfolgreich war und keine Probleme oder Abweichungen auftreten.

Danksagungen

Weitere Lernressourcen

Sehen Sie sich andere Übungen zu docs.oracle.com/learn an, oder greifen Sie im Oracle Learning YouTube-Channel auf weitere kostenlose Lerninhalte zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um Oracle Learning Explorer zu werden.

Die Produktdokumentation finden Sie im Oracle Help Center.