Wie kann man eine Oracle-Datenbank inklusive enthaltender Daten auf Microsoft SQL-Server migrieren

Hier zwei eins zu eins übernommene Antworten aus dem Forum:

==============================

Ich bin bis dato mit dem Import Wizard vom MSSQL immer gut gefahren. Ist halt nur wichtig, auf dem SQL-Server den Oracle-Client mit Net8 und einen guten OLEDB-Treiber zu installieren. Wenn die Daten noch manipuliert werden müssen um in den MSSQL zu passen, brauchst Du einen (oder mehrere) DTS-Job. Diese Teile sind ganz praktisch, da man von Standard-SQL bis VBScript und C alles ausprogrammieren kann - normalerweise findet man aber mit den Bordmitteln das Auskommen. Ist obendrein sogar Transaktionsfähig und somit ziemlich sicher - MS will den MSSQL ja als Datawarehouse etablieren…:wink:

Andere Tools wird’s IMHO nicht geben, schon gar nicht von Oracle & Co. Microsoft und Oracle haben jeweils nur Tools zur Migration der Konkurrenz… what did u expect?! Du findest zu diesem Thema auch Tonnen von Howtos, Concepts usw. auf der MSDN - sogar ein eigenes Buch widmet sich der Auslotung der Konkurrenz.

Wenn dann alle Stricke reissen, dann mach’s auf eine ganz brutale Art, und zwar über MS Access. Tabellen beider RDBMS linken und Anfügeabfragen ausführen. Wird bei der Datenmenge zwar höllisch lange dauern, funktionieren tut’s trotzdem.

==============================

ich kenne mehrere Möglichkeiten, Oracle DBs nach MS SQL-Server zu migrieren.

  1. Folge der Beschreibung in
    http://technet.microsoft.com/de-de/video/migration-v…

(Das ist sozusagen der offizielle Weg (samt Video-Erläuterung))

  1. Schema in SQL-Server erzeugen (z.B. reverse Engineering mit ErWin, dann
    forward engineering nach SQL-Server (überträgt auch Trigger, etc. )

Daten über verknüpfte Tabellen in ACCESS von Oracle nach SQL Server

Achtung foreign-key constraints dürfen auch temporär nicht
verletzt werden.

  1. Bulk-Dump aus Oracle in textdateien, bulk-load aus SQL-Server

  2. wenn Quelldaten „sauber sind“:
    a) Schema in SQL Server erzeugen (ohne foreign keys!)
    b) Daten mittels kleinen Programms (z.B. in Java (in 10 Minuten
    geschrieben)
    aus Oracle in MS SQL Server übertragen
    c) foreign key constraints einfügen (mit alter table)

zu 4) Schemainformationen lassen sich leicht mittels JDBC Databasemetadata auslesen und zur Formulierung der Anfragen nutzen.

Ich nutze Variante 4, wenn die Übertragung der Daten einmalig und nicht performant erfolgen soll. (Row-Weise einfügen dauert nun mal). Der Datenfluß ist aber bei dieser Variante am leichtesten kontrollierbar.

==============================

Für die Migration einer MS SQL-Datenbank in eine Oracle Datenbank gibt es übrigens auch ein offizielles Tutorial:
http://www.oracle.com/webfolder/technetwork/tutorial…