Delen via


Verbinding maken met Oracle Database (OracleToSQL)

Als u Oracle-databases wilt migreren naar SQL Server, moet u verbinding maken met de Oracle-database die u wilt migreren. Wanneer u verbinding maakt, verkrijgt SQL Server Migration Assistant (SSMA) metagegevens over alle Oracle-schema's en wordt deze vervolgens weergegeven in het deelvenster Oracle Metadata Explorer. SSMA slaat informatie op over de databaseserver, maar slaat geen wachtwoorden op.

De 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 deze handmatig bijwerken. Zie de sectie Het vernieuwen van Oracle-metagegevens in dit artikel voor meer informatie.

Vereiste Oracle-machtigingen

Het account dat wordt gebruikt om verbinding te maken met de Oracle-database, moet minimaal de volgende machtigingen hebben:

Toestemming Beschrijving
CONNECT Vereist om verbinding te maken (een sessie maken) met de database.
SELECT ANY DICTIONARY Vereist voor het opvragen van systeemwoordenlijsttabellen (bijvoorbeeld SYS.MLOG$) om alle objecten te detecteren.

Hierdoor kan SSMA alle objecten in het schema laden die eigendom zijn van de verbindende gebruiker. In de meeste praktijkscenario's zijn er verwijzingen tussen opgeslagen procedures en moet SSMA alle objecten waarnaar verwezen wordt kunnen ontdekken voor een geslaagde conversie. Als u metagegevens wilt verkrijgen voor objecten die zijn gedefinieerd in andere schema's, moet het account over de volgende extra machtigingen beschikken:

Toestemming Beschrijving
SELECT ANY TABLE Vereist voor het detecteren van tabellen, weergaven, gerealiseerde weergaven en synoniemen in andere schema's.
SELECT ANY SEQUENCE Vereist voor het detecteren van reeksen in andere schema's.
CREATE ANY PROCEDURE Vereist voor het detecteren van PL/SQL voor procedures, functies en pakketten in andere schema's.
CREATE ANY TRIGGER Vereist voor het detecteren van triggerdefinities in andere schema's.
CREATE ANY TYPE Vereist voor het detecteren van typen die zijn gedefinieerd in andere schema's.

Voor sommige SSMA-functies zijn extra machtigingen vereist. Als u bijvoorbeeld de functionaliteit Testen van gemigreerde database-objecten (OracleToSQL) en Beheren van back-ups (OracleToSQL) wilt gebruiken, moet u uw verbindende gebruiker de volgende machtigingen verlenen:

Toestemming Beschrijving
EXECUTE ANY PROCEDURE Vereist voor het uitvoeren van procedures en functies die u in alle schema's wilt testen.
CREATE ANY TABLE en ALTER ANY TABLE Vereist voor het maken en wijzigen van tijdelijke tabellen voor wijzigingen bijhouden en back-ups.
INSERT ANY TABLE en UPDATE ANY TABLE Vereist voor het invoegen van het bijhouden van veranderingen en back-upgegevens in tijdelijke tabellen.
DROP ANY TABLE Vereist om tijdelijke tabellen te verwijderen die worden gebruikt voor het bijhouden van wijzigingen en back-ups.
CREATE ANY INDEX en ALTER ANY INDEX Vereist voor het maken en wijzigen van indexen voor tijdelijke tabellen die worden gebruikt voor het bijhouden van wijzigingen en back-ups.
DROP ANY INDEX Vereist voor het verwijderen van indexen voor tijdelijke tabellen die worden gebruikt voor het bijhouden van wijzigingen en back-ups.
CREATE ANY TRIGGER en ALTER ANY TRIGGER Vereist voor het maken en wijzigen van tijdelijke triggers die worden gebruikt voor het bijhouden van wijzigingen.
DROP ANY TRIGGER Vereist om tijdelijke triggers te verwijderen die worden gebruikt voor het bijhouden van wijzigingen.

Dit is een algemene set machtigingen die nodig zijn om SSMA goed te laten werken. Als u het bereik van uw migratie wilt beperken tot een subset van schema's, kunt u dit doen door bovenstaande machtigingen toe te kennen aan de beperkte set objecten, in plaats van ALL. Hoewel het mogelijk is, kan het lastig zijn om alle afhankelijkheden correct te identificeren, waardoor SSMA niet goed functioneert. We raden u ten zeerste aan de algemene set te houden zoals eerder is gedefinieerd, om mogelijke machtigingsproblemen tijdens het migratieproces te elimineren.

Verbinding maken met Oracle

Wanneer u verbinding maakt met een database, leest SSMA de metagegevens van de database en voegt deze metagegevens vervolgens toe aan het projectbestand. Deze metagegevens worden door SSMA gebruikt wanneer objecten worden geconverteerd naar sql Server-syntaxis en wanneer deze gegevens naar SQL Server worden gemigreerd. U kunt door deze metagegevens bladeren in het deelvenster Oracle Metadata Explorer en eigenschappen van afzonderlijke databaseobjecten bekijken.

Belangrijk

Voordat u verbinding probeert te maken, moet u ervoor zorgen dat de databaseserver wordt uitgevoerd en verbindingen kan accepteren.

Verbinding maken met Oracle

  1. Selecteer in het menu BestandVerbinding maken met Oracle.

    Als u eerder verbinding hebt gemaakt met Oracle, wordt de opdrachtnaam Opnieuw verbinding maken met Oracle.

  2. Selecteer in het vak ProviderOracle-clientprovider of OLE DB-provider, afhankelijk van de provider die is geïnstalleerd. De standaardwaarde is oracle-client.

  3. Selecteer in het vak ModusStandaardmodus, TNSNAME-modusof verbindingsreeksmodus.

    Gebruik de standaardmodus om de servernaam en -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.

  4. Als u Standaardmodusselecteert, geeft u de volgende waarden op:

    1. Typ of selecteer in het vak Servernaam de naam of het IP-adres van de databaseserver.

    2. Als de databaseserver niet is geconfigureerd voor het accepteren van verbindingen op de standaardpoort (1521), voert u het poortnummer in dat wordt gebruikt voor Oracle-verbindingen in het vak Server-poort.

    3. Voer in het vak Oracle SID de systeem-id in.

    4. Voer in het vak Gebruikersnaam een Oracle-account in met de benodigde machtigingen.

    5. Voer in het vak Wachtwoord het wachtwoord in voor de opgegeven gebruikersnaam.

  5. Als u TNSNAME-modusselecteert, geeft u de volgende waarden op:

    1. Voer in het vak Connect Identifier de connect identifier (TNS-alias) van de database in.
    2. Voer in het vak Gebruikersnaam een Oracle-account in met de benodigde machtigingen.
    3. Voer in het vak Wachtwoord het wachtwoord in voor de opgegeven gebruikersnaam.
  6. Als u verbindingsreeksmodusselecteert, geeft u een verbindingsreeks op in het vak Verbindingsreeks.

    In het volgende voorbeeld ziet u een OLE DB-verbindingsreeks. Vervang <password> door een geldig wachtwoord.

    Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=myUsername;Password=<password>;

    In het volgende voorbeeld ziet u een Oracle Client-verbindingsreeks die gebruikmaakt van geïntegreerde beveiliging:

    Data Source=MyOracleDB;Integrated Security=yes;

    Zie Verbinding maken met Oracle (OracleToSQL)voor meer informatie.

Opnieuw verbinding maken met Oracle

De 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 metagegevens wilt bijwerken, databaseobjecten wilt laden in SQL Server en gegevens wilt migreren.

Oracle-metagegevens vernieuwen

Metagegevens over de Oracle-database worden niet automatisch vernieuwd. De metagegevens in Oracle Metadata Explorer zijn een momentopname van de metagegevens wanneer u de eerste keer verbinding hebt gemaakt, of de laatste keer dat u de metagegevens handmatig hebt vernieuwd. U kunt metagegevens voor alle schema's, één schema of afzonderlijke databaseobjecten handmatig bijwerken.

  1. Zorg ervoor dat u bent verbonden met de database.

  2. Schakel in Oracle Metadata Explorer het selectievakje in naast elk schema of databaseobject dat u wilt bijwerken.

  3. Klik met de rechtermuisknop op Schema'sof het afzonderlijke schema of databaseobject en selecteer Vernieuwen vanuit database. Als u geen actieve verbinding hebt, wordt in SSMA het dialoogvenster Verbinding maken met Oracle weergegeven, zodat u verbinding kunt maken.

  4. Geef in het dialoogvenster Vernieuwen vanuit database op welke objecten u wilt vernieuwen.

    • Als u een object wilt vernieuwen, selecteert u het veld Actief naast het object totdat er een pijl wordt weergegeven.
    • Als u wilt voorkomen dat een object wordt vernieuwd, selecteert u het veld Actief naast het object totdat er een X- wordt weergegeven.
    • Als u een categorie objecten wilt vernieuwen of weigeren, selecteert u het veld Actief naast de categoriemap.

    Als u de definities van de kleurcodering wilt weergeven, selecteert u de knop Legenda.

  5. Selecteer OK-.