Verbinden met Oracle Database (OracleToSQL)
- 06/04/2020
- 5 minuten om te lezen
-
- n
- T
- M
- r
- S
-
+2
Om Oracle-databases naar SQL Server te migreren, moet u verbinding maken met de Oracle-database die u wilt migreren. Wanneer u verbinding maakt, verkrijgt SSMA metagegevens over alle Oracle-schema’s, die vervolgens worden weergegeven in het deelvenster Oracle Metadata Explorer. SSMA slaat informatie op over de databaseserver, maar slaat geen wachtwoorden op.
Uw verbinding met de database blijft actief totdat u het project sluit. Wanneer u het project opnieuw opent, moet u opnieuw verbinding maken als u een actieve verbinding met de database wilt.
Metagegevens over de Oracle-database worden niet automatisch bijgewerkt. Als u de metagegevens in Oracle Metadata Explorer wilt bijwerken, moet u dat handmatig doen. Zie voor meer informatie het gedeelte “Oracle-metagegevens vernieuwen” verderop in dit onderwerp.
Verplichte Oracle-machtigingen
De account die wordt gebruikt om verbinding te maken met de Oracle-database, moet ten minste de volgende machtigingen hebben:
-
CONNECT
Verplicht om verbinding te maken (een sessie te maken) met de database. -
SELECT ANY DICTIONARY
Om systeemwoordenboektabellen te bevragen (bijvoorbeeldSYS.MLOG$
) om alle objecten te ontdekken.
Dit stelt SSMA in staat om alle objecten in het schema te laden dat eigendom is van de gebruiker die verbinding maakt. In de meeste real-world scenario’s zijn er schema-overschrijdende verwijzingen tussen stored procedures en SSMA zal in staat moeten zijn om alle objecten waarnaar verwezen wordt te ontdekken voor een succesvolle conversie. Om metagegevens te verkrijgen voor objecten die in andere schema’s zijn gedefinieerd, moet de account over de volgende aanvullende machtigingen beschikken:
-
SELECT ANY TABLE
Verplicht om tabellen, weergaven, gematerialiseerde weergaven en synoniemen in andere schema’s te ontdekken. -
SELECT ANY SEQUENCE
Verplicht om sequenties in andere schema’s te ontdekken. -
CREATE ANY PROCEDURE
Om PL/SQL voor procedures, functies en pakketten in andere schema’s te ontdekken. -
CREATE ANY TRIGGER
Om trigger-definities in andere schema’s te ontdekken. -
CREATE ANY TYPE
Vereist om types te ontdekken die in andere schema’s zijn gedefinieerd.
Voor sommige SSMA-functies zijn aanvullende machtigingen vereist. Als u bijvoorbeeld de functies Tester en Back-upbeheer wilt gebruiken, moet u uw verbindende gebruiker de volgende rechten verlenen:
-
EXECUTE ANY PROCEDURE
Vereist om procedures en functies uit te voeren die u in alle schema’s wilt testen. -
CREATE ANY TABLE
enALTER ANY TABLE
Om tijdelijke tabellen voor het bijhouden van wijzigingen en voor back-ups te maken en te wijzigen. -
INSERT ANY TABLE
enUPDATE ANY TABLE
Om gegevens voor het bijhouden van wijzigingen en voor back-ups in tijdelijke tabellen in te voegen. -
DROP ANY TABLE
Om tijdelijke tabellen die worden gebruikt voor het bijhouden van wijzigingen en voor back-ups, te verwijderen. -
CREATE ANY INDEX
enALTER ANY INDEX
Geist voor het maken en wijzigen van indexen op tijdelijke tabellen die worden gebruikt voor het bijhouden van wijzigingen en voor back-ups. -
DROP ANY INDEX
Geist voor het verwijderen van indexen op tijdelijke tabellen die worden gebruikt voor het bijhouden van wijzigingen en voor back-ups. -
CREATE ANY TRIGGER
enALTER ANY TRIGGER
Gevraagd voor het maken en wijzigen van tijdelijke triggers die worden gebruikt voor het bijhouden van wijzigingen. -
DROP ANY TRIGGER
Gevraagd voor het verwijderen van tijdelijke triggers die worden gebruikt voor het bijhouden van wijzigingen.
Note
Dit is een algemene reeks machtigingen die nodig zijn voor een goede werking van SSMA. Als u de reikwijdte van uw migratie wilt beperken tot een subset van schema’s, kunt u dat doen door bovenstaande rechten toe te kennen aan de beperkte set objecten, in plaats van ALL
. Hoewel dit mogelijk is, kan het erg moeilijk zijn om alle afhankelijkheden correct te identificeren, waardoor SSMA niet goed kan functioneren. Het wordt sterk aangeraden om vast te houden aan de generieke set zoals hierboven gedefinieerd, om mogelijke toestemmingsproblemen tijdens het migratieproces te voorkomen.
Een verbinding met Oracle maken
Wanneer u verbinding maakt met een database, leest SSMA de metadata van de database, en voegt deze metadata vervolgens toe aan het projectbestand. Deze metadata wordt door SSMA gebruikt wanneer het objecten converteert naar SQL Server syntaxis, en wanneer het gegevens migreert naar SQL Server. U kunt deze metadata bekijken in het deelvenster Oracle Metadata Explorer en de eigenschappen van afzonderlijke databaseobjecten bekijken.
Belangrijk
Voordat u probeert verbinding te maken, moet u ervoor zorgen dat de databaseserver draait en verbindingen kan accepteren.
Om verbinding te maken met Oracle
-
Selecteer in het menu Bestand de optie Verbinding maken met Oracle.
Als u al eerder verbinding hebt gemaakt met Oracle, is de opdrachtnaam Opnieuw verbinding maken met Oracle. -
Selecteer in het vak Provider Oracle Client Provider of OLE DB Provider, afhankelijk van welke provider is geïnstalleerd. De standaardinstelling is Oracle client.
-
Selecteer in het vak Modus de standaardmodus, de TNSNAME-modus of de verbindingsreeksmodus.
Gebruik de standaardmodus om de servernaam en de poort op te geven. Gebruik de servicenaammodus om de Oracle-servicenaam handmatig op te geven. Gebruik de verbindingsreeksmodus om een volledige verbindingsreeks op te geven. -
Als u de standaardmodus selecteert, geeft u de volgende waarden op:
- In het vak Servernaam voert u de naam of het IP-adres van de databaseserver in of selecteert u deze.
- Als de databaseserver niet is geconfigureerd om verbindingen op de standaardpoort (1521) te accepteren, voert u in het vak Serverpoort het poortnummer in dat wordt gebruikt voor Oracle-verbindingen.
- In het Oracle SID-vakje, voert u de systeemidentificatie in.
- In het vakje Gebruikersnaam, voert u een Oracle-account in dat de noodzakelijke machtigingen heeft.
- In het vak Wachtwoord, voert u het wachtwoord voor de opgegeven gebruikersnaam in.
-
Als u TNSNAME-modus selecteert, geeft u de volgende waarden op:
- In het vak Connect identifier, voert u de connect identifier (TNS alias) van de database in.
- In het vak User name, voert u een Oracle-account in dat de noodzakelijke machtigingen heeft.
- In het vak Password, voert u het wachtwoord in voor de opgegeven gebruikersnaam.
-
Als u Connection string mode selecteert, geeft u een verbindingsstring op in het vak Connection string.
Het volgende voorbeeld toont een OLE DB-verbindingsstring:Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;
Het volgende voorbeeld toont een Oracle Client-verbindingsstring die geïntegreerde beveiliging gebruikt:
Data Source=MyOracleDB;Integrated Security=yes;
Voor meer informatie, zie Verbinden met Oracle (OracleToSQL).
Herverbinden met Oracle
Uw verbinding met de databaseserver blijft actief totdat u het project sluit. Wanneer u het project opnieuw opent, moet u opnieuw verbinding maken als u een actieve verbinding met de database wilt. U kunt offline werken totdat u metadata wilt bijwerken, databaseobjecten in SQL Server wilt laden en gegevens wilt migreren.
Orakel-metadata vernieuwen
Metadata over de Oracle-database worden niet automatisch vernieuwd. De metagegevens in Oracle Metadata Explorer zijn een momentopname van de metagegevens toen u voor het eerst verbinding maakte, of de laatste keer dat u metagegevens handmatig hebt ververst. U kunt metagegevens handmatig bijwerken voor alle schema’s, een enkel schema of afzonderlijke databaseobjecten.
Om metagegevens te vernieuwen
-
Zorg ervoor dat u verbonden bent met de database.
-
In Oracle Metadata Verkenner schakelt u het selectievakje in naast elk schema of databaseobject dat u wilt bijwerken.
-
Klik met de rechtermuisknop op Schema’s of op het afzonderlijke schema of databaseobject en selecteer vervolgens Refresh from Database.
Als u geen actieve verbinding hebt, wordt in SSMA het dialoogvenster Connect to Oracle weergegeven zodat u verbinding kunt maken. -
In het dialoogvenster Refresh from Database geeft u op welke objecten u wilt vernieuwen.
- Om een object te vernieuwen, klikt u op het veld Actief naast het object totdat er een pijl verschijnt.
- Om te voorkomen dat een object wordt vernieuwd, klikt u op het veld Actief naast het object totdat er een X verschijnt.
- Om een categorie objecten te vernieuwen of te weigeren, klikt u op het veld Actief naast de categorie-map.
Om de definities van de kleurcodering te bekijken, klikt u op de knop Legenda.
-
Klik op OK.
De volgende stap in het migratieproces is verbinding maken met een instantie van SQL Server.
Zie ook
Migratie van Oracle Databases naar SQL Server (OracleToSQL)