Créer un espace de travail de conversion et convertir un schéma

Cette page vous explique comment créer un espace de travail de conversion et l'utiliser pour effectuer immédiatement une conversion déterministe du code et du schéma d'Oracle vers PostgreSQL.

Vous pouvez créer des espaces de travail de conversion interactifs de deux manières :

  • Via une connexion directe à la base de données : Database Migration Service se connecte directement à votre base de données source en cours d'exécution via un profil de connexion et récupère le schéma via une connexion réseau.

  • Avec des fichiers de schéma dans Cloud Storage : vous pouvez extraire les métadonnées de votre schéma localement à l'aide de scripts d'extraction fournis par Google, importer les fichiers obtenus dans un bucket Cloud Storage et préparer votre espace de travail sans vous connecter à la base de données source.

Se connecter directement à la base de données source

Vous pouvez créer un espace de travail de conversion interactif et effectuer la conversion de schéma en vous connectant directement à la base de données source avec Database Migration Service. Avant de créer l'espace de travail de cette manière, veillez à créer un profil de connexion pour votre base de données source.

Rôles requis pour la méthode de connexion directe

Pour obtenir les autorisations nécessaires pour créer un espace de travail de conversion, demandez à votre administrateur de vous accorder le rôle IAM Administrateur Database Migration (roles/datamigration.admin) sur votre projet.

Pour en savoir plus sur l'attribution de rôles, consultez Gérer les accès dans la documentation Identity and Access Management.

Ce rôle prédéfini contient les autorisations requises pour créer un espace de travail de conversion dans Database Migration Service. Pour afficher les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour créer un espace de travail de conversion dans Database Migration Service :

  • cloudaicompanion.entitlements.get

    Cette autorisation est incluse dans le rôle roles/datamigration.admin. Il est requis pour les fonctionnalités de conversion améliorées par Gemini.

  • datamigration.conversionworkspaces.apply
  • datamigration.conversionworkspaces.commit
  • datamigration.conversionworkspaces.convert
  • datamigration.conversionworkspaces.create
  • datamigration.conversionworkspaces.delete
  • datamigration.conversionworkspaces.get
  • datamigration.conversionworkspaces.getIamPolicy
  • datamigration.conversionworkspaces.list
  • datamigration.conversionworkspaces.rollback
  • datamigration.conversionworkspaces.seed
  • datamigration.conversionworkspaces.setIamPolicy
  • datamigration.conversionworkspaces.update

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Créer un espace de travail de conversion avec un profil de connexion

Pour créer un espace de travail de conversion dans lequel Database Migration Service se connecte à votre base de données source et prépare l'instantané initial des objets de votre base de données source, procédez comme suit :

  1. Dans la console Google Cloud , accédez à Espaces de travail de conversion.

    Accéder aux espaces de travail de conversion

  2. Cliquez sur Configurer l'espace de travail.
  3. Sur la page Créer un espace de travail de conversion, procédez comme suit :
    1. Saisissez le nom, l'identifiant et la région de votre espace de travail de conversion.
    2. Dans le menu déroulant Moteur de base de données source, sélectionnez Oracle.
    3. Dans la liste déroulante Moteur de base de données de destination, sélectionnez Cloud SQL pour PostgreSQL.
    4. Dans la section Activer les paramètres Gemini pour votre espace de travail, utilisez les cases à cocher pour activer les fonctionnalités de conversion optimisées par Gemini. Vous pouvez également activer ces fonctionnalités ultérieurement lorsque vous souhaitez convertir du code et un schéma avec l'assistance Gemini.

      Les fonctionnalités de conversion optimisées par Gemini nécessitent l'API Gemini pour Google Cloud . Pour en savoir plus, consultez Fonctionnalités de conversion optimisées par Gemini.

    5. Cliquez sur Créer l'espace de travail et continuer.
  4. Sur la page Définir la source et extraire un instantané du schéma, procédez comme suit :
    1. Dans la section Méthode de connexion source, sélectionnez Profil de connexion.
    2. Dans le menu déroulant Profil de connexion source, sélectionnez le profil de connexion de votre base de données source.
    3. Cliquez sur Extraire l'instantané du schéma et continuer.

    Database Migration Service se connecte maintenant à la base de données source et récupère votre schéma. Ce processus peut prendre plusieurs minutes.

  5. Sur la page Sélectionner et convertir des objets, cochez les cases correspondant aux objets que vous souhaitez convertir en syntaxe PostgreSQL.

    Vous n'êtes pas obligé de convertir tous vos objets en une seule fois. Vous pouvez sélectionner quelques objets maintenant et ajouter d'autres objets à la conversion plus tard.

  6. Cliquez sur Convertir et continuer.

    L'espace de travail de conversion s'ouvre.

  7. Lorsque vous ouvrez un nouvel espace de travail pour la première fois, vous pouvez le mettre à niveau pour accéder à la fonctionnalité de conversion automatique optimisée par Gemini. Procédez comme suit :
    • Dans la boîte de dialogue Présentation de la conversion automatique Gemini, cochez la case Mettre à niveau l'espace de travail pour découvrir la nouvelle interface, puis cliquez sur Continuer.
    • Dans la boîte de dialogue Convertir les objets sources avec Gemini ?, cliquez sur Convertir.

      Database Migration Service effectue à nouveau le processus de conversion pour appliquer les améliorations de conversion optimisées par Gemini en plus des résultats de conversion déterministes. Pour en savoir plus sur la fonctionnalité de conversion automatique Gemini, consultez Conversion automatique Gemini.

Utiliser des fichiers de schéma stockés dans Cloud Storage

Vous pouvez extraire les métadonnées de votre schéma localement à l'aide de scripts d'extraction fournis par Google, importer les fichiers obtenus dans un bucket Cloud Storage et préparer votre espace de travail sans vous connecter à la base de données source.

Rôles requis pour utiliser les fichiers de schéma dans Cloud Storage

Pour obtenir les autorisations nécessaires pour créer un espace de travail de conversion à l'aide de fichiers de schéma stockés dans Cloud Storage, demandez à votre administrateur d'accorder les rôles IAM requis sur votre projet pour les comptes suivants impliqués dans le processus de migration :

  • Compte utilisateur qui crée l'espace de travail de conversion : Administrateur de migration de bases de données (roles/datamigration.admin)
  • Compte de service Database Migration Service : rôle Lecteur des objets Storage (roles/storage.objectViewer) sur le bucket Cloud Storage qui stocke les fichiers de schéma.

    L'adresse e-mail du compte de service Database Migration Service utilise le format suivant : service-PROJECT_NUMBER@gcp-sa-datamigration.. Remplacez PROJECT_NUMBER par votre numéro de projet Google Cloud . Pour en savoir plus sur ce compte de service, consultez Compte de service Database Migration Service.

Pour en savoir plus sur l'attribution de rôles, consultez Gérer les accès dans la documentation Identity and Access Management.

Le rôle prédéfini roles/datamigration.admin contient les autorisations requises pour créer un espace de travail de conversion dans Database Migration Service. Pour afficher les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour créer un espace de travail de conversion dans Database Migration Service :

  • cloudaicompanion.entitlements.get

    Cette autorisation est incluse dans le rôle roles/datamigration.admin. Il est requis pour les fonctionnalités de conversion améliorées par Gemini.

  • datamigration.conversionworkspaces.apply
  • datamigration.conversionworkspaces.commit
  • datamigration.conversionworkspaces.convert
  • datamigration.conversionworkspaces.create
  • datamigration.conversionworkspaces.delete
  • datamigration.conversionworkspaces.get
  • datamigration.conversionworkspaces.getIamPolicy
  • datamigration.conversionworkspaces.list
  • datamigration.conversionworkspaces.rollback
  • datamigration.conversionworkspaces.seed
  • datamigration.conversionworkspaces.setIamPolicy
  • datamigration.conversionworkspaces.update

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Créer un espace de travail de conversion avec des fichiers de schéma

Pour créer un espace de travail de conversion avec des fichiers de schéma, procédez comme suit.

  1. Récupérez les scripts Python à partir de la console Google Cloud . Procédez comme suit :
    1. Dans la console Google Cloud , accédez à Espaces de travail de conversion.

      Accéder aux espaces de travail de conversion

    2. Cliquez sur Configurer l'espace de travail.
    3. Sur la page Créer un espace de travail de conversion :
      1. Saisissez le nom, l'identifiant et la région de l'espace de travail.
      2. Dans le menu déroulant Moteur de base de données source, sélectionnez Oracle.
      3. Dans le menu déroulant Moteur de base de données de destination, sélectionnez Cloud SQL pour PostgreSQL.
      4. Dans la section Activer les paramètres Gemini pour votre espace de travail, cochez les cases pour activer les fonctionnalités de conversion optimisées par Gemini, puis cliquez sur Continuer.

        Vous pouvez également activer ces fonctionnalités ultérieurement lorsque vous souhaitez convertir du code et un schéma avec l'assistance Gemini. Les fonctionnalités de conversion optimisées par Gemini nécessitent l'API Gemini pour Google Cloud . Pour en savoir plus, consultez Fonctionnalités de conversion optimisées par Gemini.

    4. Sur la page Définir la source et extraire un instantané du schéma, dans la section Méthode de connexion source, sélectionnez Cloud Storage.
    5. Dans la section Avant de sélectionner un dossier, à côté de l'en-tête Extracteur de métadonnées Oracle, cliquez sur Ouvrir. Suivez les instructions du panneau latéral pour télécharger et exécuter l'utilitaire d'extraction sur votre base de données source afin de produire les fichiers JSON de métadonnées de schéma. Cet utilitaire nécessite que vous puissiez établir une connexion réseau avec votre base de données source.
  2. Créez un bucket Cloud Storage dédié dans lequel vous importerez les fichiers JSON de métadonnées de schéma. Pour en savoir plus sur la création de buckets Cloud Storage, consultez Créer des buckets dans la documentation Cloud Storage.
  3. Dans le bucket Cloud Storage dédié, créez un dossier vide dédié aux fichiers de schéma de base de données que vous avez exportés lors des étapes précédentes. Pour en savoir plus sur la création de dossiers Cloud Storage, consultez Créer et gérer des dossiers dans la documentation Cloud Storage.
  4. Importez uniquement les fichiers de schéma JSON de métadonnées que vous avez créés avec les scripts Python que vous avez récupérés depuis la console Google Cloud lors des étapes précédentes dans le dossier de base de données dédié vide de votre bucket Cloud Storage.
  5. Continuez à créer votre espace de travail dans la console Google Cloud ou créez-en un avec Google Cloud CLI.

    Console

    1. Après avoir importé les fichiers de métadonnées de schéma extraits dans un bucket Cloud Storage, passez à la page Définir la source et extraire l'instantané du schéma.
    2. Dans le champ Dossier, cliquez sur Parcourir, puis sélectionnez le dossier contenant vos fichiers de schéma.
    3. Cliquez sur Extraire l'instantané du schéma et continuer.

      Database Migration Service analyse désormais les métadonnées du schéma à partir du bucket.

    4. Sur la page Sélectionner et convertir des objets, sélectionnez les objets que vous souhaitez convertir, puis cliquez sur Convertir et continuer.

    gcloud

    Après avoir importé les fichiers de métadonnées de schéma extraits dans un bucket Cloud Storage, vous pouvez créer et initialiser un nouvel espace de travail avec la Google Cloud CLI. Procédez comme suit :

    1. Créez un espace de travail de conversion vide.
      Exécutez la commande suivante (cliquez pour développer) :

      gcloud database-migration conversion-workspaces create

        gcloud database-migration conversion-workspaces create WORKSPACE_ID \
            --region=REGION \
            --source-database-engine=ORACLE \
            --destination-database-engine=POSTGRESQL

      Remplacez les éléments suivants :

      • WORKSPACE_ID : par l'identifiant de votre espace de travail de conversion.
      • REGION : région dans laquelle vous souhaitez créer l'espace de travail.
    2. Initialisez l'espace de travail à l'aide de vos fichiers de schéma dans Cloud Storage.
      Pour analyser et charger les fichiers de métadonnées de schéma stockés dans votre bucket dans l'espace de travail de conversion, exécutez la commande suivante (cliquez pour développer) :

      gcloud database-migration conversion-workspaces seed

        gcloud database-migration conversion-workspaces seed WORKSPACE_ID \
            --region=REGION \
            --gcs-path=gs://BUCKET_NAME/PREFIX/

      Remplacez les éléments suivants :

      • WORKSPACE_ID : par l'identifiant de votre espace de travail de conversion.
      • REGION : région dans laquelle vous souhaitez créer l'espace de travail.
      • BUCKET_NAME : nom du bucket Cloud Storage contenant vos fichiers de schéma.
      • PREFIX : chemin d'accès au dossier contenant les fichiers de métadonnées de schéma extraits.

Anciens espaces de travail de conversion

Les anciens espaces de travail de conversion sont un type d'espace de travail de conversion plus ancien et plus limité. Nous vous déconseillons d'utiliser l'ancien type d'espace de travail de conversion pour vos migrations. Si vous devez utiliser un ancien espace de travail de conversion, développez la section Créer un ancien espace de travail de conversion et convertir le schéma pour en savoir plus.

Créer un ancien espace de travail de conversion et convertir le schéma

Les anciens espaces de travail de conversion utilisent des fichiers de configuration Ora2Pg. Avant de créer un ancien espace de travail de conversion, veillez à créer votre configuration Ora2Pg en dehors de Database Migration Service. Pour en savoir plus, consultez Utiliser d'anciens espaces de travail de conversion.

  1. Dans la console Google Cloud , accédez à Espaces de travail de conversion.

    Accéder aux espaces de travail de conversion

  2. Cliquez sur Configurer l'espace de travail.
  3. Sur la page Créer un espace de travail de conversion, procédez comme suit :
    1. Saisissez le nom, l'identifiant et la région de votre espace de travail de conversion.
    2. Dans le menu déroulant Moteur de base de données source, sélectionnez Oracle.
    3. Dans la liste déroulante Moteur de base de données de destination, sélectionnez Cloud SQL pour PostgreSQL.
    4. Développez la section Personnaliser les configurations des espaces de travail, puis cochez la case Activer l'ancien espace de travail de conversion.
    5. Cliquez sur Créer l'espace de travail et continuer.
  4. Sur la page Se connecter à la source et convertir les objets, procédez comme suit :
    1. Dans le menu déroulant Profil de connexion source, sélectionnez le profil de connexion de votre base de données source.
    2. Dans le champ Fichier de configuration, cliquez sur Parcourir et utilisez le sélecteur de fichier système pour sélectionner votre fichier de mappage de conversion.

      Vous pouvez importer plusieurs fichiers de mappage de conversion en cliquant sur Ajouter un fichier.

    3. Dans la section Convertir la configuration, cliquez sur Extraire le schéma et convertir.

      Database Migration Service se connecte maintenant à la base de données source, récupère votre schéma et le convertit en schéma SQL de destination conformément aux règles définies dans votre fichier de mappage de conversion. Ce processus peut prendre plusieurs minutes.

  5. Cliquez sur Enregistrer et fermer.

    La page d'informations sur l'espace de travail de conversion s'ouvre.

Vous pouvez maintenant appliquer le schéma converti à votre base de données de destination. Si votre base de données source inclut des tables sans clé primaire, vous devez également créer manuellement des contraintes de clé primaire dans les tables converties de la base de données de destination après avoir appliqué le schéma converti. Pour en savoir plus, consultez Utiliser d'anciens espaces de travail de conversion.

Étapes suivantes

Vous pouvez désormais utiliser votre espace de travail de conversion pour résoudre les problèmes de conversion, modifier vos objets avec l'éditeur interactif et appliquer le schéma converti à votre base de données de destination. Consultez Convertir le code et le schéma Oracle en syntaxe PostgreSQL.