Info2soft verwendet Cookies, um Ihnen ein besseres und angenehmeres Surferlebnis auf unserer Website zu ermöglichen. Datenschutzerklärung
Wird geladen...
Sowohl Oracle als auch SQL Server sind bekannte Datenbankmanagementsysteme. Es gibt zahlreiche Gründe, warum Unternehmen eine Migration von Oracle zu SQL Server durchführen möchten.
Die häufigsten Motive sind folgende:
Egal aus welchem Grund Sie Oracle zu SQL Server migrieren möchten – dieser Artikel liefert Hintergrundinformationen und detaillierte Schritte für die Umsetzung der Umstellung.
Sie können die technischen Unterschiede zwischen Oracle- und SQL Server-Datenbanken einsehen.
| Merkmal | Oracle | SQL Server |
|---|---|---|
| Prozedurale Sprache | PL/SQL | T-SQL |
| Datentypen | NUMBER, VARCHAR2, CLOB usw. | INT, NVARCHAR, TEXT usw. |
| Schema/Benutzer-Modell | Jeder Benutzer verfügt über ein eigenes Schema | Schemas sind innerhalb einer Datenbank angeordnet |
| Transaktionssteuerung | Implizierte Commits bei DDL-Anweisungen | Explizite Commits erforderlich |
| Sequenzen | Eigenständige Objekte | Integrierte IDENTITY-Spalten |
Im folgenden Abschnitt stellen wir drei praxistaugliche Verfahren vor, um Oracle-Daten zu SQL Server zu übertragen.
SQL Server Migration Assistant (SSMA) ist ein kostenloses Tool von Microsoft, das die Migration von Fremddatenbankplattformen zu SQL Server automatisiert. Es überträgt nicht nur Daten, sondern wandelt zudem Oracle-Datenbankschemas wie Tabellen, Sichten und Prozeduren für SQL Server um.
1. Laden Sie SSMA für Oracle von der Microsoft-Webseite herunter und installieren Sie es.
2. Öffnen Sie die MSI-Datei. Klicken Sie bei einer Sicherheitswarnung auf „Ausführen“.
3. Installieren Sie den SSMA-Client sowie das SSMA-Erweiterungspaket auf dem SQL-Server-System. Folgen Sie anschließend den Anweisungen des Installationsprogramms.
1. Starten Sie SSMA für Oracle und klicken Sie auf „Datei“ > „Neues Projekt“.
2. Geben Sie folgende Angaben ein:
1. Klicken Sie im Oracle-Metadaten-Explorer in der oberen Menüleiste auf „Mit Oracle verbinden“.
2. Tragen Sie die folgenden Informationen ein und klicken Sie auf „Verbinden“:
3. SSMA stellt nun die Verbindung zu Oracle her und listet alle verfügbaren Schemas auf. Wählen Sie das zu migrierende Schema aus und klicken Sie auf „OK“.
SSMA lädt daraufhin das Oracle-Schema und die Objekte. Im nächsten Schritt stellen Sie die Verbindung zum SQL Server her.
1. Klicken Sie im SQL Server-Metadaten-Explorer in der oberen Menüleiste auf „Mit SQL Server verbinden“.
2. Tragen Sie im Pop-up-Fenster folgende Daten ein:
3. Klicken Sie auf die Schaltfläche „Verbinden“.
1. Wählen Sie im Oracle-Metadaten-Explorer die Menüpunkte „Bericht erstellen“ > „Bewertungsbericht“ aus.
2. Der Bericht zeigt Ihnen nun die Umwandlungs-Erfolgsrate, eine Liste nicht kompatibler Objekte sowie den geschätzten manuellen Aufwand an.
3. Prüfen Sie den Bericht sorgfältig. Gegebenenfalls müssen festgestellte Probleme manuell behoben werden.
1. Klicken Sie im Oracle-Metadaten-Explorer mit der rechten Maustaste auf das gewünschte Schema und wählen Sie „Schema umwandeln“.
2. SSMA wandelt Oracle-Datentypen in passende SQL Server-Typen um und übersetzt PL/SQL-Code in T-SQL. Auftretende Umwandlungsprobleme werden im Ausgabefenster angezeigt.
3. Prüfen Sie das umgewandelte Schema im Bereich des SQL Server-Metadaten-Explorers.
1. Klicken Sie im SQL Server-Metadaten-Explorer mit der rechten Maustaste auf Ihre Ziel-SQL-Server-Datenbank > „Mit Datenbank synchronisieren“.
2. SSMA führt CREATE TABLE, CREATE VIEW und weitere DDL-Skripte aus, um das Schema auf dem SQL Server aufzubauen.
3. Überprüfen Sie, ob die neuen Tabellen und Objekte in SQL Server Management Studio (SSMS) angezeigt werden.
1. Klicken Sie im Oracle-Metadaten-Explorer mit der rechten Maustaste auf „Tabellen“ oder das „gesamte Schema“ und wählen Sie „Daten migrieren“.
2. SSMA extrahiert Daten aus Oracle und schreibt diese mithilfe effizienter Massenladeverfahren in SQL Server. Warten Sie bis zum Abschluss des Vorgangs.
Nach Abschluss der Datenmigration:
1. Vergleichen Sie die Datensatzanzahlen zwischen Oracle und SQL Server:
— SQL Server
SELECT COUNT(*) FROM dbo.Customers;
— Oracle
SELECT COUNT(*) FROM Customers;
2. Prüfen Sie mit SQL Server Management Studio:
Primär- und Fremdschlüssel,
NULL-Werte und Standardwerte,
Indizes und Einschränkungen,
Beispieldaten und Auswertungen.
3. Führen Sie Testabfragen oder Anwendungsskripte aus, um die Geschäftslogik zu überprüfen.
Bei kleinen Datenbanken können Entwickler Oracle mithilfe von T-SQL-Skripten und SQL Server Integration Services (SSIS) manuell zu SQL Server umstellen. Dieser Ansatz erfordert jedoch umfassende Fachkenntnisse sowie gründliche Tests.
Bevor Sie Umwandlungsskripte erstellen, analysieren Sie zunächst die Struktur Ihrer Oracle-Datenbank:
1. Erstellen Sie eine Liste aller Datenbankobjekte: Tabellen, Indizes, Sichten, gespeicherte Prozeduren, Trigger und Sequenzen.
2. Exportieren Sie das Schema mit Oracle SQL Developer oder expdp (Data Pump Export).
3. Generieren Sie DDL-Skripte (Data Definition Language) aus Oracle:
4. Speichern Sie diese DDL-Skripte als Referenz, um Objekte in SQL Server neu zu erstellen.
Oracle und SQL Server verwenden unterschiedliche Datentypen. Bei einer manuellen Umwandlung ist eine explizite Zuordnung erforderlich, um die Datenintegrität sicherzustellen.
|
Oracle-Datentyp |
Entsprechung bei SQL Server |
|
VARCHAR2(n) |
VARCHAR(n) |
|
NVARCHAR2(n) |
NVARCHAR(n) |
|
NUMBER |
INT, BIGINT oder DECIMAL |
|
DATE |
DATETIME oder DATE |
|
CLOB |
TEXT oder VARCHAR(MAX) |
|
BLOB |
VARBINARY(MAX) |
Bei der Erstellung individueller Skripte definieren Sie jede Spalte explizit, um der Syntax von SQL Server zu entsprechen.
Sobald die Typzuordnungen festgelegt sind, legen Sie eine neue Datenbank und ein Schema in SQL Server an:
CREATE DATABASE CompanyDB;
GO
USE CompanyDB;
GO
CREATE SCHEMA hr;
GO
Erstellen Sie anschließend Tabellen, Indizes und Einschränkungen mithilfe Ihrer umgewandelten Skripte. Dadurch behalten Sie die vollständige Kontrolle über Struktur und Indexstrategie bei der Umstellung von Oracle auf SQL Server.
Exportieren Sie die Oracle-Tabellendaten in Flatfiles (CSV oder TSV) für einen vereinfachten Import:
Nutzung mit SQL*Plus oder SQL Developer:
SPOOL employees.csv
SELECT * FROM employees;
SPOOL OFF;
Alternativ können Sie expdp für reine Datenexporte nutzen. Achten Sie auf die korrekte Behandlung von NULL-Werten, Datumsformaten und Sonderzeichen, um Fehler beim Import zu vermeiden.
Laden Sie die Daten mithilfe von SQL Server Management Studio (SSMS) oder bcp (Bulk Copy Program) in Ihre SQL Server-Tabellen.
Beispiel für bcp:
Alternativ können Sie SQL Server Integration Services (SSIS) verwenden, um Massenimporte mehrerer Tabellen zu automatisieren.
Die prozedurale Sprache von Oracle (PL/SQL) unterscheidet sich von T-SQL bei SQL Server. Trigger, gespeicherte Prozeduren und Funktionen müssen manuell neu geschrieben werden.
Nach dem Datenimport und der Codeumwandlung:
1. Überprüfen Sie die Datensatzanzahlen zwischen Oracle und SQL Server.
2. Prüfen Sie Integritätsbedingungen und Beziehungen.
3. Führen Sie Anwendungstests durch, um die Funktionsweise zu bestätigen.
4. Nutzen Sie den Query Store oder den Profiler von SQL Server, um Leistungsprobleme zu erkennen.
Nach erfolgreicher Prüfung von Daten und Schema:
Für Unternehmen, die keine einmalige Migration, sondern eine Echtzeit-Datensynchronisation benötigen, bietet i2Stream von Info2Soft eine leistungsstarke und flexible Lösung. Im Gegensatz zu einer herkömmlichen einmaligen Migration von Oracle zu SQL Server ermöglicht i2Stream eine kontinuierliche Replikation, sodass Oracle- und SQL Server-Datenbanken mit minimaler Latenz vollständig synchron bleiben.
Kernfunktionen von i2Stream für die Replikation von Oracle zu SQL Server
Die Migration von Oracle zu SQL Server ist eine strategische Maßnahme, mit der Unternehmen Kosten senken, die Infrastruktur modernisieren und eine nahtlose Integration mit Microsoft-Technologien erreichen. Der Vorgang erfordert jedoch sorgfältige Planung und passende Tools, um Unterschiede bei Datentypen, Schemastrukturen und prozeduralem Code zu bewältigen.
Dieser Artikel stellt die zentralen Herausforderungen einer Migration von Oracle zu SQL Server vor und beschreibt praxisbewährte Verfahren für eine erfolgreiche Umstellung.