Connessione a un database Oracle (OracleToSQL)
Per eseguire la migrazione di database Oracle a SQL Server, è necessario connettersi al database Oracle di cui si vuole eseguire la migrazione. Quando ci si connette, SQL Server Migration Assistant (SSMA) ottiene i metadati relativi a tutti gli schemi Oracle e quindi lo visualizza nel riquadro Esplora metadati Oracle. SSMA archivia informazioni sul server di database, ma non archivia le password.
La connessione al database rimane attiva fino a quando non si chiude il progetto. Quando si riapre il progetto, è necessario riconnettersi se si desidera una connessione attiva al database.
I metadati relativi al database Oracle non vengono aggiornati automaticamente. Se invece si desidera aggiornare i metadati in Esplora metadati Oracle, è necessario aggiornarlo manualmente. Per ulteriori informazioni, vedere la sezione Aggiornare i metadati Oracle più avanti in questo articolo.
Autorizzazioni Oracle necessarie
Come minimo, l'account usato per connettersi al database Oracle deve disporre delle autorizzazioni seguenti:
Autorizzazione | Descrizione |
---|---|
CONNECT |
Obbligatorio per connettersi (creare una sessione) al database. |
SELECT ANY DICTIONARY |
Obbligatorio per eseguire query sulle tabelle del dizionario del sistema (ad esempio, SYS.MLOG$ ) per individuare tutti gli oggetti. |
Ciò consente a SSMA di caricare tutti gli oggetti nello schema di proprietà dell'utente che si connette. Nella maggior parte degli scenari reali sono presenti riferimenti tra schemi tra stored procedure e SSMA deve essere in grado di individuare tutti gli oggetti a cui si fa riferimento per una conversione corretta. Per ottenere i metadati per gli oggetti definiti in altri schemi, l'account deve disporre delle autorizzazioni aggiuntive seguenti:
Autorizzazione | Descrizione |
---|---|
SELECT ANY TABLE |
Obbligatorio per individuare tabelle, viste, viste materializzate e sinonimi in altri schemi. |
SELECT ANY SEQUENCE |
Obbligatorio per individuare le sequenze in altri schemi. |
CREATE ANY PROCEDURE |
Necessario per individuare PL/SQL per procedure, funzioni e pacchetti in altri schemi. |
CREATE ANY TRIGGER |
Obbligatorio per individuare le definizioni di trigger in altri schemi. |
CREATE ANY TYPE |
Obbligatorio per individuare i tipi definiti in altri schemi. |
Alcune delle funzionalità di SSMA richiedono autorizzazioni aggiuntive. Ad esempio, se si vuole usare la funzionalità Testing Migrated Database Objects (OracleToSQL) e Managing Backups (OracleToSQL), è necessario concedere all'utente che si connette le autorizzazioni seguenti:
Autorizzazione | Descrizione |
---|---|
EXECUTE ANY PROCEDURE |
Necessario per eseguire procedure e funzioni da testare in tutti gli schemi. |
CREATE ANY TABLE e ALTER ANY TABLE |
Obbligatorio per creare e modificare tabelle temporanee per il rilevamento delle modifiche e i backup. |
INSERT ANY TABLE e UPDATE ANY TABLE |
Obbligatorio per inserire il rilevamento delle modifiche e i dati di backup in tabelle temporanee. |
DROP ANY TABLE |
Obbligatorio per eliminare le tabelle temporanee usate per il rilevamento delle modifiche e i backup. |
CREATE ANY INDEX e ALTER ANY INDEX |
Obbligatorio per creare e modificare gli indici nelle tabelle temporanee usate per il rilevamento delle modifiche e i backup. |
DROP ANY INDEX |
Obbligatorio per eliminare gli indici nelle tabelle temporanee usate per il rilevamento delle modifiche e i backup. |
CREATE ANY TRIGGER e ALTER ANY TRIGGER |
Obbligatorio per creare e modificare trigger temporanei usati per il rilevamento delle modifiche. |
DROP ANY TRIGGER |
Obbligatorio per eliminare i trigger temporanei usati per il rilevamento delle modifiche. |
Si tratta di un set generico di autorizzazioni necessarie per il corretto funzionamento di SSMA. Se si vuole limitare l'ambito della migrazione a un subset di schemi, è possibile concedere le autorizzazioni precedenti al set limitato di oggetti anziché di ALL
. Sebbene possibile, può essere difficile identificare correttamente tutte le dipendenze, impedendo così il corretto funzionamento di SSMA. È consigliabile attenersi al set generico come definito in precedenza, per eliminare eventuali potenziali problemi di autorizzazione durante il processo di migrazione.
Stabilire una connessione a Oracle
Quando ci si connette a un database, SSMA ne legge i metadati e quindi li aggiunge al file di progetto. Questi metadati vengono usati da SSMA quando converte gli oggetti nella sintassi di SQL Server e quando esegue la migrazione dei dati in SQL Server. È possibile esplorare questi metadati nel riquadro Esplora metadati Oracle ed esaminare le proprietà dei singoli oggetti di database.
Importante
Prima di provare a connettersi, assicurarsi che il server di database sia in esecuzione e possa accettare connessioni.
Connettersi a Oracle
Scegliere Connessione in Oracle dal menu File.
Se in precedenza si è connessi a Oracle, il nome del comando è Riconnettersi a Oracle.
Nella casella Provider, selezionare Provider client Oracle o Provider OLE DB, a seconda del provider installato. Il valore predefinito è il client Oracle.
Nella casella Modalità selezionare la Modalità standard, la Modalità TNSNAME o la Modalità stringa di connessione.
Usare la modalità standard per specificare il nome e la porta del server. Usare la modalità nome servizio per specificare manualmente il nome del servizio Oracle. Usare la modalità stringa di connessione per fornire un stringa di connessione completo.
Se si seleziona Modalità standard, specificare i valori seguenti:
Nella casella Nome del server immettere o selezionare il nome o l’indirizzo IP del server database.
Se il server di database non è configurato per accettare connessioni sulla porta predefinita (
1521
), immettere il numero di porta usato per le connessioni Oracle nella casella Porta server.Nella casella SID Oracle, immettere l'identificatore di sistema.
Nella casella Nome utente, immettere un account Oracle con le autorizzazioni necessarie.
Nella casella Password immettere la password per il nome utente specificato.
Se si seleziona la modalità TNSNAME, specificare i valori seguenti:
- Nella casella Connessione identificatore, immettere l'identificatore di connessione (alias TNS) del database.
- Nella casella Nome utente, immettere un account Oracle con le autorizzazioni necessarie.
- Nella casella Password immettere la password per il nome utente specificato.
Se si seleziona modalità stringa di Connessione, specificare un 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 illustra un stringa di connessione client Oracle che usa la sicurezza integrata:
Data Source=MyOracleDB;Integrated Security=yes;
Per altre informazioni, vedere Connettersi a Oracle (OracleToSQL).For more information, see Connect to Oracle (OracleToSQL).
Riconnettersi a Oracle
La connessione al server del database rimane attiva fino a quando non si chiude il progetto. Quando si riapre il progetto, è necessario riconnettersi se si desidera una connessione attiva al database. È possibile lavorare offline fino a quando non si vogliono aggiornare i metadati, caricare oggetti di database in SQL Server ed eseguire la migrazione dei dati.
Aggiornare i metadati Oracle
I metadati relativi al database Oracle non vengono aggiornati automaticamente. I metadati in Esplora metadati Oracle sono uno snapshot dei metadati quando si è connessi per la prima volta o l'ultima volta che sono stati aggiornati manualmente i metadati. È possibile aggiornare manualmente i metadati per tutti gli schemi, uno schema singolo o singoli oggetti di database.
Assicurarsi di essere connessi al database.
In Esplora metadati Oracle, selezionare la casella di controllo accanto a ogni schema od oggetto di database da aggiornare.
Fare clic con il pulsante destro del mouse su Schemi o sui singoli schemi od oggetto di database e quindi scegliere Aggiornare dal database. Se non si dispone di una connessione attiva, SSMA visualizza la finestra di dialogo Connessione a Oracle in modo che sia possibile connettersi.
Nella finestra di dialogo Aggiornare dal database specificare gli oggetti da aggiornare.
- Per aggiornare un oggetto, selezionare il campo Attivo accanto all'oggetto fino a quando non viene visualizzata una freccia.
- Per impedire l'aggiornamento di un oggetto, selezionare il campo Attivo accanto all'oggetto fino a quando non viene visualizzata una X.
- Per aggiornare o rifiutare una categoria di oggetti, selezionare il campo Attivo accanto alla cartella categoria.
Per visualizzare le definizioni della codifica a colori, selezionare il pulsante Legenda.
Seleziona OK.