Anslutning til Oracle Database (OracleToSQL)
- 06/04/2020
- 5 minutter at læse
-
- n
- T
- M
- r
- S
-
+2
For at migrere Oracle-databaser til SQL Server, skal du oprette forbindelse til den Oracle-database, som du ønsker at migrere. Når du opretter forbindelse, indhenter SSMA metadata om alle Oracle-skemaer og viser dem derefter i ruden Oracle Metadata Explorer. SSMA gemmer oplysninger om databaseserveren, men gemmer ikke adgangskoder.
Din forbindelse til databasen forbliver aktiv, indtil du lukker projektet. Når du åbner projektet igen, skal du oprette en ny forbindelse, hvis du vil have en aktiv forbindelse til databasen.
Metadata om Oracle-databasen opdateres ikke automatisk. Hvis du i stedet ønsker at opdatere metadataene i Oracle Metadata Explorer, skal du opdatere dem manuelt. Du kan finde flere oplysninger i afsnittet “Opdatering af Oracle-metadata” senere i dette emne.
Krævede Oracle-tilladelser
Den konto, der bruges til at oprette forbindelse til Oracle-databasen, skal som minimum have følgende tilladelser:
-
CONNECT
Kræves for at oprette forbindelse (oprette en session) til databasen. -
SELECT ANY DICTIONARY
Kræves til at forespørge i systemets ordbogstabeller (f.eks.SYS.MLOG$
) for at finde alle objekter.
Dette giver SSMA mulighed for at indlæse alle objekter i det skema, der ejes af den bruger, der opretter forbindelse. I de fleste scenarier i den virkelige verden er der referencer på tværs af skemaet mellem lagrede procedurer, og SSMA skal kunne finde alle de objekter, der henvises til, for at konverteringen kan lykkes. For at få metadata for objekter, der er defineret i andre skemaer, skal kontoen have følgende yderligere tilladelser:
-
SELECT ANY TABLE
Kræves for at opdage tabeller, visninger, materialiserede visninger og synonymer i andre skemaer. -
SELECT ANY SEQUENCE
Kræves for at opdage sekvenser i andre skemaer. -
CREATE ANY PROCEDURE
Kræves for at opdage PL/SQL for procedurer, funktioner og pakker i andre skemaer. -
CREATE ANY TRIGGER
Kræves for at opdage triggerdefinitioner i andre skemaer. -
CREATE ANY TYPE
Kræves for at finde typer, der er defineret i andre skemaer.
Som nogle af SSMA-funktionerne kræver yderligere tilladelser. Hvis du f.eks. vil bruge funktionerne Tester og Backup Management, skal du give din tilsluttende bruger følgende rettigheder:
-
EXECUTE ANY PROCEDURE
Kræves for at køre de procedurer og funktioner, du gerne vil teste i alle skemaer. -
CREATE ANY TABLE
ogALTER ANY TABLE
Kræves til at oprette og ændre midlertidige tabeller til ændringssporing og sikkerhedskopiering. -
INSERT ANY TABLE
ogUPDATE ANY TABLE
Kræves til at indsætte data til ændringssporing og sikkerhedskopiering i midlertidige tabeller. -
DROP ANY TABLE
Kræves til at slette midlertidige tabeller, der bruges til ændringssporing og sikkerhedskopiering. -
CREATE ANY INDEX
ogALTER ANY INDEX
Kræves for at oprette og ændre indekser i midlertidige tabeller, der anvendes til ændringssporing og sikkerhedskopiering. -
DROP ANY INDEX
Kræves for at slette indekser i midlertidige tabeller, der anvendes til ændringssporing og sikkerhedskopiering. -
CREATE ANY TRIGGER
ogALTER ANY TRIGGER
Kræves for at oprette og ændre midlertidige udløsere, der bruges til ændringssporing. -
DROP ANY TRIGGER
Kræves for at droppe midlertidige udløsere, der bruges til ændringssporing.
Note
Dette er et generisk sæt tilladelser, der kræves, for at SSMA kan fungere korrekt. Hvis du ønsker at indsnævre omfanget af din migrering til en delmængde af skemaer, kan du gøre det ved at give ovenstående tilladelser til det begrænsede sæt objekter i stedet for ALL
. Selv om det er muligt, kan det være meget svært at identificere alle afhængigheder korrekt, hvilket forhindrer SSMA i at fungere korrekt. Det anbefales kraftigt at holde sig til det generiske sæt som defineret ovenfor for at eliminere eventuelle problemer med tilladelser under migreringsprocessen.
Etablering af en forbindelse til Oracle
Når du opretter forbindelse til en database, læser SSMA databasens metadata og tilføjer derefter disse metadata til projektfilen. Disse metadata bruges af SSMA, når den konverterer objekter til SQL Server-syntaks, og når den migrerer data til SQL Server. Du kan gennemse disse metadata i ruden Oracle Metadata Explorer og gennemgå egenskaberne for de enkelte databaseobjekter.
Vigtigt
Hvor du forsøger at oprette forbindelse, skal du sikre dig, at databaseserveren kører og kan acceptere forbindelser.
For at oprette forbindelse til Oracle
-
I menuen Fil skal du vælge Opret forbindelse til Oracle.
Hvis du tidligere har oprettet forbindelse til Oracle, vil kommandonavnet være Opret forbindelse til Oracle igen. -
I feltet Provider skal du vælge Oracle Client Provider eller OLE DB Provider, afhængigt af hvilken provider, der er installeret. Standardindstillingen er Oracle-klient.
-
I feltet Tilstand skal du vælge enten Standardtilstand, TNSNAME-tilstand eller Tilslutningsstrengtilstand.
Brug standardtilstand til at angive servernavn og port. Brug tilstanden Tjenestenavn til at angive Oracle-tjenestens navn manuelt. Brug tilstanden forbindelsesstreng til at angive en fuld forbindelsesstreng. -
Hvis du vælger Standardtilstand, skal du angive følgende værdier:
- I feltet Servernavn skal du indtaste eller vælge navnet eller IP-adressen på databaseserveren.
- Hvis databaseserveren ikke er konfigureret til at acceptere forbindelser på standardporten (1521), skal du indtaste det portnummer, der bruges til Oracle-forbindelser, i feltet Serverport.
- Indtast systemidentifikatoren i feltet Oracle SID.
- Indtast en Oracle-konto, der har de nødvendige tilladelser, i feltet Brugernavn.
- Indtast adgangskoden for det angivne brugernavn i feltet Adgangskode.
-
Hvis du vælger TNSNAME-tilstand, skal du angive følgende værdier:
- I feltet Forbind identifikator skal du indtaste forbindelsesidentifikator (TNS-alias) for databasen.
- Indtast en Oracle-konto, der har de nødvendige tilladelser, i feltet Brugernavn.
- Indtast adgangskoden til det angivne brugernavn i feltet Adgangskode.
-
Hvis du vælger Tilstand for forbindelsesstreng, skal du angive en forbindelsesstreng i feltet Forbindelsesstreng.
Det følgende eksempel viser en OLE DB-forbindelsesstreng:Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;
Det følgende eksempel viser en Oracle Client-forbindelsesstreng, der bruger integreret sikkerhed:
Data Source=MyOracleDB;Integrated Security=yes;
For yderligere oplysninger, se OLE DB-forbindelsesstreng (OracleToSQL).
Genoprettelse af forbindelsen til Oracle
Din forbindelse til databaseserveren forbliver aktiv, indtil du lukker projektet. Når du åbner projektet igen, skal du oprette en ny forbindelse, hvis du vil have en aktiv forbindelse til databasen. Du kan arbejde offline, indtil du ønsker at opdatere metadata, indlæse databaseobjekter i SQL Server og migrere data.
Oracle-metadata opdateres
Metadata om Oracle-databasen opdateres ikke automatisk. Metadataene i Oracle Metadata Explorer er et øjebliksbillede af metadataene, da du først oprettede forbindelse, eller sidste gang du opdaterede metadataene manuelt. Du kan manuelt opdatere metadata for alle skemaer, et enkelt skema eller enkelte databaseobjekter.
For at opdatere metadata
-
Sørg for, at du har forbindelse til databasen.
-
I Oracle Metadata Explorer skal du markere afkrydsningsfeltet ud for hvert skema eller databaseobjekt, som du vil opdatere.
-
Højreklik på Skemaer eller det enkelte skema eller databaseobjekt, og vælg derefter Opdater fra database.
Hvis du ikke har en aktiv forbindelse, viser SSMA dialogboksen Opret forbindelse til Oracle, så du kan oprette forbindelse. -
I dialogboksen Opdater fra database skal du angive, hvilke objekter der skal opdateres.
- For at opdatere et objekt skal du klikke på feltet Aktiv ved siden af objektet, indtil der vises en pil.
- For at forhindre, at et objekt opdateres, skal du klikke på feltet Aktiv ved siden af objektet, indtil der vises et X.
- For at opdatere eller afvise en kategori af objekter skal du klikke på feltet Aktiv ved siden af kategorimappen.
For at få vist definitionerne af farvekodningen skal du klikke på knappen Legende.
-
Klik på OK.
Det næste trin i migreringsprocessen er at oprette forbindelse til en forekomst af SQL Server.
Se også
Migrering af Oracle-databaser til SQL Server (OracleToSQL)