Wie migriere ich eine Oracle-Datenbank auf einen MySQL-Server? [geschlossen]

8

Derzeit wird unsere Anwendung mit der Oracle 11g-Datenbank ausgeführt. Wir entwickeln eine neuere Version der Anwendung, die auf dem MySQL-Cluster ausgeführt wird. Wir müssen die Daten von der Oracle-Datenbank in die MySQL-Datenbank migrieren. Dies ist keine direkte Kopie von Datenbankobjekten. In einer neueren Version des Anwendungsschemas (Tabellenstruktur und Beziehungen) wird geändert. Außerdem müssen Audittabellen kopiert werden. Gibt es eine Möglichkeit, Tabellen, Spalten aus dem alten Oracle-Schema und dem neuen MySQL-Schema zuzuordnen und eine Kopie anzuwenden, damit die Daten kopiert werden?

Wir denken, diese Aktivität in zwei Schritten durchzuführen. 1. Konvertieren Sie die Oracle-Datenbank in eine MySQL-Datenbank. 2. Schreiben einer gespeicherten Prozedur, um Tabelle für Tabelle zu kopieren.

Gibt es Best Practices bei der Durchführung dieser Art der Datenbankmigration von einem RDBMS-Anbieter zu einem anderen? Gibt es dafür Open Source oder kommerzielle Tools?

Suren Raju
quelle

Antworten:

5

Ich empfehle diese Migration in zwei Schritten durchzuführen.

  1. Verwenden Sie MySQL Workbench, um die meisten Datenbankobjekte und -daten nach MySQL zu migrieren (Tabellendaten werden ebenfalls von diesem Prozess kopiert). Weitere Informationen finden Sie unter Verwenden des MySQL Workbench-Migrationsassistenten . Dadurch haben Sie manuelle Arbeit für bestimmte Objekte wie gespeicherte Prozeduren. Kein Tool kann eine automatische Migration durchführen, da sich gespeicherte Routinen zwischen Oracle und MySQL stark unterscheiden.
  2. Verwenden Sie MySQL Workbench, um die migrierte Datenbank in ein Modell zurückzuentwickeln.
  3. Verwenden Sie dieses Modell, um Objekte an Ihre neue Schemastruktur anzupassen.
  4. Synchronisieren Sie das Modell mit Ihrem Server, um die Änderungen zu übernehmen. Abhängig davon, welche Änderungen Sie vorgenommen haben, ist dies möglicherweise nicht destruktiv, aber ein Backup ist natürlich immer eine gute Idee.

Sie können die Schritte 3 und 4 so oft wiederholen, wie Sie möchten, um Ihr Schema schrittweise anzupassen. Die Synchronisierung übernimmt auch alle Änderungen, die andere am Schema vorgenommen haben (bidirektionale Synchronisierung).

Die Migration von Oracle zu MySQL wird von MySQL Workbench nicht unterstützt. Alle meine obigen Vorschläge sind nur das, Ideen, die man ausprobieren kann, um es zumindest teilweise zum Laufen zu bringen. Nichts davon wird jedoch getestet, da die Migration von Oracle zu MySQL, wie gesagt, nicht unterstützt wird.

Mike Lischke
quelle
0

Ich habe kürzlich eine Oracle-Datenbank mit einem Programm namens DBConvert in MySQL konvertiert. Es gibt eine kostenlose Version, die Wasserzeichen in große Tabellen einfügt, die jedoch behoben werden kann. ;) Es ist nicht perfekt und es könnte einige Bastelarbeiten erfordern, um es nach der Konvertierung zu reparieren.

Hatandboots
quelle