Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Migrieren Sie von Oracle zu MySQL

Oracle stellt kein vorkonfiguriertes Entladedienstprogramm bereit.

Denken Sie daran, dass ohne umfassende Informationen über Ihre Umgebung (Oracle-Version? Serverplattform? Wie viele Daten? Welche Datentypen?) alles hier YMMV ist und Sie es auf Ihrem System auf Leistung und Timing ausprobieren möchten.

Meine Punkte 1-3 sind nur allgemeine Ideen zur Datenbewegung. Punkt 4 ist eine Methode, die Ausfallzeiten oder Unterbrechungen auf Minuten oder Sekunden reduziert.

1) Es sind Dienstprogramme von Drittanbietern verfügbar. Ich habe einige davon verwendet, aber am besten überprüfen Sie sie selbst für Ihren beabsichtigten Zweck. Einige Produkte von Drittanbietern sind hier aufgeführt:OraFaq . Leider laufen viele von ihnen unter Windows, was den Datenentladeprozess verlangsamen würde, es sei denn, Ihr DB-Server läuft unter Windows und Sie könnten das Ladedienstprogramm direkt auf dem Server ausführen.

2) Wenn Sie keine komplexen Datentypen wie LOBs haben, können Sie mit SQLPLUS Ihre eigenen erstellen. Wenn Sie jeweils eine Tabelle erstellt haben, können Sie sie leicht parallelisieren. Das Thema wurde auf dieser Seite wahrscheinlich mehr als einmal besucht, hier ein Beispiel:Linky

3) Wenn Sie 10g+ sind, könnten externe Tabellen eine leistungsfähige Möglichkeit sein, diese Aufgabe zu erfüllen. Wenn Sie einige leere externe Tabellen mit derselben Struktur wie Ihre aktuellen Tabellen erstellen und die Daten dorthin kopieren, werden die Daten in das externe Tabellenformat (eine Textdatei) konvertiert. Wieder einmal OraFAQ zur Rettung .

4) Wenn Sie Systeme für Tage/Wochen/Monate parallel halten müssen, verwenden Sie ein Change Data Capture/Apply-Tool für Ausfallzeiten von nahezu null. Seien Sie bereit, $$$ zu zahlen. Ich habe das Tool von Golden Gate Software verwendet, das die Redo-Protokolle von Oracle durchsuchen und Einfüge-/Aktualisierungsanweisungen an eine MySQL-Datenbank liefern kann. Sie können den Großteil der Daten in der Woche vor dem Go-Live ohne Ausfallzeit migrieren. Fahren Sie dann während Ihrer Go-Live-Phase die Quelldatenbank herunter, lassen Sie Golden Gate die letzten verbleibenden Transaktionen nachholen und öffnen Sie dann den Zugriff auf Ihre neue Zieldatenbank. Ich habe dies für Upgrades verwendet und die Nachholfrist betrug nur wenige Minuten. Wir hatten bereits eine Site-Lizenz für Golden Gate, also war es nichts aus eigener Tasche für uns.

Und ich werde hier die Rolle des Cranky DBA spielen und sagen, wenn Sie Oracle nicht zu einer guten Leistung bringen können, würde ich gerne einen Bericht darüber sehen, wie MySQL Ihre speziellen Probleme behoben hat. Wenn Sie eine Anwendung haben, bei der Sie das SQL nicht anfassen können, gibt es immer noch viele Möglichkeiten, Oracle zu optimieren. /Seifenkiste