Herstellen einer Verbindung mit Oracle Database (OracleToSQL)
Um Oracle-Datenbanken zu SQL Server zu migrieren, müssen Sie eine Verbindung mit der Oracle-Datenbank herstellen, die Sie migrieren möchten. Wenn Sie eine Verbindung herstellen, ruft der SQL Server-Migrations-Assistent (SSMA) Metadaten zu allen Oracle-Schemas ab und zeigt ihn dann im Oracle-Metadaten-Explorer-Bereich an. SSMA speichert Informationen über den Datenbankserver, speichert jedoch keine Kennwörter.
Die Verbindung mit der Datenbank bleibt aktiv, bis Sie das Projekt schließen. Wenn Sie das Projekt erneut öffnen, müssen Sie erneut eine Verbindung herstellen, wenn Sie eine aktive Verbindung mit der Datenbank herstellen möchten.
Metadaten zur Oracle-Datenbank werden nicht automatisch aktualisiert. Wenn Sie stattdessen die Metadaten im Oracle-Metadaten-Explorer aktualisieren möchten, müssen Sie sie manuell aktualisieren. Weitere Informationen finden Sie im Abschnitt "Aktualisieren von Oracle-Metadaten " in diesem Artikel.
Erforderliche Oracle-Berechtigungen
Mindestens muss das Konto, das für die Verbindung mit der Oracle-Datenbank verwendet wird, über die folgenden Berechtigungen verfügen:
Berechtigung | Beschreibung |
---|---|
CONNECT |
Erforderlich für die Verbindung (Erstellen einer Sitzung) mit der Datenbank. |
SELECT ANY DICTIONARY |
Erforderlich zum Abfragen von Systemwörterbuchtabellen (z SYS.MLOG$ . B. ), um alle Objekte zu ermitteln. |
Dadurch kann SSMA alle Objekte im Schema laden, die dem verbindenden Benutzer gehören. In den meisten realen Szenarien gibt es schemaübergreifende Verweise 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 abzurufen, die in anderen Schemas definiert sind, muss das Konto über die folgenden zusätzlichen Berechtigungen verfügen:
Berechtigung | Beschreibung |
---|---|
SELECT ANY TABLE |
Erforderlich, um Tabellen, Ansichten, materialisierte Ansichten und Synonyme in anderen Schemas zu ermitteln. |
SELECT ANY SEQUENCE |
Erforderlich, um Sequenzen in anderen Schemas zu ermitteln. |
CREATE ANY PROCEDURE |
Erforderlich, um PL/SQL für Prozeduren, Funktionen und Pakete in anderen Schemas zu ermitteln. |
CREATE ANY TRIGGER |
Erforderlich, um Triggerdefinitionen in anderen Schemas zu ermitteln. |
CREATE ANY TYPE |
Erforderlich, um typen zu ermitteln, die in anderen Schemas definiert sind. |
Einige der SSMA-Features erfordern zusätzliche Berechtigungen. Wenn Sie z. B. die Funktionen "Migrierte Datenbankobjekte testen" (OracleToSQL) und "Managing Backups( OracleToSQL)" verwenden möchten, müssen Sie Dem verbindenden Benutzer die folgenden Berechtigungen erteilen:
Berechtigung | Beschreibung |
---|---|
EXECUTE ANY PROCEDURE |
Erforderlich zum Ausführen von Prozeduren und Funktionen, die Sie in allen Schemas testen möchten. |
CREATE ANY TABLE und ALTER ANY TABLE |
Erforderlich zum Erstellen und Ändern temporärer Tabellen für die Änderungsnachverfolgung und Sicherungen. |
INSERT ANY TABLE und UPDATE ANY TABLE |
Erforderlich, um Änderungsnachverfolgungs- und Sicherungsdaten in temporäre Tabellen einzufügen. |
DROP ANY TABLE |
Erforderlich zum Ablegen temporärer Tabellen, die für die Änderungsnachverfolgung und Sicherungen verwendet werden. |
CREATE ANY INDEX und ALTER ANY INDEX |
Erforderlich zum Erstellen und Ändern von Indizes für temporäre Tabellen, die für die Änderungsnachverfolgung und Sicherungen verwendet werden. |
DROP ANY INDEX |
Erforderlich zum Ablegen von Indizes für temporäre Tabellen, die für die Änderungsnachverfolgung und Sicherungen verwendet werden. |
CREATE ANY TRIGGER und ALTER ANY TRIGGER |
Erforderlich zum Erstellen und Ändern temporärer Trigger, die für die Änderungsnachverfolgung verwendet werden. |
DROP ANY TRIGGER |
Erforderlich zum Ablegen temporärer Trigger, die für die Änderungsnachverfolgung verwendet werden. |
Dies ist ein allgemeiner Satz von Berechtigungen, die für die ordnungsgemäße Ausführung von SSMA erforderlich sind. Wenn Sie den Umfang Ihrer Migration auf eine Teilmenge von Schemas beschränken möchten, können Sie dies tun, indem Sie den begrenzten Satz von Objekten anstelle von ALL
oben Berechtigungen erteilen. Es kann zwar schwierig sein, alle Abhängigkeiten korrekt zu identifizieren und so zu verhindern, dass SSMA ordnungsgemäß funktioniert. Es wird dringend empfohlen, den generischen Satz wie zuvor definiert beizubehalten, um mögliche Berechtigungsprobleme während des Migrationsprozesses zu beseitigen.
Herstellen einer Verbindung mit Oracle
Wenn Sie eine Verbindung mit einer Datenbank herstellen, liest SSMA die Datenbankmetadaten und fügt diese Metadaten dann der Projektdatei hinzu. Diese Metadaten werden von SSMA verwendet, wenn sie Objekte in sql Server-Syntax konvertiert und daten zu SQL Server migriert. Sie können diese Metadaten im Bereich Oracle Metadata Explorer durchsuchen und Eigenschaften einzelner Datenbankobjekte überprüfen.
Wichtig
Bevor Sie versuchen, eine Verbindung herzustellen, stellen Sie sicher, dass der Datenbankserver ausgeführt wird und Verbindungen akzeptieren können.
Herstellen einer Verbindung mit Oracle
Wählen Sie im Menü "Datei " die Option "Mit Oracle verbinden" aus.
Wenn Sie zuvor eine Verbindung mit Oracle hergestellt haben, ist der Befehlsname erneut mit Oracle verbunden.
Wählen Sie im Feld "Anbieter " die Option "Oracle Client Provider " oder "OLE DB-Anbieter" aus, je nachdem, welcher Anbieter installiert ist. Der Standardwert ist Oracle-Client.
Wählen Sie im Feld "Modus" entweder den Standardmodus, den TNSNAME-Modus oder den Verbindungszeichenfolgenmodus aus.
Verwenden Sie den Standardmodus, um den Servernamen und den Port anzugeben. Verwenden Sie den Dienstnamenmodus, um den Oracle-Dienstnamen manuell anzugeben. Verwenden Sie Verbindungszeichenfolge Modus, um eine vollständige Verbindungszeichenfolge bereitzustellen.
Wenn Sie den Standardmodus auswählen, geben Sie die folgenden Werte an:
Geben Sie im Feld "Servername " den Namen oder die IP-Adresse des Datenbankservers ein, oder wählen Sie ihn aus.
Wenn der Datenbankserver nicht so konfiguriert ist, dass Verbindungen im Standardport akzeptiert werden (
1521
), geben Sie die Portnummer ein, die für Oracle-Verbindungen im Serverportfeld verwendet wird.Geben Sie im Feld Oracle SID den Systembezeichner ein.
Geben Sie im Feld " Benutzername" ein Oracle-Konto ein, das über die erforderlichen Berechtigungen verfügt.
Geben Sie im Feld "Kennwort " das Kennwort für den angegebenen Benutzernamen ein.
Wenn Sie den TNSNAME-Modus auswählen, geben Sie die folgenden Werte an:
- Geben Sie im Feld "Verbindungsbezeichner" die Verbindungs-ID (TNS-Alias) der Datenbank ein.
- Geben Sie im Feld " Benutzername" ein Oracle-Konto ein, das über die erforderlichen Berechtigungen verfügt.
- Geben Sie im Feld "Kennwort " das Kennwort für den angegebenen Benutzernamen ein.
Wenn Sie den Verbindungszeichenfolgenmodus auswählen, geben Sie im Feld "Verbindungszeichenfolge" eine Verbindungszeichenfolge an.
Das folgende Beispiel zeigt ein OLE DB-Verbindungszeichenfolge:
Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;
Das folgende Beispiel zeigt ein Oracle Client-Verbindungszeichenfolge, das integrierte Sicherheit verwendet:
Data Source=MyOracleDB;Integrated Security=yes;
Weitere Informationen finden Sie unter Connect to Oracle (OracleToSQL).For more information, see Connect to Oracle (OracleToSQL).
Erneute Verbindung mit Oracle herstellen
Die Verbindung mit dem Datenbankserver bleibt aktiv, bis Sie das Projekt schließen. Wenn Sie das Projekt erneut öffnen, müssen Sie erneut eine Verbindung herstellen, wenn Sie eine aktive Verbindung mit der Datenbank herstellen möchten. Sie können offline arbeiten, bis Sie Metadaten aktualisieren, Datenbankobjekte in SQL Server laden und Daten migrieren möchten.
Aktualisieren von Oracle-Metadaten
Metadaten zur Oracle-Datenbank werden nicht automatisch aktualisiert. Die Metadaten im Oracle-Metadaten-Explorer sind eine Momentaufnahme der Metadaten, wenn Sie zum ersten Mal verbunden wurden, oder das letzte Mal, wenn Sie Metadaten manuell aktualisiert haben. Sie können Metadaten für alle Schemas, ein einzelnes Schema oder einzelne Datenbankobjekte manuell aktualisieren.
Stellen Sie sicher, dass Sie mit der Datenbank verbunden sind.
Aktivieren Sie im Oracle-Metadaten-Explorer das Kontrollkästchen neben jedem Schema- oder Datenbankobjekt, das Sie aktualisieren möchten.
Klicken Sie mit der rechten Maustaste auf Schemas oder das einzelne Schema oder Datenbankobjekt, und wählen Sie dann "Aus Datenbank aktualisieren" aus. Wenn Sie keine aktive Verbindung haben, zeigt SSMA das Dialogfeld "Mit Oracle verbinden" an, damit Sie eine Verbindung herstellen können.
Geben Sie im Dialogfeld "Aus Datenbank aktualisieren" an, welche Objekte aktualisiert werden sollen.
- Um ein Objekt zu aktualisieren, wählen Sie das Aktive Feld neben dem Objekt aus, bis ein Pfeil angezeigt wird.
- Um zu verhindern, dass ein Objekt aktualisiert wird, wählen Sie das Aktive Feld neben dem Objekt aus, bis ein X angezeigt wird.
- Um eine Kategorie von Objekten zu aktualisieren oder abzulehnen, wählen Sie das Aktive Feld neben dem Kategorieordner aus.
Um die Definitionen der Farbcodierung anzuzeigen, wählen Sie die Schaltfläche "Legende " aus.
Wählen Sie OK aus.