-
Migration von PostgreSQL zur Oracle-Datenbank mit Oracle SQL Developer
-
Manuelles Migrieren einer PostgreSQL-Datenbank in eine Oracle-Datenbank
-
Datensicherung vor der Datenmigration
-
Fazit

Der wesentliche Unterschied zwischen PostgreSQL und Oracle besteht darin, dass PostgreSQL ein quelloffenes, kostenlos nutzbares objektrelationales Datenbankmanagementsystem ist, während Oracle ein kommerzielles Datenbanksystem darstellt. Abgesehen davon spielen jedoch weitere Faktoren wie Leistung, Support und geschäftliche Anforderungen bei der Entscheidung für das eine oder andere System eine entscheidende Rolle.
PostgreSQL verfügt über eine große, kostenlose Entwickler-Community, die bei der Lösung von Problemen hilft – allerdings dauert es etwas länger. Es bietet hervorragende Skalierbarkeit, beispielsweise durch clustergestützte Speicherung, sowie Sicherheitsfunktionen wie Verschlüsselung der Serverkommunikation oder rollenbasierte Berechtigungen. Zudem ist es mit zahlreichen Betriebssystemen kompatibel, darunter Linux, Windows, FreeBSD, macOS usw.
Doch die Oracle-Datenbank übertrifft PostgreSQL hinsichtlich fortschrittlicher Sicherheit, Verarbeitungsgeschwindigkeit und technischer Überlegenheit und ist daher bei der Verarbeitung sehr großer Datenmengen in groß angelegten Umgebungen leistungsstärker als letztere.
Die Datenbank bietet zudem eine plattformübergreifende Integration für Windows, Linux, macOS und andere Betriebssysteme. Anwendungen, die auf mehreren Plattformen laufen, können dank des nativen Netzwerkstacks von Oracle problemlos miteinander kommunizieren. Außerdem führt Oracle Advanced Analytics schnelle analytische Berechnungen auf Unternehmensdaten durch.
Einige PostgreSQL-Benutzer suchen möglicherweise nach einer Möglichkeit, PostgreSQL in Oracle zu konvertieren. In diesem Blog erfahren Sie ausführlich über die beiden Migrationsmethoden.
Migration von PostgreSQL zur Oracle-Datenbank mit Oracle SQL Developer
Voraussetzungen:
Laden Sie die neueste Version von SQL Developer von der Oracle-Website herunter.
Laden Sie den PostgreSQL-JDBC-Treiber von hier herunter.
Erteilen Sie dem Oracle-Benutzerkonto die erforderlichen Berechtigungen.
1. Starten Sie Oracle SQL Developer und navigieren Sie zu Tools > Preferences > Data Modeler Third Party JDBC Drivers.
2. Verbinden Sie sich mit der PostgreSQL-Datenbank.
a. Navigieren Sie zu Verbindungen > Rechtsklick auf den Stammknoten > Neue Verbindung.
b. Klicken Sie auf die Registerkarte „PostgreSQL“ und geben Sie die Verbindungsinformationen ein. Klicken Sie dann auf Test. Anschließend klicken Sie auf Speichern.
3. Verbinden Sie sich mit der neuen Oracle-Datenbank.
a. Navigieren Sie zu Verbindungen > Rechtsklick auf den Stammknoten > Neue Verbindung.
b. Klicken Sie auf die Registerkarte „Oracle“ und geben Sie die Verbindungsinformationen ein. Klicken Sie dann auf Test und anschließend auf Verbinden.
Die Verbindung ist in der Baumansicht Verbindungen zu sehen.
4. Öffnen Sie in Oracle SQL Developer Tools > Migration > Migrate.
5. Der Assistent für die Migration wird angezeigt. Geben Sie auf der Seite Repository die Verbindung für das Migrationsrepository an, führen Sie einen Test durch und klicken Sie auf Speichern > Weiter. Falls Sie noch kein Migrationsrepository besitzen, erstellen Sie es und verbinden Sie es wie folgt mit der Datenbank.
a. Erstellen Sie einen Oracle-Benutzer (Rolle RESOURCE) mit dem Standard-Tablespace USERS und dem temporären Tablespace TEMP. Gewähren Sie ihm die Berechtigungen CREATE SESSION, CREATE VIEW und CREATE MATERIALIZED VIEW.
b. Stellen Sie eine Datenbankverbindung mit dem Datenbankbenutzer „Migration Repository“ her.
c. Rechtsklicken Sie auf die Verbindung > Migration-Repository > Migration-Repository zuordnen.
6. Geben Sie auf der Seite Projekt das Migrationsprojekt an und klicken Sie auf Weiter.
7. Legen Sie auf der Seite Quelldatenbank den Modus auf Online fest, fügen Sie die PostgreSQL-Verbindung hinzu (+) und klicken Sie auf Weiter.
8. Wählen Sie auf der Seite Erfassen die zu migrierende Datenbank aus und klicken Sie auf Weiter.
9. Prüfen und ändern Sie im Register Konvertieren die Regeln für die Datentypkonvertierung und klicken Sie auf Weiter.
10. Wählen Sie im Register Übersetzen die gewünschten Elemente unter Verfügbare SQL-Objekte aus und klicken Sie auf Weiter.
11. Wählen Sie im Register Zieldatenbank die Verbindung als Online aus, fügen Sie die Oracle-Verbindung hinzu (+) und aktivieren Sie Zielobjekte löschen, um sicherzustellen, dass vorhandene Datenbankobjekte im Zielschema vor der Migration entfernt werden.
12. Wählen Sie im Reiter Daten verschieben die Optionen für die Tabellendatenmigration aus; andernfalls wählen Sie „Offline“. Klicken Sie auf Weiter.
13. Überprüfen Sie auf der Seite Zusammenfassung alle Einstellungen und klicken Sie auf Fertig stellen.
14. Überprüfen Sie die migrierten Daten.
Vergleichen Sie die Anzahl der Zeilen in der Quelldatenbank mit der Oracle-Datenbank;
Berechnen Sie die Summe der numerischen Spalten der Oracle-Datenbank und vergleichen Sie sie mit denen der Quelldatenbank.
Manuelles Migrieren einer PostgreSQL-Datenbank in eine Oracle-Datenbank
1. Exportieren Sie die Daten aus der PostgreSQL-Tabelle in eine CSV-Datei.
COPY Tabelle IN 'destination_path.csv' DELIMITER ',' CSV HEADER;
Oder exportieren Sie Daten aus Spalten einer Tabelle in die CSV-Datei.
COPY Tabelle(Spalte1,Spalte2)
ZU „destination_path.csv“ TRENNZEICHEN „,“ CSV HEADER;
Schließen Sie die Kopfzeile aus, die die Tabellenspaltennamen enthält.
COPY Tabelle(Spalte)
ZU „destination_path.csv“ TRENNZEICHEN „,“ CSV;
Hinweis: Die CSV-Datei muss sich auf dem Datenbankserver befinden und dem Benutzer des PostgreSQL-Servers das Schreiben ermöglichen.
2. Migration auf einer neuen Tabelle: Datenbank > Daten importieren.
Migration für eine vorhandene Tabelle: Datenbank-Explorer > Rechtsklick auf die Ziel-Tabelle > Daten importieren.
3. Der Assistent für den Datenimport wird geöffnet. Wählen Sie ein CSV-Importformat aus, geben Sie den Quell-Datenstandort an und klicken Sie auf Weiter.
4. Gehen Sie zu Ziel > geben Sie die Verbindung zu Oracle an > wählen Sie die Ziel-Datenbank und die Tabelle aus > klicken Sie auf Weiter.
5. Legen Sie auf der Seite Optionen die Einstellungen für die Datei fest. Wählen Sie die Zeilennummer für die Tabellenüberschrift und das Überspringen aus, und geben Sie ein Spaltentrennzeichen an; das Ergebnis wird im Abschnitt „Vorschau“ angezeigt. Klicken Sie auf Weiter.
6. Geben Sie im Reiter Datenformate die Formate der Quelldaten an. Klicken Sie auf Weiter.
7. Im Reiter Zuordnung ordnen Sie die Spalten den Spalten der Ziel-Tabelle zu, klicken Sie auf Zuordnungen löschen, um die Zuordnung rückgängig zu machen, und klicken Sie auf Zuordnung ausfüllen, um sie wiederherzustellen.
Um Daten in eine neue Tabelle zu importieren, doppelklicken Sie auf das obere Raster, um die Zielspalte zu ändern. Aktivieren Sie dann das Kontrollkästchen Schlüssel für eine Spalte, die einen Primärschlüssel enthält, und klicken Sie auf Weiter.
8. Wählen Sie im Reiter Modi einen Importmodus aus und klicken Sie auf Weiter.
9. Wählen Sie im Register Ausgabe eine Option zur Verwaltung des Importskripts aus und klicken Sie auf Weiter.
Starten Sie den internen Editor und wählen Sie das Skript für den Datenimport aus.
Das Skript zum Datenimport kann dann als Datei gespeichert werden.
Zuletzt können Sie Daten direkt in die Datenbank importieren.
10. Wählen Sie im Reiter Fehlerbehandlung eine Strategie zur Behandlung von Importfehlern und entscheiden Sie, ob eine Protokolldatei mit Informationen zur Import-Sitzung erstellt werden soll oder nicht.
11. Klicken Sie auf Importieren, um die Migration von PostgreSQL nach Oracle zu starten, und auf Fertig stellen, um den Assistenten zu schließen.
Datensicherung vor der Datenmigration
Es wird empfohlen, vor Beginn der Konvertierung von PostgreSQL zu Oracle eine vollständige Sicherungskopie der Quelldatenbank anzulegen, um Datenverluste zu vermeiden.
Vinchin Backup & Recovery bietet effizientes und müheloses Datenbank-Backup und -Wiederherstellungsverfahren für Oracle Database, MySQL, SQL Server, PostgreSQL, Postgres Pro und MariaDB auf physischen und virtuellen Maschinen.
Es unterstützt verschiedene Datenbankversionen sowohl für PostgreSQL (12, 13, 14) als auch für Oracle (11g, 12c, 18c, 19c, 21c) mit mehreren Sicherungstypen, darunter vollständige, differenzielle, inkrementelle und Protokollsicherungen (je nach Datenbank).
Vinchin Backup & Recovery bietet zahlreiche Strategien für eine vereinfachte Datensicherung und Wiederherstellung, wie z. B. 50 % Datenreduktion, Richtlinie zur Aufbewahrung von Daten, Löschen von Archivlogs, mehrfädige Übertragung und vieles mehr.
Die Lösung verhindert außerdem Ransomware-Angriffe durch eine Echtzeit-E/A-Überwachung, die Besucher auf eine Whitelist setzt, um bösartige Akteure auszusperren.
Möchten Sie Vinchin Backup & Recovery einmal ausprobieren? Klicken Sie unten auf die kostenlose 60-tägige Testversion der Enterprise-Version.
Nehmen Sie als Beispiel die PostgreSQL-Sicherung.
1. Gehen Sie zu Datenbanksicherung > Sichern und wählen Sie die Datenquelle aus der Liste der lizenzierten Datenbanken aus.

2. Wählen Sie den Zielknoten und den Speicherort für den Auftrag aus.

3. Richten Sie die gewünschten Sicherungsstrategien ein.




4. Einstellungen anzeigen und auf Senden klicken.
Fazit
Die Oracle-Datenbank übertrifft PostgreSQL hinsichtlich der leicht zugänglichen Support-Leistungen, der Geschwindigkeit bei der Datenverarbeitung und der Sicherheitsmechanismen in Unternehmen mit großem Umfang. Einige könnten daher erwägen, von PostgreSQL auf Oracle umzusteigen, um die Leistung zu verbessern.
Dieser Blog stellt zwei Methoden vor, um PostgreSQL in die Oracle-Datenbank zu migrieren (siehe So migrieren Sie von Oracle nach PostgreSQL), ohne externe Konvertierungstools zu verwenden.
Es ist wichtig, die Quelldatenbank vor der Migration und die Zieldatenbank nach dem Vorgang zu sichern, um die Datenintegrität sicherzustellen.
Teilen auf: