Guida alla migrazione: da Oracle a SQL Server

Si applica a:SQL Server

In questa guida viene illustrato come eseguire la migrazione dei database Oracle a SQL Server usando SQL Server Migration Assistant per Oracle (SSMA per Oracle).

Per altre guide alla migrazione, vedere Guide alla migrazione del database di Azure.

Importante

Provare la nuova estensione Database Migration Assessment per Oracle in Azure Data Studio per la valutazione preliminare e la categorizzazione del carico di lavoro da Oracle a SQL. Se si è nella fase iniziale della migrazione da Oracle a SQL ed è necessario eseguire una valutazione generale del carico di lavoro, si è interessati a dimensionare la destinazione Azure SQL per il carico di lavoro Oracle o a capire la parità di migrazione delle funzionalità, provare la nuova estensione. Per la valutazione dettagliata e la conversione del codice, continuare con SSMA per Oracle.

Prerequisiti

Prima di iniziare a eseguire la migrazione del database Oracle a SQL Server, procedere con i seguenti passaggi:

Pre-migrazione

Durante la preparazione per la migrazione al cloud, verificare che l'ambiente di origine sia supportato e che siano stati soddisfatti tutti gli altri prerequisiti. In questo modo è possibile assicurarsi che la migrazione sia efficiente e corretta.

Questa parte del processo richiede di creare un inventario dei database di cui è necessario eseguire la migrazione, di valutare i potenziali problemi o ostacoli per la migrazione e quindi di risolvere eventuali problemi riscontrati.

Rilevazione

Per comprendere e pianificare meglio la migrazione, usare Microsoft Assessment and Planning (MAP) Toolkit per identificare le origini dati esistenti e informazioni dettagliate sulle funzionalità usate dall'organizzazione. Questo processo prevede l'analisi della rete per identificare tutte le istanze, le versioni e le funzionalità di Oracle dell'organizzazione.

Per usare MAP Toolkit per eseguire un'analisi dell'inventario, completare i seguenti passaggi:

  1. Aprire MAP Toolkit.

  2. Nel riquadro Overview selezionare Create/Select database.

    Screenshot of the 'Create/Select database' link on the MAP Toolkit Overview pane.

  3. In Create or select a database selezionare Create an inventory database, immettere un nome per il database di inventario da creare, fornire una breve descrizione e quindi selezionare OK.

    Screenshot of the 'Create an inventory database' option in the MAPS Toolkit.

  4. Selezionare Collect inventory data per aprire Inventory and Assessment Wizard.

    Screenshot of the 'Collect inventory data' link in the Inventory and Assessment Wizard.

  5. Nella procedura guidata selezionare Oracle e quindi selezionare Next.

    Screenshot of the Oracle option and Next button in the Inventory and Assessment Wizard.

  6. Selezionare l'opzione di ricerca computer più adatta alle esigenze e all'ambiente dell'organizzazione e quindi selezionare Next.

    Screenshot of the list of computer-discovery methods that best suit your organization's needs.

  7. Immettere le credenziali correnti o creare le nuove credenziali per i sistemi da analizzare e quindi selezionare Next.

    Screenshot of the wizard pane for entering your computer credentials.

  8. Impostare l'ordine delle credenziali e quindi selezionare Avanti.

    Screenshot of the wizard pane for setting the order of credentials.

  9. Specificare le credenziali per ogni computer che si vuole individuare. È possibile usare credenziali univoche per ogni computer o macchina oppure selezionarli dall'elenco Computer.

    Screenshot of the 'Use all computers credential list' option for specifying the credentials for each computer you want to discover.

  10. Verificare il riepilogo della selezione e quindi selezionare Finish.

    Screenshot of the wizard summary page for reviewing your selections.

  11. Al termine dell'analisi, visualizzare il report di riepilogo Data Collection. L'analisi potrebbe richiedere alcuni minuti, a seconda del numero di database. Al termine, selezionare Close.

    Screenshot of the Data Collection summary report page.

  12. Selezionare Options per generare un report sulla valutazione e sui dettagli dei database Oracle. Selezionare entrambe le opzioni (una per volta) per generare il report.

Valutazione

Dopo aver identificato le origini dati, usare SSMA per Oracle per valutare l'istanza di Oracle di cui si esegue la migrazione alla macchina virtuale SQL Server in modo da comprendere le differenze tra le due. Usando Migration Assistant, è possibile esaminare gli oggetti e i dati dei database, valutare i database per la migrazione, eseguire la migrazione degli oggetti di database a SQL Server e quindi eseguire la migrazione dei dati a SQL Server.

Per creare una valutazione, completare i seguenti passaggi:

  1. Aprire SSMA per Oracle.

  2. Selezionare File e quindi New Project.

  3. Specificare un nome di progetto e un percorso e quindi nell'elenco a discesa selezionare la destinazione della migrazione SQL Server. Seleziona OK.

    Screenshot of the New Project pane in SSMA for Oracle.

  4. Selezionare Connect to Oracle, immettere i dettagli della connessione a Oracle e quindi selezionare Connect.

    Screenshot of the Connect to Oracle pane.

  5. Nel riquadro Filter objects selezionare gli schemi Oracle di cui si vuole eseguire la migrazione e quindi selezionare OK.

    Screenshot of the 'Filter objects' pane for selecting the schemas to load.

  6. Nel riquadro Oracle Metadata Explorer selezionare gli schemi Oracle con cui si sta lavorando e quindi selezionare Create Report per generare un report HTML con le statistiche sulle conversioni e gli eventuali errori o avvisi. In alternativa, è possibile selezionare la scheda Create Report in alto a destra.

    Screenshot of the 'Create Report' links in Oracle Metadata Explorer.

  7. Verificare il report HTML per esaminare le statistiche di conversione e gli eventuali errori o avvisi. È anche possibile aprire il report in Excel per ottenere un inventario degli oggetti Oracle e del lavoro richiesto per eseguire le conversioni dello schema. La posizione predefinita del report è la cartella report all'interno di SSMAProjects. Ad esempio:

    drive:\<username>\Documents\SSMAProjects\MyOracleMigration\report\report_2016_11_12T02_47_55\

    Screenshot of a conversion report in SSMA.

Convalidare i tipi di dati

Convalidare i mapping dei tipi di dati predefiniti e modificarli in base ai requisiti, se necessario. A questo scopo:

  1. Selezionare Tools e quindi selezionare Project Settings.

  2. Selezionare la scheda Type Mapping.

    Screenshot of the 'Type Mapping' pane in SSMA for Oracle.

  3. È possibile modificare il mapping dei tipi per ogni tabella selezionando il nome della tabella nel riquadro Oracle Metadata Explorer.

Convertire schema

Per convertire lo schema, completare i seguenti passaggi:

  1. (Facoltativo) Per convertire query dinamiche o specializzate, fare clic con il pulsante destro del mouse sul nodo e quindi scegliere Add statement.

  2. Selezionare la scheda Connect to SQL Server e quindi immettere i dettagli della connessione per l'istanza di SQL Server.

    1. Nell'elenco a discesa Database selezionare il database di destinazione o specificare un nuovo nome per creare un database nel server di destinazione.

    2. Specificare i dettagli di autenticazione.

    3. Selezionare Connetti.

      Screenshot of the Connect to SQL Server pane in SSMA for Oracle.

  3. Nel riquadro Oracle Metadata Explorer fare clic con il pulsante destro del mouse sullo schema con cui si sta lavorando e quindi scegliere Convert Schema. In alternativa, è possibile selezionare la scheda Convert Schema in alto a destra.

    Screenshot of the 'Convert Schema' command on the 'Oracle Metadata Explorer' pane.

  4. Al termine della conversione, confrontare gli oggetti convertiti con quelli originali per identificare i potenziali problemi e risolverli in base alle raccomandazioni.

    Screenshot showing a comparison of the converted objects to the original objects.

    Confrontare il testo Transact-SQL convertito con il codice originale ed esaminare le raccomandazioni.

    Screenshot showing a comparison of the converted text to the original code.

  5. Nel riquadro di output selezionare l'icona Review results e quindi esaminare eventuali errori nel riquadro Error list.

  6. Per un esercizio di correzione dello schema offline, salvare il progetto in locale selezionando File>Save Project. In questo modo è possibile valutare gli schemi di origine e di destinazione offline e correggerli prima di pubblicare lo schema nell'istanza di SQL Server.

Migrazione di database

Dopo aver soddisfatto i prerequisiti e aver completato le attività associate alla fase di pre-migrazione, è possibile eseguire la migrazione dello schema e del database. La migrazione prevede due passaggi: pubblicazione dello schema e migrazione del database.

Per pubblicare lo schema ed eseguire la migrazione del database, completare i seguenti passaggi:

  1. Pubblicare lo schema. Nel riquadro SQL Server Metadata Explorer fare clic con il pulsante destro del mouse sul database e quindi scegliere Synchronize with Database. Questa azione pubblica lo schema Oracle nell'istanza di SQL Server.

    Screenshot of the 'Synchronize with Database' command on the SQL Server Metadata Explorer pane.

  2. Esaminare il mapping tra il progetto di origine e la destinazione, come mostrato qui:

    Screenshot of the 'Synchronize with the Database' pane for reviewing database mapping.

  3. Eseguire la migrazione dei dati. Nel riquadro Oracle Metadata Explorer fare clic con il pulsante destro del mouse sullo schema o sull'oggetto di cui si vuole eseguire la migrazione e quindi selezionare Migrate Data. In alternativa, è possibile selezionare la scheda Migrate Data in alto a destra.

    Per eseguire la migrazione dei dati per un intero database, selezionare la casella di controllo accanto al nome del database. Per eseguire la migrazione dei dati da singole tabelle, espandere il database, espandere Tables e quindi selezionare la casella di controllo accanto alla tabella. Per omettere dati da singole tabelle, deselezionare la casella di controllo.

    Screenshot of the Migrate Data links.

  4. Nel riquadro Migrate data immettere i dettagli della connessione per Oracle e SQL Server.

  5. Al termine della migrazione, visualizzare il report di migrazione dei dati.

    Screenshot of the Data Migration Report.

  6. Connettersi all'istanza di SQL Server tramite SQL Server Management Studio (SSMS) e convalidare la migrazione verificando dati e schema.

    Screenshot of SQL Server Management Server. Oltre a usare SSMA, è possibile usare SQL Server Integration Services (SSIS) per eseguire la migrazione dei dati. Per altre informazioni, vedere:

Dopo la migrazione

Dopo aver completato la fase di migrazione, è necessario completare una serie di attività post-migrazione per assicurarsi che tutto funzioni nel modo più corretto ed efficiente possibile.

Correggere le applicazioni

Dopo la migrazione dei dati nell'ambiente di destinazione, tutte le applicazioni che in precedenza utilizzavano l'origine devono iniziare a utilizzare la destinazione. Il completamento di questo passaggio può richiedere modifiche alle applicazioni.

Data Access Migration Toolkit è un'estensione per Visual Studio Code con cui è possibile analizzare il codice sorgente Java e rilevare le chiamate API di accesso ai dati e le query. Il toolkit offre una visualizzazione a riquadro singolo dei problemi da risolvere per supportare il nuovo back-end del database. Per altre informazioni, vedere il blog Eseguire la migrazione dell'applicazione Java da Oracle.

Eseguire test

L'approccio di test per la migrazione del database prevede le attività seguenti:

  1. Sviluppare i test di convalida: per testare la migrazione del database, è necessario usare query SQL. È necessario creare le query di convalida da eseguire sia sul database di origine che su quello di destinazione. Le query di convalida dovrebbero essere estese all'ambito definito.

  2. Configurare un ambiente di test: l'ambiente di test deve contenere una copia del database di origine e del database di destinazione. Assicurarsi di isolare l'ambiente di test.

  3. Eseguire i test di convalida: eseguire i test di convalida sull'origine e sulla destinazione, quindi analizzare i risultati.

  4. Eseguire test delle prestazioni: eseguire test delle prestazioni sull'origine e sulla destinazione, quindi analizzare e confrontare i risultati.

Ottimizzazione

La fase di post-migrazione è fondamentale per riconciliare eventuali problemi di accuratezza dei dati e verificarne la completezza, nonché per risolvere possibili problemi di prestazioni con il carico di lavoro.

Per altre informazioni su questi problemi e sulle procedure per correggerli, vedere la Guida alla convalida e all'ottimizzazione post-migrazione.

Risorse per la migrazione

Per ulteriore assistenza sul completamento di questo scenario di migrazione, vedere le risorse seguenti. Sono state sviluppate a supporto di un progetto di migrazione reale.

Posizione Descrizione
Strumento e modello di valutazione dei carichi di lavoro dei dati Indica le piattaforme di destinazione "più idonee" suggerite, la preparazione per il cloud e i livelli di correzione di applicazioni/database per i carichi di lavoro specificati. Offre funzionalità semplici e accessibili con un solo clic per l'esecuzione di calcoli e la generazione di report, che consentono di accelerare le valutazioni in ambienti estesi grazie a un processo decisionale automatizzato e uniforme per la piattaforma di destinazione.
Artefatti script dell'inventario Oracle Include una query PL/SQL che accede alle tabelle di sistema Oracle e fornisce un conteggio degli oggetti per tipo di schema, tipo di oggetto e stato. Fornisce anche una stima approssimativa dei "dati non elaborati" in ogni schema e il dimensionamento delle tabelle in ogni schema, con i risultati archiviati in formato CSV.
Automatizzare la raccolta e il consolidamento delle valutazioni di SSMA Oracle Un set di risorse che usa un file CSV come voce (sources.csv nelle cartelle del progetto) per generare i file XML necessari per eseguire la valutazione SSMA in modalità console. Il file source.csv viene fornito dal cliente in base a un inventario delle istanze di Oracle esistenti. I file di output sono AssessmentReportGeneration_source_1.xml, ServersConnectionFile.xml e VariableValueFile.xml.
SSMA issues and possible remedies when migrating Oracle databases (Problemi di SSMA e possibili rimedi durante la migrazione dei database Oracle) Descrive come Oracle consente di assegnare una condizione non scalare nella clausola WHERE. SQL Server non supporta tuttavia questo tipo di condizione. Di conseguenza, SSMA per Oracle non converte le query con una condizione non scalare nella clausola WHERE, generando invece un errore O2SS0001. Questo white paper contiene maggiori dettagli sul problema e sui modi per risolverlo.
Oracle to SQL Server migration handbook (Manuale per la migrazione da Oracle a SQL Server) Illustra le attività associate alla migrazione di uno schema Oracle alla versione più recente del database SQL Server. Se la migrazione richiede modifiche alle caratteristiche e alle funzionalità, è necessario considerare attentamente l'effetto potenziale di ogni modifica sulle applicazioni che usano il database.
Da Oracle a SQL Server - Utilità Confronto database SSMA per Oracle Tester è lo strumento consigliato per convalidare automaticamente la conversione degli oggetti di database e la migrazione dei dati ed è un superset della funzionalità Confronto database.

Se si sta cercando un'opzione di convalida dei dati alternativa, è possibile usare l'utilità Confronto database per confrontare i dati fino al livello di riga o di colonna in tutte le tabelle, le righe e le colonne selezionate.

Queste risorse sono state progettate dal team di progettazione dei dati di SQL. L'obiettivo principale di questo team consiste nello sbloccare e accelerare la modernizzazione complessa per i progetti di migrazione della piattaforma dati alla piattaforma dati di Microsoft Azure.