Verbinden mit der Oracle-Datenbank (OracleToSQL)

Okt 25, 2021
admin
  • 06/04/2020
  • 5 Minuten zu lesen
    • n
    • T
    • M
    • r
    • S
    • +2

Um Oracle-Datenbanken auf SQL Server zu migrieren, müssen Sie eine Verbindung zu der Oracle-Datenbank herstellen, die Sie migrieren möchten. Wenn Sie eine Verbindung herstellen, ruft SSMA Metadaten über alle Oracle-Schemata ab und zeigt diese im Oracle Metadata Explorer-Fenster an. SSMA speichert Informationen über den Datenbankserver, aber keine Passwörter.

Ihre Verbindung zur Datenbank bleibt aktiv, bis Sie das Projekt schließen. Wenn Sie das Projekt erneut öffnen, müssen Sie die Verbindung erneut herstellen, wenn Sie eine aktive Verbindung zur Datenbank wünschen.

Die Metadaten zur Oracle-Datenbank werden nicht automatisch aktualisiert. Wenn Sie die Metadaten im Oracle Metadata Explorer aktualisieren möchten, müssen Sie sie stattdessen manuell aktualisieren. Weitere Informationen finden Sie im Abschnitt „Aktualisieren von Oracle-Metadaten“ weiter unten in diesem Thema.

Erforderliche Oracle-Berechtigungen

Das Konto, das für die Verbindung zur Oracle-Datenbank verwendet wird, muss mindestens über die folgenden Berechtigungen verfügen:

  • CONNECT
    Erforderlich für die Verbindung (Erstellung einer Sitzung) mit der Datenbank.

  • SELECT ANY DICTIONARY
    Erforderlich für die Abfrage von System-Dictionary-Tabellen (z. B. SYS.MLOG$), um alle Objekte zu ermitteln.

Damit kann SSMA alle Objekte in das Schema laden, das dem verbindenden Benutzer gehört. In den meisten realen Szenarien gibt es schemaübergreifende Referenzen zwischen gespeicherten Prozeduren, und SSMA muss in der Lage sein, alle referenzierten Objekte für eine erfolgreiche Konvertierung zu ermitteln. Um Metadaten für Objekte zu erhalten, die in anderen Schemata definiert sind, muss das Konto die folgenden zusätzlichen Berechtigungen haben:

  • SELECT ANY TABLE
    Erforderlich, um Tabellen, Ansichten, materialisierte Ansichten und Synonyme in anderen Schemata zu ermitteln.

  • SELECT ANY SEQUENCE
    Erforderlich, um Sequenzen in anderen Schemata zu ermitteln.

  • CREATE ANY PROCEDURE
    Erforderlich, um PL/SQL für Prozeduren, Funktionen und Pakete in anderen Schemata zu finden.

  • CREATE ANY TRIGGER
    Erforderlich, um Trigger-Definitionen in anderen Schemata zu finden.

  • CREATE ANY TYPE
    Erforderlich, um in anderen Schemas definierte Typen zu erkennen.

Einige der SSMA-Funktionen erfordern zusätzliche Berechtigungen. Wenn Sie beispielsweise die Tester- und Backup-Management-Funktionen nutzen möchten, müssen Sie Ihrem Verbindungsbenutzer die folgenden Rechte erteilen:

  • EXECUTE ANY PROCEDURE
    Erforderlich für die Ausführung von Prozeduren und Funktionen, die Sie in allen Schemata testen möchten.

  • CREATE ANY TABLE und ALTER ANY TABLE
    Erforderlich, um temporäre Tabellen für die Änderungsverfolgung und Backups zu erstellen und zu ändern.

  • INSERT ANY TABLE und UPDATE ANY TABLE
    Erforderlich, um Daten für die Änderungsverfolgung und Backups in temporäre Tabellen einzufügen.

  • DROP ANY TABLE
    Erforderlich, um temporäre Tabellen für die Änderungsverfolgung und Backups zu löschen.

  • CREATE ANY INDEX und ALTER ANY INDEX
    Erforderlich zum Erstellen und Ändern von Indizes auf temporären Tabellen, die für die Änderungsverfolgung und Backups verwendet werden.

  • DROP ANY INDEX
    Erforderlich zum Löschen von Indizes auf temporären Tabellen, die für die Änderungsverfolgung und Backups verwendet werden.

  • CREATE ANY TRIGGER und ALTER ANY TRIGGER
    Erforderlich zum Erstellen und Ändern von temporären Triggern, die für die Änderungsverfolgung verwendet werden.

  • DROP ANY TRIGGER
    Erforderlich zum Löschen von temporären Triggern, die für die Änderungsverfolgung verwendet werden.

Hinweis

Dies ist ein allgemeiner Satz von Berechtigungen, die für den ordnungsgemäßen Betrieb von SSMA erforderlich sind. Wenn Sie den Umfang Ihrer Migration auf eine Teilmenge von Schemata eingrenzen möchten, können Sie dies tun, indem Sie die oben genannten Berechtigungen für die begrenzte Menge von Objekten anstelle von ALL erteilen. Auch wenn dies möglich ist, kann es sehr schwierig sein, alle Abhängigkeiten korrekt zu identifizieren, so dass SSMA nicht richtig funktioniert. Es wird dringend empfohlen, sich an den oben definierten allgemeinen Satz zu halten, um mögliche Probleme bei der Migration zu vermeiden.

Verbindung zu Oracle herstellen

Wenn Sie eine Verbindung zu einer Datenbank herstellen, liest SSMA die Metadaten der Datenbank und fügt diese Metadaten dann der Projektdatei hinzu. Diese Metadaten werden von SSMA bei der Konvertierung von Objekten in die SQL Server-Syntax und bei der Migration von Daten zu SQL Server verwendet. Sie können diese Metadaten im Bereich Oracle Metadata Explorer durchsuchen und die Eigenschaften der einzelnen Datenbankobjekte überprüfen.

Wichtig

Bevor Sie versuchen, eine Verbindung herzustellen, stellen Sie sicher, dass der Datenbankserver läuft und Verbindungen akzeptieren kann.

So stellen Sie eine Verbindung zu Oracle her

  1. Wählen Sie im Menü „Datei“ die Option „Mit Oracle verbinden“.
    Wenn Sie zuvor eine Verbindung zu Oracle hergestellt haben, lautet der Befehl „Mit Oracle erneut verbinden“.

  2. Wählen Sie im Feld „Provider“ den Oracle Client Provider oder den OLE DB Provider aus, je nachdem, welcher Provider installiert ist. Die Standardeinstellung ist Oracle Client.

  3. Wählen Sie im Feld Modus entweder den Standardmodus, den TNSNAME-Modus oder den Verbindungszeichenfolgenmodus.
    Verwenden Sie den Standardmodus, um den Servernamen und den Port anzugeben. Verwenden Sie den Dienstnamenmodus, um den Oracle-Dienstnamen manuell anzugeben. Verwenden Sie den Modus „Verbindungszeichenfolge“, um eine vollständige Verbindungszeichenfolge anzugeben.

  4. Wenn Sie den Modus „Standard“ wählen, geben Sie die folgenden Werte ein:

    1. Geben Sie in das Feld „Servername“ den Namen oder die IP-Adresse des Datenbankservers ein oder wählen Sie diese aus.
    2. Wenn der Datenbankserver nicht so konfiguriert ist, dass er Verbindungen über den Standardport (1521) akzeptiert, geben Sie in das Feld „Serverport“ die Portnummer ein, die für Oracle-Verbindungen verwendet wird.
    3. Geben Sie im Feld Oracle SID die Systemkennung ein.
    4. Geben Sie im Feld Benutzername ein Oracle-Konto ein, das über die erforderlichen Berechtigungen verfügt.
    5. Geben Sie im Feld Passwort das Passwort für den angegebenen Benutzernamen ein.
  5. Wenn Sie den TNSNAME-Modus wählen, geben Sie die folgenden Werte ein:

    1. Geben Sie im Feld Verbindungskennung die Verbindungskennung (TNS-Alias) der Datenbank ein.
    2. Geben Sie in das Feld Benutzername ein Oracle-Konto ein, das über die erforderlichen Berechtigungen verfügt.
    3. Geben Sie in das Feld Kennwort das Kennwort für den angegebenen Benutzernamen ein.
  6. Wenn Sie den Modus Verbindungszeichenfolge auswählen, geben Sie in das Feld Verbindungszeichenfolge eine Verbindungszeichenfolge ein.
    Das folgende Beispiel zeigt eine OLE DB-Verbindungszeichenfolge:

    Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;

    Das folgende Beispiel zeigt eine Oracle-Client-Verbindungszeichenfolge, die integrierte Sicherheit verwendet:

    Data Source=MyOracleDB;Integrated Security=yes;

    Weitere Informationen finden Sie unter Verbinden mit Oracle (OracleToSQL).

Wiederverbinden mit Oracle

Ihre Verbindung zum Datenbankserver bleibt aktiv, bis Sie das Projekt schließen. Wenn Sie das Projekt erneut öffnen, müssen Sie die Verbindung erneut herstellen, wenn Sie eine aktive Verbindung zur Datenbank wünschen. Sie können offline arbeiten, bis Sie Metadaten aktualisieren, Datenbankobjekte in SQL Server laden und Daten migrieren möchten.

Auffrischen von Oracle-Metadaten

Metadaten über die Oracle-Datenbank werden nicht automatisch aufgefrischt. Die Metadaten im Oracle Metadata Explorer sind ein Schnappschuss der Metadaten bei der ersten Verbindung bzw. bei der letzten manuellen Aktualisierung der Metadaten. Sie können die Metadaten für alle Schemata, ein einzelnes Schema oder einzelne Datenbankobjekte manuell aktualisieren.

So aktualisieren Sie die Metadaten

  1. Stellen Sie sicher, dass Sie mit der Datenbank verbunden sind.

  2. In Oracle Metadata Explorer aktivieren Sie das Kontrollkästchen neben jedem Schema oder Datenbankobjekt, das Sie aktualisieren möchten.

  3. Klicken Sie mit der rechten Maustaste auf Schemas oder das einzelne Schema- oder Datenbankobjekt und wählen Sie dann Von Datenbank aktualisieren.
    Wenn Sie keine aktive Verbindung haben, zeigt SSMA das Dialogfeld Mit Oracle verbinden an, damit Sie eine Verbindung herstellen können.

  4. In dem Dialogfeld Von Datenbank aktualisieren geben Sie an, welche Objekte aktualisiert werden sollen.

    • Um ein Objekt zu aktualisieren, klicken Sie auf das Feld Aktiv neben dem Objekt, bis ein Pfeil erscheint.
    • Um zu verhindern, dass ein Objekt aktualisiert wird, klicken Sie auf das Feld Aktiv neben dem Objekt, bis ein X erscheint.
    • Um eine Kategorie von Objekten zu aktualisieren oder abzulehnen, klicken Sie auf das Feld Aktiv neben dem Kategorieordner.

    Um die Definitionen der Farbcodierung anzuzeigen, klicken Sie auf die Schaltfläche Legende.

  5. Klicken Sie auf OK.

Der nächste Schritt im Migrationsprozess ist die Verbindung mit einer Instanz von SQL Server.

Siehe auch

Migrieren von Oracle-Datenbanken zu SQL Server (OracleToSQL)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.