Hinweis:
- Dieses Tutorial erfordert Zugriff auf Oracle Cloud. Informationen zur Registrierung für einen kostenlosen Account finden Sie unter Erste Schritte mit Oracle Cloud Infrastructure Free Tier.
- Es verwendet Beispielwerte für Oracle Cloud Infrastructure-Zugangsdaten, -Mandanten und -Compartments. Ersetzen Sie diese Werte nach Abschluss der Übung durch Werte, die für Ihre Cloud-Umgebung spezifisch sind.
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.
Ziele
- Migrieren Sie mit OCI GoldenGate zu OCI Database mit dem Service PostgreSQL.
Voraussetzungen
Hinweis: Diese Voraussetzungen gelten für eine On-Premise-Datenbank PostgreSQL auf VM (Quelle).
-
test_decoding
-Plug-in: Für OCI GoldenGate muss das Datenbank-Plug-intest_decoding
in der Datenbank PostgreSQL installiert werden. Dieses Plugin kann nicht standardmäßig installiert werden. -
PostgreSQL-Beitragspaket: Stellen Sie sicher, dass das Package
postgresqlversion#-contrib
auf dem Datenbankserver installiert ist. -
Clientbibliothekskompatibilität: Die Clientbibliotheken PostgreSQL müssen mit der Datenbankversion übereinstimmen. Beachten Sie, dass Clientversionen unter 10 nicht unterstützt werden.
sudo yum install postgresql14-contrib (our database is version 14)
Aufgabe 1: Quelldatenbankumgebung vorbereiten
-
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;
-
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
-
Melden Sie sich bei der OCI-Konsole an, und erstellen Sie ein Deployment von OCI GoldenGate für die Datenbank PostgreSQL.
-
Erstellen Sie die OCI-GoldenGate-Verbindung für OCI PostgreSQL.
-
Geben Sie Details zur Quellverbindung ein, und klicken Sie auf Erstellen.
-
Geben Sie Details zur Zielverbindung ein, und klicken Sie auf Erstellen.
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.
-
-
Klicken Sie auf Erstellen, um die Verbindung zu erstellen.
Aufgabe 3: Replikation der Quelldatenbank einrichten
-
Erstellen Sie Extrahieren in OCI GoldenGate.
Hinweis: Fügen Sie Schematransandata für alle gültigen Schemas in der Quelldatenbank hinzu, und klicken Sie auf Weiterleiten.
Hinweis: Klicken Sie auf Erstellen, und klicken Sie nicht auf Erstellen und ausführen.
-
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:-
Melden Sie sich bei der Datenbank PostgreSQL mit
psql
als Benutzer mit der Replikationsrolle an, z.B.postgres
- oderggadmin
-Benutzer. -
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
-
Beachten Sie die Details
snapshot_name
undconsistent_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 mitpg_dump
undpg_restore
verwendet werden.
-
-
Positionieren Sie den OCI Goldengate-Extrakt in
consistent_point
Logsequenznummer (LSN).Der erstellte CDC-Extrakt wird gestoppt.
Klicken Sie unter Aktionen auf das Symbol ..., und wählen Sie Ändern aus.
Ändern Sie die Position der LSN in
consistent_point
, die in Aufgabe 3.2 erfasst wurde. -
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.
Aufgabe 4: Backup und Restore in Quell- und Zieldatenbank ausführen
-
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 &
-
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
-
Erstellen Sie eine Checkpoint-Tabelle in einem beliebigen verfügbaren Schema in der OCI-Zieldatenbank GoldenGate, und klicken Sie auf Weiterleiten.
-
Erstellen Sie den Replicat-Prozess mit der Zieldatenbankverbindung, um die CDC-Daten auf die Zieldatenbank anzuwenden.
-
Klicken Sie auf Submit, und starten Sie das Replicat. Synchronisation zulassen.
Aufgabe 6: Tatsächliche Migration ausführen
Cutover von der On-Premise-VM-Datenbank PostgreSQL zu OCI Database mit dem PostgreSQL-Service.
-
Führen Sie einen Anwendungs-Rampdown durch, der mit der Quell-VM-Datenbank verbunden ist.
-
Stellen Sie sicher, dass keine Datenbankverbindungen zur Quell-VM-Datenbank vorhanden sind.
-
Stellen Sie sicher, dass der Extract/Replicat-Prozess keine Verzögerung aufweist, und führen Sie den Cutover aus, der die Anwendung auf die OCI-Zieldatenbank verweist, indem der PostgreSQL-Service den Extract/Replicat-Prozess stoppt.
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.
Verwandte Links
- Migrieren Sie eine On-Premise-Datenbank PostgreSQL nahtlos mit OCI GoldenGate in OCI Database mit PostgreSQL
- Datenbanken importieren, exportieren und migrieren
- Präzise Instanziierung zwischen PostgreSQL-Umgebungen mit pg_dump
Danksagungen
- Autor - Saravanadurai Rajendran (Lift Implementation Specialist - Database)
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.
Migrate an On-Premises PostgreSQL Database to OCI Database with PostgreSQL using OCI GoldenGate
G29123-01
Copyright ©2025, Oracle and/or its affiliates.