[Oracle/MS SQL-Server] Datenmigration

Hallo Leute,

ich suche nach Möglichkeiten eine Datenbank von Oracle nach MS SQL-Server zu migrieren.

Problem ist dabei nicht das Datenbankschema umzuschreiben sondern die bestehenden Daten zu migrieren (ca. 70 GB in 50 Tabellen).

Gibts da gangbare Wege?

Danke und Grüße,
Robert

hi!

zuerst gibt’s mal von oracle selber ein paar sachen (wie datawarehouse etc.), dann gibt’s noch eigene migrationsprogramme (wie data-junction, davon gibt’s sogar eine kostenlose trial-version) … oder aber du schreibst selber ein paar scripts … soll das ganze nur einmal passieren („altdatenübernahme“) oder öfter (per schnittstelle)?

grüße,
tomh

Antworten

soll das ganze nur einmal
passieren („altdatenübernahme“) oder öfter (per
schnittstelle)?

Hallo Tom,

nur einmal und dann nie wieder. :o)

Danke mal für deine Tipps, werde mir mal die Produkte ansehen.

Hab inzwischen auch nach einer Mail-Experten-Anfragen von Leuten Antworten bekommen die zumindest zum Teil hier nicht lesen, aber hoffentlich nichts dagegen haben wenn ich sie hier jetzt für Interessierte zitiere (mit der Vielzahl an Antworten könnte man den Thread gleich in die neuen FAQs übernehmen :o):

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

Stefan:

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.

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

Heiko Tapken:

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

  1. Folge der Beschreibung in
    http://www.microsoft.com/sql/techinfo/deployment/200…

(Das ist sozusagen der offizielle Weg (insb. ab S. 121))

  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.

Es kann auch sein, das mittlerweile Migratoren erhältlich sind. Damit kenn
ich mich aber nicht so aus.

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

Hallo

Ich hätte Dir auch DTS Empfohlen :wink: Das Ding ist einfach genial. Gruss

Giuseppe