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. In der Übung ersetzen Sie diese Werte durch die Werte, die für Ihre Cloud-Umgebung spezifisch sind.
Migration zu Oracle Cloud Infrastructure Database mit PostgreSQL mit OCI Object Storage und Rclone
Einführung
Oracle Cloud Infrastructure Database mit PostgreSQL (OCI Database with PostgreSQL) ist ein vollständig verwalteter Service, der den Zeitaufwand für Routineaufgaben wie Patching, Backups und Speicherverwaltung reduziert. Zu den wichtigsten Features gehören eine datenbankoptimierte Speicherarchitektur, mit der die SQL-Transaktionsverarbeitungs-Engine von der Speicherebene entkoppelt wird, mehrere Replikate zur Steigerung der Benutzeraktivität, regionsübergreifende Backupkopien und vollständige Kompatibilität mit der Open-Source-Datenbank PostgreSQL.
Hinweis: PostgreSQL-Versionen 14 und 15 werden unterstützt (Stand Juni 2025).
OCI Object Storage bietet skalierbaren, dauerhaften und kostengünstigen Speicher für alle Datentypen. In diesem Tutorial wird die PostgreSQL-Dumpdatei gespeichert.
Rclone ist ein Open-Source-Befehlszeilenprogramm zum Verwalten oder Übertragen von Dateien auf Cloud-Speichern.
In this tutorial, we will discuss how to effectively migrate data from an on-premises PostgreSQL database to OCI Database with PostgreSQL. Wir verwenden die Utilitys pg_dump
und pg_restore
, die kostengünstigen OCI Object Storage und Rclone für schnellen, mehrteiligen Upload und das Mount-Feature nutzen.
Ziele
-
Exportieren Sie die Datenbank PostgreSQL mit
pg_dump
. -
Kopieren Sie exportierte Datendateien mit rclone in OCI Object Storage.
-
Mounten Sie OCI Object Storage mit rclone in OCI Compute.
-
Importieren Sie Daten direkt aus OCI Object Storage mit
pg_restore
.
Voraussetzungen
-
Zugriff auf einen OCI-Account. Informationen zur Registrierung für einen kostenlosen Account finden Sie unter Erste Schritte mit Oracle Cloud Infrastructure Free Tier.
-
Stellen Sie beim VCN mit öffentlichen und privaten Subnetzen sicher, dass Port
5432
in der OCI-Sicherheitsliste für das private Subnetz geöffnet ist. -
Eine OCI Compute-Instanz im öffentlichen Subnetz, die als Bastion- und Utilityknoten fungiert, wobei Rclone- und PostgreSQL-Clienttools installiert sind (in diesem Tutorial als Bastion bezeichnet, nicht mit OCI Bastion-Service mischen)
-
Dieses Tutorial basiert auf Oracle Linux 8. Die Befehle können für andere Betriebssysteme unterschiedlich sein.
-
OCI Database with PostgreSQL im privaten Subnetz bereitgestellt. Weitere Informationen finden Sie unter OCI Database with PostgreSQL bereitstellen.
-
Lokale PostgreSQL-On-Premise-Instanz mit installierten Clienttools PostgreSQL.
Hinweis: OCI Database with PostgreSQL ist in OCI Always Free Tier nicht verfügbar.
Aufgabe 1: OCI-API-Schlüsselbenutzerzugangsdaten erstellen
-
Melden Sie sich bei der OCI-Konsole an, klicken Sie auf das Profilmenü
, und wählen Sie Mein Profil aus.
-
Klicken Sie in Ressourcen auf API-Schlüssel
-
Klicken Sie oben links in der API-Schlüsselliste auf API-Key hinzufügen.
-
Klicken Sie auf Private Key downloaden, und speichern Sie den Schlüssel im Verzeichnis
.oci
. In den meisten Fällen müssen Sie den Public Key nicht herunterladen. -
Klicken Sie auf Hinzufügen.
Der Schlüssel wird hinzugefügt, und die Vorschau für Konfigurationsdatei wird angezeigt. Das Datei-Snippet enthält erforderliche Parameter und Werte, die zum Erstellen der Konfigurationsdatei erforderlich sind.
user
: Die Oracle Cloud-ID (OCID) des Benutzers, für den das Schlüsselpaar hinzugefügt wird.fingerprint
: Der Fingerprint des gerade hinzugefügten Schlüssels.tenancy
: Die OCID Ihres Mandanten.region
: Die aktuell ausgewählte Region in der OCI-Konsole.key_file
: Der Pfad zur heruntergeladenen Private-Key-Datei. Aktualisieren Sie diesen Wert auf den Pfad in Ihrem Dateisystem, in dem Sie die Private-Key-Datei gespeichert haben.
Weitere Informationen finden Sie unter Erforderliche Schlüssel und OCIDs.
Aufgabe 2: PostgreSQL-Daten mit pg_dump
exportieren
Verwenden Sie auf Ihrem On-Premise-Host pg_dump
, um die Datenbank PostgreSQL zu exportieren.
pg_dump -U your_username -h your_host -p your_port -F c -f /path/to/output.dump your-database-name
-U your_username
: Der Datenbankbenutzername.-h your_host
: Der Host, auf dem die Datenbank ausgeführt wird (Beispiel:localhost
).-p your_port
: Die Portnummer (Standardwert ist5432
).-F c
: Format der Ausgabe (c steht für benutzerdefiniert, das überpg_restore
flexibel und wiederherstellbar ist).-f /path/to/output.dump
: Der Dateipfad, in dem der Dump gespeichert wird.
your-database-name: Der Name der Datenbank, die Sie ausgeben möchten.
Aufgabe 3: Daten mit Rclone installieren, konfigurieren und übertragen
-
Installieren Sie rclone auf Ihrem On-Premise-Host.
sudo -v ; curl https://rclone.org/install.sh | sudo bash
-
Führen Sie den folgenden Befehl aus, um rclone zu konfigurieren.
rclone config
Weitere Informationen zum Konfigurieren der OCI Object Storage-Verbindung finden Sie in der Dokumentation zum Klonen. Verwenden Sie Option 2: einen OCI-Benutzer und einen API-Schlüssel für die Authentifizierung (erstellt in Aufgabe 1).
-
Verwenden Sie den Multipart-Upload mit rclone, um die exportierte Datenbank in einen OCI Object Storage-Bucket zu kopieren. Beispiel:
rclone --progress --oos-no-check-bucket --fast-list --no-traverse --transfers 8 --oos-chunk-size 10M --oos-upload-concurrency 10 --checkers 10 copy <source> <dest>
Beispielbefehl und eine Ausgabe:
rclone --progress --oos-no-check-bucket --fast-list --no-traverse --transfers 8 --oos-chunk-size 10M --oos-upload-concurrency 10 --checkers 10 copy output.dump OCI:bucket_db-dump Transferred: 4.500 KiB / 4.500 KiB, 100%, 0 B/s, ETA - Transferred: 1 / 1, 100% Elapsed time: 0.0s
For more information, see Copy Data to Oracle Cloud Using Rclone to Build Insights in Oracle Analytics Cloud.
Aufgabe 4: OCI Object Storage mit Rclone mounten
-
Installieren Sie auf Ihrem OCI Compute-Bastionhost die PostgreSQL-Tools.
dnf install postgresql
OCI Database with PostgreSQL unterstützt die Versionen 14 und 15. Installieren Sie daher die PostgreSQL-Tools entsprechend.
sudo dnf module reset postgresql sudo dnf module enable postgresql:15 sudo dnf install postgresql
-
Installieren und konfigurieren Sie rclone auf Ihrem Bastionhost - wiederholen Sie Aufgabe 3, Schritt 2.
-
Mounten Sie den Bucket mit den in Aufgabe 3 kopierten Daten. Beispiel:
/mnt/oci
.rclone mount OCI:bucket_db-dump /mnt/oci --vfs-cache-mode full --log-file /home/opc/rclone.log --config ~/.config/rclone/rclone.conf --log-level DEBUG --daemon --attr-timeout 1s
-
Prüfen Sie die Dateien in Ihrem gemounteten OCI Object Storage.
ls /mnt/oci
Aufgabe 5: OCI Database with PostgreSQL mit pg_restore
wiederherstellen
Stellen Sie Ihre OCI Database with PostgreSQL-Datenbank mit parallelen Jobs im Hintergrund als Daemon-Prozess unter Verwendung des gemounteten Dateisystems wieder her.
nohup pg_restore -d test -h <OCI PostgreSQL hostname or IP> -p 5432 -U <dbuser> -v -c -j 10 -F c /mnt/oci/output.dump >import.log 2>&1
Die Zieldatenbank (test in diesem Beispiel) muss bereits vorhanden sein, bevor Sie pg_restore ausführen. So erstellen Sie die Datenbank im Voraus:
createdb -U postgres -h localhost -p 5432 test
Sie können auch -verbose für Fortschrittsdetails oder -clean hinzufügen, um Objekte zu löschen, bevor Sie sie neu erstellen.
Aufgabe 6: Wiederhergestellte Datenbank prüfen
Melden Sie sich mit psql
bei OCI Database with PostgreSQL an, und prüfen Sie, ob die wiederhergestellten Daten vollständig sind.
psql -h <OCI PostgreSQL hostname or IP> -p 5432 -U <dbuser> -d test
Jetzt können Sie mit SQL Select-Anweisungen die Anzahl der Zeilen in Tabellen prüfen.
Verwandte Links
Bestätigungen
- Autor - Sylwester Dec (OCI Open Source Data Black Belt)
Weitere Lernressourcen
Sehen Sie sich weitere Übungen zu docs.oracle.com/learn an, oder greifen Sie auf weitere kostenlose Lerninhalte im Oracle Learning YouTube-Kanal zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um ein Oracle Learning Explorer zu werden.
Die Produktdokumentation finden Sie im Oracle Help Center.
Migrate to Oracle Cloud Infrastructure Database with PostgreSQL using OCI Object Storage and Rclone
G37261-01
Copyright ©2025, Oracle and/or its affiliates.