Migration d’Oracle vers PostgreSQL

L’extension PostgreSQL pour Visual Studio Code fournit un flux de travail de bout en bout pour migrer des bases de données Oracle vers PostgreSQL. Un Assistant guidé vous guide tout au long de la connexion à votre source Oracle, en sélectionnant des schémas, en configurant un modèle Microsoft Foundry pour la conversion DDL assistée par l’IA et en choisissant une base de données de travail PostgreSQL à des fins de validation. Une fois le projet créé, un tableau de bord effectue le suivi de l’extraction, de la conversion, de l’exportation et de la révision dans une vue unique.

Important

Le flux de travail de migration Oracle vers PostgreSQL est disponible uniquement dans Visual Studio Code.

Fonctionnement de la conversion de schéma et d’application

L’extension convertit une charge de travail Oracle en deux passes. La conversion de schéma s’exécute en premier et produit le langage de définition de données PostgreSQL (DDL) pour vos objets de base de données. La conversion d’application s’exécute ensuite et met à jour le code qui appelle ces objets.

Conversion de schéma

La conversion de schéma lit le dictionnaire de données Oracle pour les schémas que vous sélectionnez, regroupe les objets extraits en blocs classés par dépendance et convertit chaque bloc à l’aide de votre déploiement Microsoft Foundry. Les objets convertis sont compilés par rapport à la base de données scratch avant qu’ils ne soient écrits, de sorte que le DDL que vous recevez est vérifié plutôt qu’une meilleure estimation. Une exécution produit :

  • Fichiers PostgreSQL .sql au niveau de l’objet, organisés par schéma Et type d’objet Oracle.
  • Rapport de conversion qui enregistre les objets convertis, qui ont été ignorés et le taux de réussite global.
  • Passez en revue les tâches pour les objets qui ont besoin d’un jugement humain, comme le DDL de secours ou le comportement qui diffère entre Oracle et PostgreSQL.
  • Notes de codage qui décrivent les modèles Oracle trouvés dans le schéma et comment ils sont mappés à PostgreSQL.

Conversion d’application

La conversion d’application cible le code spécifique à Oracle qui entoure la base de données : scripts SQL, appels de procédure stockée, fichiers de contrôle du chargeur, scripts shell et fichiers Java. Il prend les notes de codage de la conversion de schéma comme entrée, de sorte que le code d’application converti s’aligne avec les noms d’objets, les types et les conventions d’appel que la conversion de schéma produit réellement.

Vous pouvez convertir le code d’application lié à la base de données à l’intérieur de cette extension ou transmettre le travail à l’extension gitHub application Copilot de modernisation pour une passe de modernisation complète.

Séquencer les deux passes

Exécutez d’abord la conversion de schéma. La conversion d’application dépend des notes de codage et des noms d’objets convertis générés par la conversion de schéma, de sorte que la conversion du code d’application avant que le schéma ne se règle génère du code qui cible des objets susceptibles de changer. Si vous réexécutez la conversion de schéma après avoir modifié l’étendue du schéma ou corrigé un objet source, passez en revue le code de l’application à nouveau par rapport aux notes de codage mises à jour.

Prerequisites

Avant de commencer, assurez-vous d’avoir :

  • Visual Studio Code installé.
  • Extension PostgreSQL installée.
  • Accès à une base de données source Oracle avec des autorisations de lecture pour l’extraction de schéma.
  • Un serveur flexible Azure Database pour PostgreSQL à utiliser comme base de données de validation à zéro. La conversion de schéma ne prend pas en charge Azure HorizonDB comme base de données scratch.
  • Une ressource Microsoft Foundry avec un modèle gpt-5.2 déployé. Vous avez besoin de l’URL du point de terminaison et d’une clé API ou d’un compte Microsoft Entra ID avec accès.

Vérifier que la fonctionnalité de migration est activée

Le pgsql.enableMigrations paramètre contrôle la vue Migrations et toutes les commandes de migration. Ce paramètre est activé par défaut.

Si la vue Migrations n'apparaît pas dans la barre latérale, ouvrez les paramètres de Visual Studio Code (Ctrl+, sur Windows/Linux, Cmd+, sur macOS) et vérifiez qu'il pgsql.enableMigrations est défini truesur .

Créer un projet de migration

Un projet de migration est un assistant en quatre étapes qui collecte votre source, votre cible et votre configuration de l’IA avant de créer l’espace de travail du projet.

Étape 1 : configuration de Project

  1. Ouvrez la vue Migrations dans la barre latérale.

  2. Démarrez un nouveau projet de l’une des façons suivantes :

    • Si l'espace de travail ne contient pas encore de migration project, sélectionnez + Créer un Project de migration dans la vue.
    • Sélectionnez le + bouton dans la barre d’outils d’affichage.
    • Cliquez avec le bouton droit sur un dossier d’espace de travail dans l’Explorateur, puis sélectionnez Ouvrir la migration Project.

    La page Nouveau projet de migration d’Oracle vers Azure Database pour PostgreSQL s’ouvre et répertorie les éléments nécessaires :

    • Détails de connexion pour la base de données source
    • Noms des schémas à convertir
    • URL de point de terminaison et clé d’une ressource Microsoft Foundry
    • Nom de connexion pour une instance de Azure Database pour PostgreSQL existante
  3. Entrez un nom dans le champ Nom Project.

  4. Sélectionnez Suivant : Connexion Oracle.

Capture d’écran de la page du nouveau projet de migration avec le champ « Nom du projet ».

Étape 2 : Se connecter à Oracle

La page Se connecter à Oracle collecte vos informations d’identification de base de données source Oracle et vous permet de charger des schémas.

  1. Renseignez les champs de connexion Oracle :

    Champ Description
    Nom d’hôte Oracle Nom d’hôte ou adresse IP du serveur de base de données Oracle.
    Oracle Port Port de l’écouteur (par défaut : 1521).
    SID Ou Nom du service Oracle SiD Oracle ou nom de service pour l’instance de base de données.
    Nom d’utilisateur Oracle Utilisateur de base de données disposant d’un accès en lecture aux objets de schéma.
    Mot de passe Oracle Mot de passe de l’utilisateur Oracle.
  2. Sélectionnez Charger des schémas pour vous connecter et récupérer la liste des schémas disponibles.

  3. Dans la liste déroulante Schémas , sélectionnez un ou plusieurs schémas à migrer.

  4. Sélectionnez Suivant : Connexion PostgreSQL.

Étape 3 : Choisissez une base de données de test Azure Database pour PostgreSQL

La page Choisir une base de données de travail Azure Database pour PostgreSQL permet de sélectionner l’instance PostgreSQL utilisée par le modèle d’IA pour valider les fichiers DDL convertis.

Note

Utilisez une base de données scratch dédiée pour la validation. L’extension peut exécuter la DDL convertie sur cette base de données pendant le processus de conversion.

  1. Dans la liste déroulante Connexion PostgreSQL , sélectionnez un profil de connexion existant. Si la connexion dont vous avez besoin n’est pas répertoriée, sélectionnez Actualiser les profils pour recharger les profils disponibles, ou créez d’abord une connexion dans la vue Connexions et identités .
  2. Dans la liste déroulante Base de données PostgreSQL , sélectionnez la base de données cible. Sélectionnez Charger des bases de données si la liste est vide.
  3. Après avoir sélectionné une base de données, l’extension vérifie automatiquement que les extensions PostgreSQL recommandées sont installées. Vous pouvez également sélectionner Vérifier les extensions pour exécuter la vérification manuellement. Si des extensions sont manquantes, la page les répertorie, accompagnées d’instructions pour leur ajout à la liste des autorisations et leur installation.
  4. Sélectionnez Suivant : Configuration du modèle Microsoft Foundry.

Étape 4 : Configurer le modèle Microsoft Foundry

La page Choisir un modèle Microsoft Foundry configure le déploiement Microsoft Foundry qui alimente le schéma et la conversion de code.

  1. Complétez les champs du modèle de langage :

    Champ Description
    Nom du modèle gpt-5.2.
    point de terminaison Microsoft Foundry URL du point de terminaison de la ressource Microsoft Foundry (par exemple, https://<resource>.openai.azure.com/).
    Méthode d'authentification Choisissez la clé API ou l’ID de Microsoft Entra.
    clé d’API de Microsoft Foundry Clé API pour la ressource Microsoft Foundry (indiquée lorsque la méthode d’authentification est la clé API).
    Compte Azure compte Microsoft avec accès à la ressource (indiqué lorsque la méthode d’authentification est Microsoft Entra ID).
    Locataire Microsoft Entra locataire du compte (indiqué lorsque la méthode d’authentification est Microsoft Entra ID).
    Nom du déploiement Nom du modèle déployé dans votre ressource Microsoft Foundry.
  2. Sélectionnez Tester la connexion à Microsoft Foundry pour vérifier la connectivité.

  3. Sélectionnez Create Migration Project.

Tip

Microsoft Foundry recommande 500 000 TPM (jetons par minute) pour optimiser les performances de migration.

Exécuter la migration de schéma

Une fois le projet créé, le tableau de bord Migration Oracle s’ouvre. Le tableau de bord affiche les cartes de migration de schéma et de révision de schéma , ainsi qu’un accordéon Paramètres qui résume la configuration de votre projet.

Extraire et convertir des schémas

La carte Migration de schéma (étape 1) effectue l’extraction, la conversion et l’exportation sous la forme d’un pipeline continu.

  1. Sur la carte de migration de schéma , sélectionnez Migrer.

    Le libellé du bouton se met à jour à mesure que le pipeline progresse :

    État Étiquette du bouton
    Extraction en cours Extraction en cours...
    Extraction terminée, conversion en attente Reprendre la migration
    Conversion en cours d’exécution Conversion en cours...
    Toutes les phases se terminent Migration terminée
  2. Suivez la progression dans la carte étendue :

    • Extraction indique le nombre d’objets extraits (par exemple, « 15 objets extraits sur 42 »), ainsi que le schéma actuel et l’objet en cours de traitement.
    • La conversion montre le nombre de blocs convertis (par exemple, « 3 sur 8 blocs convertis ») et le bloc actuel en cours de traitement.
  3. Une fois l’exportation terminée, sélectionnez Afficher le rapport de migration pour ouvrir le rapport de migration généré.

Passer en revue les tâches de migration

La carte de révision de schéma (étape 2) affiche les éléments qui nécessitent une attention manuelle après la conversion. Un sélecteurde tâches / en haut de la zone de révision vous permet de choisir comment parcourir la liste.

Vue groupée

La vue groupée organise les tâches de révision en groupes d’accordéons réductibles par catégorie. Utilisez cette vue lorsque vous souhaitez traiter les problèmes connexes ensemble.

  1. Sur la carte Révision du schéma , sélectionnez Révision pour développer l’aire de révision, puis sélectionnez Groupd.

  2. Utilisez les onglets en attente et résolus pour basculer entre les tâches qui ont toujours besoin d’attention et de tâches que vous avez déjà approuvées.

  3. Développez un groupe pour afficher ses métadonnées (schémas, types d’objets, criticité) et les cartes de tâches individuelles qu’il contient.

  4. Utilisez les actions au niveau du groupe pour traiter les tâches en bloc :

    Action Description
    Exécuter tout Ouvrez chaque tâche en attente dans le groupe en mode agent Copilot pour une révision assistée par l’IA.
    Résoudre tout Marquer toutes les tâches du groupe comme résolues. Une boîte de dialogue de confirmation affiche le nom du groupe et le nombre de tâches avant de continuer.
    Réinitialiser tout Retourne toutes les tâches résolues dans le groupe à l’état en attente. Disponible sous l’onglet Résolu .
    Afficher dans les tâches Basculez vers la vue à plat Tâches filtrée sur ce groupe.
  5. Pour agir sur une seule tâche au sein du groupe, sélectionnez Exécuter la tâche pour l’ouvrir en mode agent Copilot, ou sélectionnez Résoudre pour la marquer comme terminée. Sélectionnez Réinitialiser sur une tâche résolue pour la renvoyer à l’état en attente.

Note

Tout résoudre et Tout réinitialiser sont désactivés lorsqu’un groupe contient plus de 800 tâches.

Vue des Tâches

La vue Tâches affiche toutes les tâches de révision dans une table plate. Utilisez cette vue lorsque vous souhaitez trier, filtrer ou rechercher dans toutes les tâches, quel que soit le groupe.

  1. Sélectionnez Tâches dans le sélecteur.
  2. Utilisez les listes déroulantes de filtre (État, Critique, Type d’objet, Schéma) pour affiner la liste des tâches.
  3. Sélectionnez Exécuter la tâche sur un élément en attente pour l’ouvrir en mode agent Copilot pour la révision et la correction assistées par l’IA.
  4. Après avoir corrigé un élément, sélectionnez Résoudre pour le marquer comme terminé.

Tip

Sélectionnez Afficher les journaux dans le tableau de bord pour inspecter les fichiers journaux d’extraction et de conversion pour la résolution des problèmes.

Migrer le code d’application

Après la migration de schéma, convertissez le code d’application spécifique à Oracle (scripts SQL, procédures stockées, fichiers de contrôle du chargeur, scripts shell ou fichiers Java) en équivalents compatibles PostgreSQL. La migration d’applications est une fonctionnalité en préversion.

Choisir une méthode de migration

L’extension offre deux chemins d’accès pour la migration du code d’application :

  • Modernisation complète des applications : si vous installez l’extension de modernisation de GitHub application Copilot, sélectionnez Migrer à l’aide de la modernisation de l’application pour poursuivre la migration avec des notes de codage à partir de la conversion de schéma. Sélectionnez Afficher les notes de codage pour passer en revue les instructions générées avant de continuer.
  • Option de base de données uniquement : pour convertir uniquement le code d’application lié à la base de données dans cette extension, sélectionnez Migrer à l’aide de l’extension PostgreSQL.

Convertir le code d’application dans l’extension

  1. Sur la carte Migration d’application , sélectionnez Migrer des données (ou Sélectionnez la méthode si l’extension de modernisation de l’application est détectée).
  2. Dans la page Convertir l’application , sélectionnez Sélectionner l’application Oracle à convertir et choisissez le dossier qui contient le code de l’application Oracle.
  3. Sélectionnez une connexion PostgreSQL et une base de données PostgreSQL pour le contexte de conversion.
  4. Sélectionnez Charger des bases de données si la liste de bases de données est vide.
  5. Sélectionnez Convertir l’application pour démarrer la conversion.

Utiliser les outils Copilot pour la migration d’applications

L’extension enregistre deux outils de modèle de langage de Copilot pour faciliter la migration :

  • Oracle Client Code Application Converter (pgsql_migration_oracle_app) : convertit le code de l’application cliente Oracle en équivalents PostgreSQL à l’aide de modèles d’invite et de conseils de codage à partir de l’analyse de migration de schéma. Accepte les paramètres suivants :

    • Dossier Codebase d’application (obligatoire) : emplacement du code à convertir.
    • Chemin d’emplacement des notes de codage (facultatif) : chemin d’accès aux notes de codage à partir de la migration de schéma.
    • Nom de la base de données Postgres (facultatif) : nom de la base de données PostgreSQL pour le contexte de conversion.
    • Connexion Postgres DB (facultatif) : nom de connexion pour la base de données PostgreSQL.
  • Afficher Le rapport de migration Oracle vers Postgres (pgsql_migration_show_report) : affiche le rapport de migration généré par la conversion de schéma. Nécessite un chemin d’accès au paramètre Fichier de rapport .

Pour plus d’informations sur l’utilisation d’outils Copilot, consultez Copilot intégration.

Comparer les fichiers convertis

Après la conversion, passez en revue les modifications côte à côte à l’aide des commandes diff intégrées.

  1. Dans l’Explorateur, cliquez avec le bouton droit sur un fichier SQL converti sous le ou le oracle dossier du projet de migration, puis sélectionnez postgres.
  2. Pour les fichiers de code d’application convertis (, , , .sqlou .ctl), cliquez avec le bouton droit sur le fichier, puis sélectionnez .sh. .load.java

La vue de différences côte à côte affiche la source Oracle d’origine en même temps que la sortie PostgreSQL convertie. Vous pouvez donc identifier tous les artefacts qui nécessitent un ajustement manuel.

Note

Les fichiers DDL doivent suivre la structure folder/oracle|postgres/SCHEMA_NAME/DDL-TYPE/filename.sql de la commande compare pour localiser la paire de fichiers correspondante.

Gérer les projets de migration

Utilisez la vue Migrations dans la barre latérale pour gérer vos projets :

Action Description
Projet de migration ouvert Ouvrez un projet de migration existant dans le tableau de bord.
Révéler dans l’Explorateur Afficher le dossier du projet dans l’affichage Explorateur.
Supprimer Supprimez un projet de migration. Vous êtes invité à confirmer avant la suppression.
Actualiser Rechargez la liste des projets de migration dans l’espace de travail actuel.