Les espaces de travail de conversion vous permettent de résoudre les problèmes de conversion, de modifier vos objets avec l'éditeur interactif et d'appliquer le schéma converti à votre base de données de destination. Cette page présente toutes les actions que vous pouvez effectuer avec les espaces de travail de conversion.
Supprimer des objets du schéma source
Supprimez des objets du schéma source pour les exclure de la conversion. Vous pourrez ensuite ajouter des objets supprimés si nécessaire.
- Dans la console Google Cloud, accédez à Espaces de travail de conversion, puis sélectionnez votre espace de travail.
- Dans l'onglet Oracle, à côté de l'objet que vous souhaitez supprimer, sélectionnez > Supprimer. Plus
- Dans la boîte de dialogue de confirmation Supprimer l'objet, cliquez sur Supprimer.
- Actualisez votre schéma converti. Cliquez sur
Vous pouvez inspecter le schéma converti dans l'onglet Brouillon Cloud SQL pour PostgreSQL.
Convertir la source.
Database Migration Service analyse désormais vos modifications et génère le schéma PostgreSQL mis à jour.
Ajouter des objets au schéma source
Vous pouvez ajouter des objets précédemment supprimés du schéma source pour les ajouter à la conversion.
- Dans la console Google Cloud, accédez à Espaces de travail de conversion, puis sélectionnez votre espace de travail.
- Dans l'onglet Oracle, cliquez sur Ajouter des objets.
- Dans la section Ajouter des objets, utilisez la liste source pour sélectionner toutes les entités que vous souhaitez ajouter au schéma source.
Vous pouvez utiliser le bouton Filtrer les objets pour réduire le nombre d'objets affichés. Consultez Filtrer des objets dans la vue du schéma source.
- Cliquez sur Ajouter des objets.
- Actualisez votre schéma converti. Cliquez sur
Vous pouvez inspecter le schéma converti dans l'onglet Brouillon Cloud SQL pour PostgreSQL.
Convertir la source.
Database Migration Service analyse désormais vos modifications et génère le schéma PostgreSQL mis à jour.
Extraire l'instantané du schéma et du code source
Vous pouvez extraire le schéma et le code de votre base de données source dans l'espace de travail de conversion à tout moment. Extraire la source vous permet d'ajouter de nouveaux objets ou de modifier des objets existants dans la conversion.
L'extraction du schéma et du code de la base de données mis à jour ne réinitialise pas les mappages personnalisés existants dans l'espace de travail de conversion, sauf si vous choisissez explicitement de les supprimer.
De plus, l'extraction de la source ne remplace pas les modifications SQL apportées à vos objets de code. Vous pouvez réinitialiser ces modifications directement au niveau de l'objet.
- Dans la console Google Cloud, accédez à Espaces de travail de conversion, puis sélectionnez votre espace de travail.
- Cliquez sur > Extraire à nouveau l'instantané du schéma source. Modifier la configuration
- Dans la boîte de dialogue :
- (Facultatif) Sélectionnez Réinitialiser le mappage personnalisé pour supprimer les mappages personnalisés existants et les modifications LDD.
- Cliquez sur Extraire l'instantané du schéma.
Database Migration Service extrait le nouvel instantané de votre base de données source.
- Actualisez votre schéma converti. Cliquez sur
Vous pouvez inspecter le schéma converti dans l'onglet Brouillon Cloud SQL pour PostgreSQL.
Convertir la source.
Database Migration Service analyse désormais vos modifications et génère le schéma PostgreSQL mis à jour.
Utiliser des mises en correspondance de conversions personnalisées
Vous pouvez personnaliser la logique de conversion à l'aide d'un fichier de mappage des conversions. Le fichier de mappage de conversion est un fichier texte contenant des instructions précises (appelées directives de conversion) sur la façon dont vos objets Oracle doivent être convertis en objets PostgreSQL.
Écrire un fichier de mappage personnalisé
Pour écrire vos fichiers de mappage personnalisés:
Consultez la liste des directives de conversion compatibles.
Utilisez l' exemple de fichier de configuration comme référence.
Écrivez vos mises en correspondance de conversions personnalisées dans un éditeur de texte, puis importez-les dans l'espace de travail de conversion.
Ajouter des fichiers de mappage personnalisés
Pour ajouter un fichier de mappage des conversions personnalisé à votre espace de travail, procédez comme suit:
- Dans la console Google Cloud, accédez à Espaces de travail de conversion, puis sélectionnez votre espace de travail.
- Sur la page de l'éditeur de conversions, sélectionnez > Personnaliser le mappage à l'aide d'un fichier de configuration. Modifier la configuration
- Dans le champ Fichier de configuration, cliquez sur Parcourir et utilisez le sélecteur de fichiers système pour sélectionner votre fichier de configuration.
- Cliquez sur > Créer une mise en correspondance. Ajouter un fichier
Supprimer les fichiers de mappage personnalisés
Pour supprimer un fichier de mappage des conversions personnalisé de votre espace de travail, procédez comme suit:
- Dans la console Google Cloud, accédez à Espaces de travail de conversion, puis sélectionnez votre espace de travail.
- Sur la page de l'éditeur de conversions, sélectionnez > Supprimer le mappage personnalisé. Modifier la configuration
Examiner les résultats de la conversion
Une fois la conversion de la source effectuée, vous pouvez examiner les résultats de la conversion et les problèmes potentiels pour chaque objet converti dans la zone de l'éditeur de l'espace de travail. Vous pouvez également utiliser Google Cloud CLI pour enregistrer tous les résultats et les problèmes de manière groupée dans un fichier texte.
Console
Dans la console Google Cloud, accédez à Espaces de travail de conversion.
Cliquez sur le nom à afficher de l'espace de travail de conversion avec lequel vous souhaitez travailler.
L'éditeur de l'espace de travail de conversion s'ouvre.
Sélectionnez l'onglet Oracle, puis recherchez l'objet pour lequel vous souhaitez consulter les résultats de conversion dans le tableau sous forme d'arborescence.
Sélectionnez l'objet. Utilisez les onglets SQL et Problèmes de conversion pour examiner la conversion.
gcloud
Avec Google Cloud CLI, vous pouvez imprimer tous les résultats ou problèmes de conversion dans le terminal. Redirigez la sortie vers un fichier pour examiner plus facilement les objets groupés.
Obtenir une liste des résultats de conversion
La CLI gcloud affiche les résultats de conversion dans le terminal sous la forme d'instructions de langage de définition de données (LDD). Pour enregistrer les résultats de conversion dans un fichier, exécutez la commande suivante:
gcloud database-migration conversion-workspaces describe-ddls \
CONVERSION_WORKSPACE_ID \
--region=REGION_ID \
> OUTPUT_FILE_PATH
Remplacez :
CONVERSION_WORKSPACE_ID
par l'identifiant de l'espace de travail de conversion. Pour savoir comment récupérer les identifiants d'espace de travail de conversion, consultez Afficher les détails de l'espace de travail de conversion.REGION_ID
par le nom de la région dans laquelle se trouve l'espace de travail de conversion.OUTPUT_FILE_PATH
par le chemin d'accès au fichier texte dans lequel vous souhaitez enregistrer la sortie.Exemple :
gcloud database-migration conversion-workspaces describe-issues \ my-conversion-workspace \ --region=us-central1 \ > ./my-conversion-issues.txt
Résultat :
Les résultats de la conversion de votre schéma sont enregistrés au format texte, où la première ligne indique
DDLs
et les lignes suivantes sont occupées par des instructions SQL:DDLs CREATE SCHEMA IF NOT EXISTS "SCHEMA1"; ALTER TABLE "SCHEMA1"."EMPLOYEES" ADD CONSTRAINT PK_ID PRIMARY KEY ("ID"); CREATE OR REPLACE FUNCTION mockschema.func_test_datatype(str1 VARCHAR(65000)) RETURNS DECIMAL LANGUAGE plpgsql AS $$ DECLARE str2 VARCHAR(100); BEGIN SELECT employees.first_name INTO STRICT STR2 FROM mockschema.employees WHERE employees.employee_id = CAST(FUNC_TEST_DATATYPE.str1 as DECIMAL) ; RAISE NOTICE '%', concat('Input : ', FUNC_TEST_DATATYPE.str1, ' Output : ', str2); RETURN 0; END; $$; CREATE OR REPLACE PROCEDURE greetings AS BEGIN dbms_output.put_line('Hello World!'); END; CREATE SYNONYM TABLE "SCHEMA1"."SYNONYM1" ON "SCHEMA1"."EMPLOYEES"; CREATE OR REPLACE VIEW "SCHEMA1"."VIEW1" AS SELECT * FROM JOBS;
Obtenir la liste des problèmes de conversion
Pour enregistrer les problèmes de conversion dans un fichier, exécutez la commande suivante:
gcloud database-migration conversion-workspaces describe-issues \
CONVERSION_WORKSPACE_ID \
--region=REGION_ID \
> OUTPUT_FILE_PATH
Remplacez :
-
CONVERSION_WORKSPACE_ID
par l'identifiant de l'espace de travail de conversion. Pour savoir comment récupérer les identifiants d'espace de travail de conversion, consultez Afficher les détails de l'espace de travail de conversion. -
REGION_ID
par le nom de la région dans laquelle se trouve l'espace de travail de conversion. -
OUTPUT_FILE_PATH
par le chemin d'accès au fichier texte dans lequel vous souhaitez enregistrer la sortie.
Exemple :
gcloud database-migration conversion-workspaces describe-issues \
my-conversion-workspace \
--region=us-central1 \
> ./my-conversion-issues.txt
Résultat :
Tous les problèmes de conversion contenus dans votre espace de travail sont enregistrés dans un format texte, où la première ligne contient les en-têtes de colonne et chaque ligne suivante contient un problème de conversion distinct:
PARENT NAME ENTITY_TYPE ISSUE_TYPE ISSUE_SEVERITY ISSUE_CODE ISSUE_MESSAGE
SCHEMA1 EMPLOYEES TABLE DDL ERROR 500 unable to parse DDL.
SCHEMA1 EMPLOYEES TABLE CONVERT WARNING 206 no conversion done.
SCHEMA1 STORED_PROCEDURE1 STORED_PROCEDURE DDL ERROR 500 invalid DDL.
SCHEMA1 SYNONYM1 SYNONYM CONVERT WARNING 206 synonym warning message.
Résoudre les problèmes de conversion
Il est possible que Database Migration Service ne puisse pas convertir automatiquement l'intégralité de votre source. Pour la plupart des objets Oracle, vous pouvez utiliser l'éditeur de conversion directement dans Database Migration Service pour ajuster le code SQL généré. Pour d'autres, vous devrez peut-être modifier l'objet directement dans votre base de données source, puis extraire à nouveau l'instantané source.
Pour obtenir la liste complète des objets que Database Migration Service permet de modifier directement dans l'espace de travail de conversion, consultez la page Objets Oracle modifiables.
Résolution des problèmes liés aux objets compatibles avec l'éditeur intégré
Pour résoudre les problèmes rencontrés avec des objets non compatibles avec l'éditeur de l'espace de travail, effectuez l'une des opérations suivantes:
-
Examinez les résultats de la conversion et identifiez les problèmes potentiels.
Vous pouvez utiliser la console Google Cloud pour examiner des objets individuels ou gcloud CLI pour examiner tous les objets de manière groupée.
- Dans l'onglet Cloud SQL pour PostgreSQL, utilisez l'éditeur SQL pour mettre à jour le code généré.
- Testez votre schéma pour vérifier que Database Migration Service peut correctement appliquer votre code à la base de données de destination.
Résolution des problèmes liés aux objets non compatibles avec l'éditeur intégré
Pour résoudre les problèmes rencontrés avec des objets non compatibles avec l'éditeur d'espace de travail, effectuez l'une des opérations suivantes:
- Mettre à jour les objets défectueux de votre source
- Pour certains problèmes, vous devrez peut-être modifier l'instruction Oracle directement dans votre base de données source. Procédez comme suit :
- Mettez à jour le schéma et le code directement dans votre base de données source.
- Importez les sources mises à jour dans Database Migration Service.
- Convertissez à nouveau les sources et vérifiez si les problèmes persistent.
- Fournir des mises en correspondance supplémentaires avec un fichier de mappage des conversions
-
Vous pouvez utiliser un fichier de mappage de conversion pour fournir des définitions précises de la manière dont Database Migration Service doit convertir certains objets PostgreSQL. Pour utiliser un fichier de mappage des conversions, procédez comme suit:
- Essayez de supprimer l'objet de l'onglet "Sources".
- Database Migration Service vous permet de convertir des fichiers . Pour débloquer le processus de conversion, vous pouvez décider d'examiner plus en détail l'objet défectueux ultérieurement. Supprimez l'objet de l'onglet "Sources".
Tester votre schéma dans la destination
Avant d'appliquer le schéma à la base de données de destination, vous pouvez d'abord effectuer un exécution de test pour détecter de manière proactive les problèmes potentiels. Pour effectuer le test, Database Migration Service crée une base de données temporaire. L'exécution du test n'a aucune incidence sur votre instance Cloud SQL de destination.
Assurez-vous que votre utilisateur dédié à la migration dispose de l'autorisation
CREATEDB
. Pour en savoir plus, consultez la page Créer et configurer votre instance Cloud SQL de destination.Dans la console Google Cloud, accédez à Espaces de travail de conversion.
Cliquez sur le nom à afficher de l'espace de travail de conversion avec lequel vous souhaitez travailler.
L'éditeur de l'espace de travail de conversion s'ouvre.
Cliquez sur Appliquer à la destination > Tester (recommandé).
L'assistant d'application du schéma à la base de données de destination s'affiche.
Dans la section Définir la destination, sélectionnez le profil de connexion qui pointe vers votre base de données de destination.
Cliquez sur Définir et continuer.
Dans la section Sélectionner des objets et tester l'application, sélectionnez les schémas des entités de base de données que vous souhaitez tester pour votre base de données de destination.
Vous pouvez utiliser le bouton Filtrer les objets pour réduire le nombre d'objets affichés. Consultez Filtrer les objets dans la vue du schéma source.
Cliquez sur Tester l'application.
Vous pouvez consulter l'état de l'application dans l'onglet Cloud SQL pour PostgreSQL.
Appliquer le schéma à la destination
Lorsque le schéma que vous souhaitez utiliser dans la base de données de destination est converti en fonction de vos exigences et de vos mappages, vous pouvez appliquer les résultats à la base de données de destination. L'application du schéma dans la destination ne modifie aucune donnée de la base de données source.
Dans la console Google Cloud, accédez à Espaces de travail de conversion.
Cliquez sur le nom à afficher de l'espace de travail de conversion avec lequel vous souhaitez travailler.
L'éditeur de l'espace de travail de conversion s'ouvre.
Cliquez sur Appliquer à la destination > Appliquer.
L'assistant d'application du schéma à la base de données de destination s'affiche.
Dans la section Définir la destination, sélectionnez le profil de connexion qui pointe vers votre base de données de destination.
Cliquez sur Définir et continuer.
Dans la section Examiner les objets et appliquer la conversion à la destination, sélectionnez les schémas des entités de base de données que vous souhaitez créer dans votre base de données de destination.
Vous pouvez utiliser le bouton Filtrer les objets pour réduire le nombre d'objets affichés. Consultez Filtrer les objets dans la vue du schéma source.
Cliquez sur Appliquer à la destination.
Vous pouvez consulter l'état de l'application dans l'onglet Cloud SQL pour PostgreSQL.
Créer un job de migration à partir de l'éditeur de conversion
Vous pouvez créer un job de migration qui utilise votre espace de travail de conversion directement depuis l'interface de l'éditeur de conversion.
Dans la console Google Cloud, accédez à Espaces de travail de conversion.
Cliquez sur le nom à afficher de l'espace de travail de conversion avec lequel vous souhaitez travailler.
L'éditeur de l'espace de travail de conversion s'ouvre.
Cliquez sur Créer un job de migration.
Suivez les étapes standards de la tâche de migration, comme indiqué dans la section Créer une tâche de migration.
Filtrer les objets dans la vue du schéma source
Les schémas de base de données contiennent souvent des milliers d'objets, ce qui complique la partition de la conversion. Lorsque vous ajoutez des objets à partir de l'instantané du schéma à la vue du schéma source, vous pouvez utiliser des filtres pour limiter le nombre d'objets affichés. Les filtres vous permettent d'ajouter des objets de manière plus précise et de vous concentrer sur la conversion d'un sous-ensemble sélectionné de votre schéma.
Utilisez la vue filtrée lorsque vous ajoutez des objets à la vue du schéma source:
- Dans le champ Filtre, utilisez l'une des méthodes de filtrage suivantes:
- Dans la liste Propriétés, sélectionnez l'une des options suggérées automatiquement suivantes :
- Nom de l'objet pour filtrer les objets par nom (par exemple,
ADMIN
). - Type d'objet pour filtrer les objets par plusieurs types, tels que Fonction ou Table.
- État de la conversion pour filtrer les objets en fonction de l'état de la conversion (par exemple, Action requise ou Aucun problème).
Vous pouvez combiner des propriétés de filtre avec des opérateurs logiques.
- Nom de l'objet pour filtrer les objets par nom (par exemple,
- Saisissez votre requête. Exemple :
type=table
.Pour en savoir plus sur la syntaxe de filtrage, consultez la section Syntaxe de filtrage compatible.
- Sélectionnez les objets que vous souhaitez ajouter à la vue du schéma source.
Syntaxe de filtrage acceptée
Vous pouvez filtrer les objets par nom à l'aide d'une recherche de texte libre de base ou d'une propriété type
dédiée.
Les deux approches sont compatibles avec les
spécifications formelles de filtrage des API Google, ce qui signifie que vous pouvez utiliser des littéraux avec des caractères génériques, ainsi que des opérateurs logiques et de comparaison.
- Filtrage du texte libre
-
Utilisez du texte libre pour filtrer les objets par nom. Cette approche est sensible à la casse et accepte les caractères génériques.
Exemple :
La requête
*JOB*
utilise des caractères génériques pour rechercher des entités contenant la sous-chaîneJOB
. La vue filtrée renvoie certaines tables et une procédure stockée: - Filtrer à l'aide de la propriété
type
-
Vous pouvez filtrer les objets par type standard compatible avec Database Migration Service.
La propriété
type
accepte les littéraux suivants avec les opérateurs d'égalité (=
) et d'inégalité (!=
) :database
,schema
,table
,column
,index
,sequence
,stored_procedure
,function
,view
,synonym
,materialized_view
,udt
,constraint
,database_package
,trigger
etevent_trigger
.Exemple :
Le filtre
type=table
ne renvoie que les tables présentes dans votre schéma:
Combiner des conditions de filtrage
Vous pouvez spécifier plusieurs conditions en les combinant à l'aide d'opérateurs logiques.
Par exemple, pour rechercher uniquement les tables dont les noms contiennent les sous-chaînes JOB
ou EMPLOYEE
, utilisez la requête suivante:
type=table AND (*JOB* OR *EMPLOYEE*)
Le filtre affiche alors toutes les tables correspondantes:
