Collegamento a Oracle Database (OracleToSQL)
- 06/04/2020
- 5 minuti per leggere
-
- n
- T
- M
- r
- S
-
+2
Per migrare i database Oracle a SQL Server, dovete connettervi al database Oracle che volete migrare. Quando ti connetti, SSMA ottiene i metadati su tutti gli schemi Oracle, e li visualizza nel pannello Oracle Metadata Explorer. SSMA memorizza le informazioni sul server del database, ma non memorizza le password.
La tua connessione al database rimane attiva finché non chiudi il progetto. Quando riapri il progetto, devi riconnetterti se vuoi una connessione attiva al database.
I metadati sul database Oracle non vengono aggiornati automaticamente. Invece, se vuoi aggiornare i metadati in Oracle Metadata Explorer, devi aggiornarli manualmente. Per maggiori informazioni, vedi la sezione “Aggiornare i metadati Oracle” più avanti in questo argomento.
Permessi Oracle richiesti
Al minimo, l’account usato per connettersi al database Oracle deve avere i seguenti permessi:
-
CONNECT
Richiesto per connettersi (creare una sessione) al database. -
SELECT ANY DICTIONARY
Richiesto per interrogare le tabelle del dizionario di sistema (per esempio,SYS.MLOG$
) al fine di scoprire tutti gli oggetti.
Questo permetterà a SSMA di caricare tutti gli oggetti nello schema di proprietà dell’utente che si collega. Nella maggior parte degli scenari del mondo reale ci sono riferimenti cross-schema tra le stored procedure e SSMA dovrà essere in grado di scoprire tutti gli oggetti di riferimento per una conversione di successo. Per ottenere metadati per oggetti definiti in altri schemi, l’account deve avere i seguenti permessi aggiuntivi:
-
SELECT ANY TABLE
Richiesto per scoprire tabelle, viste, viste materializzate e sinonimi in altri schemi. -
SELECT ANY SEQUENCE
Richiesto per scoprire sequenze in altri schemi. -
CREATE ANY PROCEDURE
Necessario per scoprire PL/SQL per procedure, funzioni e pacchetti in altri schemi. -
CREATE ANY TRIGGER
Necessario per scoprire definizioni di trigger in altri schemi. -
CREATE ANY TYPE
Richiesto per scoprire i tipi definiti in altri schemi.
Alcune caratteristiche di SSMA richiedono permessi aggiuntivi. Per esempio, se vuoi usare le funzionalità Tester e Backup Management, dovrai concedere al tuo utente di connessione quanto segue:
-
EXECUTE ANY PROCEDURE
Richiesto per eseguire procedure e funzioni che vorresti testare in tutti gli schemi. -
CREATE ANY TABLE
eALTER ANY TABLE
Richiesto di creare e modificare tabelle temporanee per il change tracking e i backup. -
INSERT ANY TABLE
eUPDATE ANY TABLE
Richiesto di inserire dati di change tracking e backup in tabelle temporanee. -
DROP ANY TABLE
Richiesto di eliminare tabelle temporanee usate per change tracking e backup. -
CREATE ANY INDEX
eALTER ANY INDEX
Richiesto di creare e modificare gli indici sulle tabelle temporanee usate per il change tracking e i backup. -
DROP ANY INDEX
Richiesto di eliminare gli indici sulle tabelle temporanee usate per il change tracking e i backup. -
CREATE ANY TRIGGER
eALTER ANY TRIGGER
Richiesto per creare e modificare i trigger temporanei usati per il change tracking. -
DROP ANY TRIGGER
Richiesto per eliminare i trigger temporanei usati per il change tracking.
Nota
Questo è un insieme generico di permessi richiesti affinché SSMA funzioni correttamente. Se vuoi restringere l’ambito della tua migrazione a un sottoinsieme di schemi, puoi farlo concedendo i permessi di cui sopra all’insieme limitato di oggetti, invece di ALL
. Anche se possibile, potrebbe essere molto difficile identificare correttamente tutte le dipendenze, impedendo così a SSMA di funzionare correttamente. Si raccomanda vivamente di attenersi all’insieme generico definito sopra per eliminare qualsiasi potenziale problema di permessi durante il processo di migrazione.
Stabilire una connessione a Oracle
Quando ti connetti a un database, SSMA legge i metadati del database, e poi aggiunge questi metadati al file di progetto. Questi metadati sono usati da SSMA quando converte gli oggetti nella sintassi di SQL Server e quando migra i dati in SQL Server. Puoi sfogliare questi metadati nel pannello Oracle Metadata Explorer e rivedere le proprietà dei singoli oggetti del database.
Importante
Prima di provare a connetterti, assicurati che il server del database sia in funzione e possa accettare connessioni.
Per connetterti a Oracle
-
Nel menu File, seleziona Connetti a Oracle.
Se ti sei connesso precedentemente a Oracle, il nome del comando sarà Riconnetti a Oracle. -
Nella casella Provider, seleziona Oracle Client Provider o OLE DB Provider, a seconda del provider installato. L’impostazione predefinita è Oracle client.
-
Nella casella Mode, seleziona la modalità Standard, la modalità TNSNAME o la modalità Connection string.
Usa la modalità standard per specificare il nome e la porta del server. Usa la modalità nome servizio per specificare il nome del servizio Oracle manualmente. Usa la modalità stringa di connessione per fornire una stringa di connessione completa. -
Se selezioni la modalità standard, fornisci i seguenti valori:
- Nella casella Nome del server, inserisci o seleziona il nome o l’indirizzo IP del server del database.
- Se il server del database non è configurato per accettare connessioni sulla porta predefinita (1521), inserisci il numero della porta utilizzata per le connessioni Oracle nella casella Porta del server.
- Nella casella SID Oracle, inserisci l’identificatore di sistema.
- Nella casella Nome utente, inserisci un account Oracle che abbia le autorizzazioni necessarie.
- Nella casella Password, inserisci la password per il nome utente specificato.
-
Se si seleziona la modalità TNSNAME, fornire i seguenti valori:
- Nella casella Connect identifier, inserire connect identifier (alias TNS) del database.
- Nella casella Nome utente, inserisci un account Oracle che abbia i permessi necessari.
- Nella casella Password, inserisci la password per il nome utente specificato.
-
Se selezioni la modalità Stringa di connessione, fornisci una stringa di connessione nella casella Stringa di connessione.
L’esempio seguente mostra una stringa di connessione OLE DB:Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;
L’esempio seguente mostra una stringa di connessione Oracle Client che utilizza la sicurezza integrata:
Data Source=MyOracleDB;Integrated Security=yes;
Per maggiori informazioni, vedi Connettersi a Oracle (OracleToSQL).
Riconnessione a Oracle
La tua connessione al server del database rimane attiva finché non chiudi il progetto. Quando riapri il progetto, devi riconnetterti se vuoi una connessione attiva al database. Puoi lavorare offline finché non vuoi aggiornare i metadati, caricare gli oggetti del database in SQL Server e migrare i dati.
Rinfrescare i metadati Oracle
I metadati sul database Oracle non vengono aggiornati automaticamente. I metadati in Oracle Metadata Explorer sono un’istantanea dei metadati al momento della prima connessione o l’ultima volta che hai aggiornato manualmente i metadati. Puoi aggiornare manualmente i metadati per tutti gli schemi, un singolo schema o singoli oggetti del database.
Per aggiornare i metadati
-
Assicurati di essere connesso al database.
-
In Oracle Metadata Explorer, seleziona la casella di controllo accanto a ogni schema o oggetto del database che vuoi aggiornare.
-
Clicca con il tasto destro del mouse su Schemi, o sul singolo schema o oggetto di database, e poi seleziona Refresh from Database.
Se non hai una connessione attiva, SSMA mostrerà la finestra di dialogo Connect to Oracle in modo che tu possa connetterti. -
Nella finestra di dialogo Refresh from Database, specifica quali oggetti aggiornare.
- Per aggiornare un oggetto, fai clic sul campo Active adiacente all’oggetto finché non appare una freccia.
- Per impedire che un oggetto venga aggiornato, fai clic sul campo Active adiacente all’oggetto finché non appare una X.
- Per aggiornare o rifiutare una categoria di oggetti, fai clic sul campo Active adiacente alla cartella della categoria.
Per visualizzare le definizioni del codice colore, fai clic sul pulsante Leggenda.
-
Fai clic su OK.
Il passo successivo nel processo di migrazione è quello di connettersi a un’istanza di SQL Server.
Vedi anche
Migrazione di database Oracle su SQL Server (OracleToSQL)
.