Migration von Oracle zum EDB Postgres Advanced Server mit EnterpriseDB

Database

Das Ziel, die hohen Ausgaben für Lizenzen zu senken, wird kundenseitig als einer der häufigsten Gründe für den Wechsel von Oracle RDBMS (Relational Database Management System) zu alternativen Produkten anderer Hersteller genannt. Eine attraktive Alternative ist PostgreSQL und der auf Unternehmen ausgerichtete Ableger EDB Postgres Advanced Server (EPAS) von EnterpriseDB (EDB). EDB bietet nicht nur die Funktionalitäten von Open Source PostgreSQL, sondern integriert zusätzliche Features, wie z.B. für Audits, und stellt eine Plattform zum Management, Monitoring und Migration zur Verfügung. Der EPAS zeichnet sich durch moderate Hardware-Anforderungen aus, bietet eine hohe Kompatibilität zum RDBMS von Oracle hinsichtlich Datentypen, Funktionen und Tools, und erlaubt eine Migration effektiv und sicher durchzuführen.

Migration Toolkit

Während die Community Edition von PostgreSQL auf fremde MigrationsTools wie Ora2Pg oder AWS SCT (Schema Conversion Tool) zurückgreift, um die Metadaten und Daten von Oracle zu migrieren, hat EDB eine eigene, granular konfigurierbare Migrationslösung namens Migration Toolkit (MTK) entwickelt. Das MTK kommt ohne eine GUI aus und ist mittels Konsole zu bedienen. Aufgrund der zahlreichen Optionen ist es in der Lage, Daten/-strukturen sowohl im Offline- als auch im Online-Modus von Oracle, Sybase, MySQL, SQL Server sowie PostgreSQL zu migrieren. Durch die wenigen Installations- und Konfigurationsschritte ist das MTK schnell einsatzbereit. Während der Migration werden alle nötigen Datentyp-Konvertierungen und Syntax-Anpassungen an den zu migrierenden Datenbank-Objekten zur Herstellung der Kompatibilität für den EPAS vorgenommen. Nicht migrierbare Objekte oder Code-Fragmente werden dokumentiert. Nach Abschluss der Migration wird ein detaillierter Report erstellt und als Logdatei abgespeichert.

MigToolkit

Die EDB Dokumentation zeigt von der Installation über die Konfiguration, Migration sowie mögliche Workarounds alles im Detail.

Die folgende Übersicht gibt einen groben Überblick über die migrierbaren Datenbank-Objekte je Plattform.

Object Oracle Sybase SQL Server MySQL
Schemas X X X X
Tables X X X X
List-Partitioned Table X
Range-Partitioned Table X    
Hash Partitioned Table X    
Constraints X X X X
Indexes X X X X
Triggers X    
Table Data X X X X
Views X X X
Materialized Views X    
Packages X    
Procedures X    
Functions X    
Seqünces X    
Users/Roles X    
Profiles X    
Object Types X    
Object Type Methods X    
Database Links X    
Queues X    

Generell können aufgrund der Plattformunterschiede nicht alle Datenbankobjekte vollumfänglich migriert werden. Somit kann auch keine komplett automatisierte Migration erfolgen. Eine Migration ist je nach Sorte und Menge der Objekte immer mit manuellem Aufwand, Fehlerkorrekturen und der Suche nach Workarounds verbunden. Auch eine Anpassung der Anwendung selbst ist nicht ausgeschlossen, damit diese mit dem neuen RDBMS wie zuvor weiterhin korrekt funktioniert.

Migration Portal

Neben dem MTK stellt EDB das Migration Portal, ein webbasiertes und intuitiv bedienbares Tool, für Migrationen zur Verfügung. Das Migration Portal unterstützt zum jetzigen Zeitpunkt die Bewertung und Migration von Oracle 11g - 19c zum EPAS v10 - v13.

MigPortal

Durch das von EDB eigens entwickelte und transparente DDL Extractor-Skript kann ein Abzug von einem oder mehreren Schemata aus der Oracle-Datenbank erstellt und im Migration Portal zur Bewertung hochgeladen werden. Durch die Bewertung der DDL-Struktur der Oracle-Objekte erfolgt nicht nur die Einschätzung hinsichtlich des Erfolgs einer Migration, sondern auch die Identifikation von Problemen im Hinblick auf Syntax-, Datentyp-, Funktionsunterschiede, etc. Die Problembeseitigung bzw. die Anpassung in eine für den EPAS kompatible DDL-Struktur erfolgt teilweise automatisiert. Für die restlichen Problemfälle bietet das Migration Portal eine umfängliche Wissensdatenbank mit Vorschlägen und gut erklärten Beispielen für mögliche Workarounds.

Abschließend wird ein Syntax-, Datentyp-konformes PostgreSQL-Migrationsskript erzeugt. Zusätzlich hierzu kann ein Migrationsreport erstellt und im PDF-Format heruntergeladen werden, der eine Übersicht über aufgetretene Fehler und die gemachten Korrekturen enthält.

Das EDB Migration Portal unterstützt alle gängigen Browser, es wird jedoch die Nutzung von Google Chrome empfohlen.

Migrationsprozess

Zuvor wurden die Tools zur Migration von EDB vorgestellt. Nachfolgend soll nun das grundsätzliche Migrationsvorgehen am Beispiel einer Migration von Oracle RDBMS zum EPAS erläutert werden.

1. Auswahl der Datenbank-Objekte und Daten

Es gilt der Grundsatz nur das zu migrieren, was wirklich nötig ist. Die Migration von Funktionen und Features, welche mit der Zielarchitektur nicht kompatibel sind und für das Betreiben der Anwendung nicht benötigt werden, würden nur einen zusätzlichen zeitlichen und manuellen Aufwand für eine Anpassung/Korrektur erfordern. Der Database Compatibility for Oracle Developers Guide von EDB gibt ausführliche Informationen zu den Kompatibilitätsfunktionen, die vom EPAS unterstützt werden.

2. Ermittlung möglicher Migrationsprobleme

Mögliche Migrationsprobleme müssen in enger Zusammenarbeit mit Entwicklern der Anwendung und Datenbankadministratoren im Vorfeld soweit wie möglich identifiziert werden. Eine detaillierte Ausarbeitung des Migrationsprozesses und der damit verbundenen Eventualitäten, sowie eine Fallback-Lösung müssen gut dokumentiert werden. Zur Bewertung einer Migration von Oracle RDBMS zum EPAS empfiehlt es sich das Migration Portal zu verwenden.

3. Einrichtung und Konfiguration der Migrationsumgebung

Eine gute Vorbereitung der Migrationsumgebung ist essenziell. Damit es keine Überraschungen während der Migration gibt, müssen im Vorfeld

  • benötigte Zugänge und Berechtigungen eingerichtet werden,
  • erforderliche Software-Komponenten installiert und entsprechend konfiguriert werden
  • Zertifikate erneuert und Firewall-Freigaben gemacht werden.

4. Durchführung der Migration

Je nach Umfang und Komplexität des zu migrierenden Datenbestands kann es sinnvoll sein, zunächst nur die Schemadefinition ohne Daten zu migrieren. Das Migrationsergebnis der DDL-Struktur muss anschließend überprüft und bei Fehlern korrigiert werden. Anschließend kann die Migration der Daten erfolgen. Für diesen Zweck stellt EDB das oben genannte MTK bereit, welches aufgrund der zahlreichen Optionen in der Lage ist, die DDL-Struktur und die Daten getrennt voneinander zu migrieren. Eine weitere Möglichkeit Daten zu migrieren, insbesondere, wenn es sich um riesige Datenmengen handelt, ist die Nutzung eines Datenbank-Links vom EPAS zu Oracle RDBMS, welcher das Oracle Call Interface (OCI) verwendet.

5. Bewertung des Migrationsergebnisses und Lösung entstandener Probleme

Nach der Migration erstellt das MTK einen detaillierten Abschlussbericht, der eine übersicht über alle migrierten Datenbank-Objekte, Daten und im Zuge der Migration aufgetretene Probleme liefert. Das besondere Augenmerk ist auf die Fehlerbeseitigung und auf ausgiebiges Testen zu legen. Dabei spielen Unit-Tests eine wichtige Rolle.

6. Anpassung der Anwendung für die neue Datenbank

Nicht selten müssen durch die neue Datenbank-Architektur auch Teile der Anwendung angepasst werden. Dies ist ein wichtiger Aspekt und muss bei der Migrationsplanung ausführlich diskutiert und gut durchdacht werden. Zum Verbindungsaufbau verwendet EPAS die standardisierten Treiber (JDBC, ODBC, .NET, OCL). Im besten Fall kommt die Anwendung ohne große Änderungen aus und es muss nur der Connection-String angepasst und der richtige Treiber ausgewählt werden.

7. Konfiguration des neuen Servers und Aktualisierung der Statistiken

Mit einer möglichen Anpassung der Anwendung geht auch die Konfiguration des neuen EPAS einher. Der Server muss systemleistungstechnisch auf die Umgebungs- und Anwendungsgegebenheiten angepasst werden. EDB stellt für diesen Zweck den Postgres Enterprise Manager (PEM) bereit, Monitoring, Management und Tuning des Servers gewährleistet. Zu erwähnen sind natürlich ebenfalls Tools zur Leistungsmessung, wie z.B. pgbench oder HammerDB, um Transaktionsraten zu testen.

Zurzeit bietet kein anderes RDBMS auf dem Markt soviel Kompatibilität zu Oracle wie der EPAS. Das Produkt von EDB sticht nicht nur durch seinen umfangreichen Leistungsumfang heraus, sondern auch durch eine hervorragende Dokumentation, um eine Migration möglichst einfach und effizient vollziehen zu können.

Mykola Kumanikin Autor

Mykola Kumanikin arbeitet als Consultant für die Proventa AG. Sein Tätigkeitsumfeld umfasst Software-Testing, Ticketmanagement und seit Kurzem Datenbankarchitekturen mit PostgreSQL. Seine fachlichen Erfahrungen sammelte er in den unterschiedlichen Projekten in der Telekommunikationsbranche.

Tags