Guide de migration d’Oracle vers SQL Server

S’applique à :SQL Server

Ce guide explique comment migrer des bases de données Oracle vers SQL Server à l’aide de l’Assistant Migration SQL Server pour Oracle (SSMA pour Oracle).

Pour obtenir d’autres guides de migration, consultez les Guides de migration de base de données Azure.

Important

Essayez la nouvelle extension Évaluation de la migration de base de données pour Oracle dans Azure Data Studio pour la pré-évaluation de la migration d’Oracle vers SQL et la catégorisation des charges de travail. Si vous vous trouvez en phase initiale de migration d’Oracle vers SQL et que vous devez effectuer une évaluation de haut niveau des charges de travail, que le dimensionnement de la cible Azure SQL pour la charge de travail Oracle vous intéresse ou que vous souhaitez comprendre la parité de migration des fonctionnalités, essayez la nouvelle extension. Pour obtenir une évaluation et une conversion détaillées du code, poursuivez avec SSMA pour Oracle.

Prérequis

Avant de commencer à migrer votre base de données Oracle vers SQL Server, effectuez les étapes suivantes :

Pré-migration

Quand vous préparez votre migration vers le cloud, vérifiez que votre environnement source est pris en charge et que vous remplissez toutes les autres conditions préalables. Cela contribue à une migration efficace et réussie.

Cette partie du processus implique de réaliser un inventaire des bases de données que vous devez migrer, d’évaluer celles-ci à la recherche d’éventuels obstacles ou problèmes de migration, puis de résoudre les problèmes découverts.

Découvrez

Pour mieux comprendre et planifier la migration, utilisez Microsoft Assessment and Planning (Map) Toolkit pour identifier les sources de données existantes et les détails sur les fonctionnalités utilisées par votre organisation. Ce processus implique une analyse du réseau pour identifier toutes les instances Oracle de votre organisation, ainsi que la version et les fonctionnalités.

Pour utiliser le Kit de ressources MAP afin d’effectuer une analyse d’inventaire, procédez comme suit :

  1. Ouvrez le Kit de ressources MAP.

  2. Dans le volet Vue d’ensemble, sélectionnez Créer/Sélectionner une base de données.

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

  3. Sous Créer ou sélectionner une base de données, sélectionnez Créer une base de données d’inventaire, entrez un nom pour la base de données à créer, fournissez une brève description, puis sélectionnez OK.

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

  4. Sélectionnez Collecter les données d’inventaire pour ouvrir l’Assistant Inventaire et évaluation.

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

  5. Dans l’Assistant, sélectionnez Oracle, puis cliquez sur Suivant.

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

  6. Choisissez l’option de recherche d’ordinateur correspondant le mieux aux besoins et à l’environnement de votre organisation, puis sélectionnez Suivant.

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

  7. Entrez les informations d’identification actuelles ou créez-en pour les systèmes que vous souhaitez explorer, puis sélectionnez Suivant.

    Screenshot of the wizard pane for entering your computer credentials.

  8. Définissez l’ordre des informations d’identification, puis sélectionnez Suivant.

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

  9. Spécifiez les informations d’identification pour chaque ordinateur à découvrir. Vous pouvez utiliser des informations d’identification uniques pour chaque ordinateur ou machine, ou vous pouvez les sélectionner dans la liste Ordinateurs.

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

  10. Vérifiez le récapitulatif de votre sélection, puis sélectionnez Terminer.

    Screenshot of the wizard summary page for reviewing your selections.

  11. Une fois l’analyse terminée, affichez le rapport de synthèse Collecte de données. L’analyse peut prendre quelques minutes en fonction du nombre de bases de données. Quand vous avez terminé, sélectionnez Fermer.

    Screenshot of the Data Collection summary report page.

  12. Sélectionnez Options pour générer un rapport sur l’évaluation Oracle et les détails de la base de données. Sélectionnez les deux options (une à la fois) pour générer le rapport.

Évaluer

Après avoir identifié les sources de données, utilisez SSMA pour Oracle pour évaluer l’instance ou les instances Oracle que vous migrez vers la machine virtuelle SQL Server afin de comprendre les écarts entre les deux. L’assistant de migration vous permet d’examiner les objets et les données de la base de données, d’évaluer les bases de données pour la migration, de migrer les objets de base de données vers SQL Server, puis de migrer les données vers SQL Server.

Pour créer une évaluation, procédez comme suit :

  1. Ouvrez SSMA pour Oracle.

  2. Sélectionnez Fichier, puis Nouveau projet.

  3. Fournissez un nom et un emplacement de projet, puis, dans la liste déroulante, sélectionnez une cible de migration SQL Server. Sélectionnez OK.

    Screenshot of the New Project pane in SSMA for Oracle.

  4. Sélectionnez Se connecter à Oracle, entrez les détails de la connexion Oracle, puis sélectionnez Se connecter.

    Screenshot of the Connect to Oracle pane.

  5. Dans le volet Objets de filtre, sélectionnez les schémas Oracle que vous souhaitez migrer, puis OK.

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

  6. Dans l’Explorateur de métadonnées Oracle, sélectionnez les schémas Oracle avec lesquels vous travaillez, puis Créer un rapport afin de générer un rapport HTML contenant les statistiques de conversion ainsi que les erreurs/avertissements éventuels. Vous pouvez également sélectionner l’onglet Créer un rapport en haut à droite.

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

  7. Examinez le rapport HTML pour comprendre les statistiques de conversion et les erreurs ou avertissements. Vous pouvez également ouvrir le rapport dans Excel pour obtenir un inventaire des objets Oracle et de l’effort nécessaire pour effectuer des conversions de schémas. Le dossier de rapport situé dans SSMAProjects est l’emplacement par défaut du rapport. Par exemple :

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

    Screenshot of a conversion report in SSMA.

Valider les types de données

Validez les mappages de types de données par défaut et changez-les en fonction des exigences, si nécessaire. Pour cela :

  1. Sélectionnez Outils, puis Paramètres du projet.

  2. Sélectionnez l’onglet Mappage de types.

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

  3. Vous pouvez changer le mappage de type pour chaque table en sélectionnant le nom de la table dans le volet Explorateur de métadonnées Oracle.

Convertir le schéma

Pour convertir le schéma, procédez comme suit :

  1. (Facultatif) Pour convertir des requêtes dynamiques ou spécialisées, cliquez avec le bouton droit sur le nœud, puis sélectionnez Ajouter une instruction.

  2. Sélectionnez l’onglet Se connecter à SQL Server, puis entrez les détails de connexion pour votre instance SQL Server.

    1. Dans la liste déroulante Base de données, sélectionnez votre base de données cible ou entrez un nouveau nom pour créer une base de données sur le serveur cible.

    2. Fournissez des informations d’authentification.

    3. Sélectionnez Se connecter.

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

  3. Dans le volet de l’Explorateur de métadonnées Oracle, cliquez avec le bouton droit sur le schéma que vous utilisez, puis sélectionnez Convertir le schéma. Vous pouvez également sélectionner l’onglet Convertir le schéma en haut à droite.

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

  4. Une fois la conversion terminée, comparez les objets convertis aux objets d’origine afin d’identifier les problèmes potentiels et de les traiter en fonction des recommandations.

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

    Comparez le texte Transact-SQL converti au code d’origine et passez en revue les recommandations.

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

  5. Dans le volet de sortie, sélectionnez l’icône Passer en revue les résultats, puis examinez les erreurs dans le volet Liste d’erreurs.

  6. Pour un exercice de correction de schéma hors connexion, enregistrez le projet localement en sélectionnant Fichier>Enregistrer le projet. Cela vous permet d’évaluer les schémas source et cible hors connexion et d’apporter une correction avant de pouvoir publier le schéma sur votre instance SQL Server.

Migrer la base de données

Une fois que vous avez satisfait les conditions préalables et effectué les tâches associées à la phase Prémigration, vous êtes prêt à effectuer la migration du schéma et de la base de données. La migration comprend deux étapes : la publication du schéma et la migration de la base de données.

Pour publier votre schéma et migrer la base de données, procédez comme suit :

  1. Publiez le schéma. Dans le volet Explorateur de métadonnées SQL Server, cliquez avec le bouton droit sur la base de données, puis sélectionnez Synchroniser avec la base de données. Cette action a pour effet de publier le schéma Oracle dans SQL Server sur votre instance SQL Server.

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

  2. Passez en revue le mappage entre votre projet source et votre cible, comme illustré ici :

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

  3. Migrez les données. Dans le volet Explorateur de métadonnées Oracle, cliquez avec le bouton droit sur le schéma ou l’objet que vous souhaitez migrer, puis sélectionnez Migrer les données. Vous pouvez également sélectionner l’onglet Migrer les données en haut à droite.

    Pour migrer des données pour une base de données entière, cochez la case à côté du nom de la base de données. Pour migrer des données à partir de tables individuelles, développez la base de données, développez Tables, puis cochez la case à côté de la table. Pour omettre certaines données des tables individuelles, décochez la case.

    Screenshot of the Migrate Data links.

  4. Dans le volet Migrer les données, entrez les détails de connexion pour Oracle et SQL Server.

  5. Une fois la migration terminée, affichez le Rapport de migration des données.

    Screenshot of the Data Migration Report.

  6. Connectez-vous à votre instance SQL Server à l’aide de SQL Server Management Studio (SSMS), puis validez la migration en examinant les données et le schéma.

    Screenshot of SQL Server Management Server.En plus de l’outil SSMA, vous pouvez utiliser la fonctionnalité SQL Server Integration Services (SSIS) pour migrer les données. Pour plus d'informations, consultez les rubriques suivantes :

Post-migration

Une fois la phase de migration terminée, vous devez effectuer une série de tâches post-migration pour vous assurer que tout fonctionne de la manière la plus fluide et efficace possible.

Corriger les applications

Une fois les données migrées vers l’environnement cible, toutes les applications qui consommaient la source doivent commencer à consommer la cible. La réalisation de cette étape peut nécessiter des modifications aux applications.

Data Access Migration Toolkit est une extension pour Visual Studio Code qui vous permet d’analyser votre code source Java et de détecter les appels et les requêtes d’API d’accès aux données. La boîte à outils vous donne une vue à volet unique des éléments à corriger pour prendre en charge le nouveau back end de la base de données. Pour en savoir plus, consultez le blog Migrer notre application Java à partir d’Oracle.

Effectuer des tests

L’approche de test pour la migration de base de données comprend les activités suivantes :

  1. Développer des tests de validation : pour tester la migration d’une base de données, vous devez utiliser des requêtes SQL. Vous devez créer les requêtes de validation à exécuter sur les bases de données source et cible. Vos requêtes de validation doivent couvrir l’étendue que vous avez définie.

  2. Configurer un environnement de test : L’environnement de test doit contenir une copie de la base de données source et de la base de données cible. Veillez à isoler l’environnement de test.

  3. Exécuter des tests de validation : exécutez les tests de validation sur la source et sur la cible, puis analysez les résultats.

  4. Exécuter des tests de performances : exécutez des tests de performances sur la source et sur la cible, puis analysez et comparez les résultats.

Optimiser

La phase postmigration est cruciale pour résoudre les problèmes de justesse et d’exhaustivité des données ainsi que pour gérer les problèmes de performances liés à la charge de travail.

Pour plus d’informations sur ces problèmes et les étapes spécifiques pour les atténuer, consultez le Guide de validation et d’optimisation post-migration.

Ressources de migration

Pour plus d’informations sur l’exécution de ce scénario de migration, consultez les ressources suivantes. Elles ont été développées pour soutenir un engagement de projet de migration réel.

Titre Description
Outil et modèle d’évaluation d’une charge de travail de données Fournit des suggestions pour les plateformes cibles, la préparation du cloud et les niveaux de correction des applications/bases de données qui sont les mieux adaptés pour des charges de travail spécifiées. Il propose des fonctionnalités de génération de rapports et de calculs simples en un clic qui permettent d’accélérer les évaluations d’un vaste domaine en fournissant un processus de décision de plateforme cible automatisé et uniforme.
Artefacts de script d’inventaire Oracle Inclut une requête PL/SQL qui interroge les tables système Oracle et fournit un nombre d’objets par type de schéma, type d’objet et état. Elle fournit également une estimation approximative des « données brutes », ainsi que du dimensionnement des tables dans chaque schéma, avec les résultats enregistrés dans un fichier au format CSV.
Automatiser la collecte et la consolidation d’évaluation Oracle pour l’outil SSMA Un ensemble de ressources qui utilise un fichier .csv en tant qu’entrée (sources.csv dans les dossiers de projet) pour produire les fichiers xml nécessaires à l’exécution d’une évaluation SSMA en mode console. Le fichier source.csv est fourni par le client sur la base d’un inventaire des instances Oracle existantes. Les fichiers de sortie sont AssessmentReportGeneration_source_1.xml, ServersConnectionFile.xml et VariableValueFile.xml.
Problèmes avec SSMA et solutions possibles lors de la migration de bases de données Oracle Explique comment Oracle vous permet d’affecter une condition non scalaire dans la clause WHERE. Toutefois, SQL Server ne prend pas en charge ce type de condition. Par conséquent, SSMA pour Oracle ne convertit pas les requêtes incluant une condition non scalaire dans la clause WHERE et génère une erreur O2SS0001 à la place. Ce livre blanc fournit des informations supplémentaires sur le problème et les manières de le résoudre.
Guide de migration d’Oracle vers SQL Server Se concentre sur les tâches associées à la migration d’un schéma Oracle vers la dernière version de SQL Serverbase. Si la migration nécessite des modifications de fonctions ou de fonctionnalités, il convient de prendre soigneusement en considération l’effet possible de chacune d’elles sur les applications qui utilisent la base de données.
Oracle vers SQL Server - Utilitaire Comparaison de bases de données SSMA pour Oracle Tester est l’outil recommandé pour valider automatiquement la conversion des objets de base de données et la migration des données, et il s’agit d’un sur-ensemble de fonctionnalités de l’utilitaire Comparaison de bases de données.

Si vous recherchez une autre option de validation des données, vous pouvez utiliser l’utilitaire Comparaison de bases de données pour comparer des données au niveau des lignes ou des colonnes dans l’ensemble des tables, des lignes et des colonnes sélectionnées.

L’équipe d’ingénierie SQL des données a développé ces ressources. La charte fondamentale de cette équipe a pour objet d’initier et d’accélérer une modernisation complexe et de faire face aux projets de migration de plateforme de données vers la plateforme Azure Data de Microsoft.