Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Convertir VARCHAR2 (1) type de données pour Oracle en type de données booléen pour Amazon Aurora PostgreSQL
Créée par Naresh Damera (AWS)
Récapitulatif
Lors d'une migration d'Amazon Relational Database Service (Amazon RDS) pour Oracle vers Amazon Aurora PostgreSQL Compatible Edition, il est possible que vous rencontriez une incompatibilité des données lors de la validation de la migration dans Amazon Web Services (AWS) Database Migration Service (AWS DMS). Pour éviter cette incompatibilité, vous pouvez convertir VARCHAR2 (1) type de données en type booléen.
VARCHAR2 le type de données stocke des chaînes de texte de longueur variable et VARCHAR2 (1) indique que la chaîne comporte 1 caractère ou 1 octet. Pour plus d'informations VARCHAR2, voir les types de données intégrés
Dans ce modèle, dans la colonne de la table de données source d'échantillons, les données VARCHAR2 (1) sont soit un Y, pour Oui, soit un N, pour Non. Ce modèle inclut des instructions pour utiliser AWS DMS et AWS Schema Conversion Tool (AWS SCT) pour convertir ce type de données des valeurs Y et N dans VARCHAR2 (1) en valeurs vraies ou fausses dans le booléen.
Public cible
Ce modèle est recommandé pour ceux qui ont déjà migré des bases de données Oracle vers des bases de données compatibles avec Aurora PostgreSQL à l'aide d'AWS DMS. Lorsque vous terminez la migration, respectez les recommandations de la section Conversion d'Oracle vers Amazon RDS pour PostgreSQL ou Amazon Aurora PostgreSQL (documentation AWS SCT).
Conditions préalables et limitations
Prérequis
Un compte AWS actif.
Vérifiez que votre environnement est préparé pour Aurora, notamment en configurant les informations d'identification, les autorisations et un groupe de sécurité. Pour plus d'informations, consultez Configuration de votre environnement pour Amazon Aurora (documentation Aurora).
Base de données source Amazon RDS for Oracle qui contient une colonne de table VARCHAR2 contenant (1) données.
Une instance de base de données cible compatible avec Amazon Aurora PostgreSQL. Pour plus d'informations, consultez Création d'un cluster de bases de données et connexion à une base de données sur un cluster de bases de données Aurora PostgreSQL (documentation Aurora).
Versions du produit
Amazon RDS pour Oracle version 12.1.0.2 ou ultérieure.
AWS DMS version 3.1.4 ou ultérieure. Pour plus d'informations, consultez les sections Utilisation d'une base de données Oracle comme source pour AWS DMS et Utilisation d'une base de données PostgreSQL comme cible pour AWS DMS (documentation AWS DMS). Nous vous recommandons d'utiliser la dernière version d'AWS DMS pour bénéficier du support le plus complet en termes de versions et de fonctionnalités.
AWS Schema Conversion Tool (AWS SCT) version 1.0.632 ou ultérieure. Nous vous recommandons d'utiliser la dernière version d'AWS SCT pour bénéficier du support le plus complet en termes de versions et de fonctionnalités.
Aurora prend en charge les versions de PostgreSQL répertoriées dans la section Versions du moteur de base de données pour Aurora compatible avec PostgreSQL (documentation Aurora).
Architecture
Pile technologique source
Instance de base de données Amazon RDS for Oracle
Pile technologique cible
Instance de base de données compatible avec Amazon Aurora PostgreSQL
Architecture source et cible

Outils
Services AWS
Amazon Aurora PostgreSQL Compatible Edition est un moteur de base de données relationnelle entièrement géré et compatible ACID qui vous aide à configurer, exploiter et dimensionner les déploiements PostgreSQL.
AWS Database Migration Service (AWS DMS) vous aide à migrer des magasins de données vers le cloud AWS ou entre des combinaisons de configurations cloud et sur site.
Amazon Relational Database Service (Amazon RDS) pour Oracle vous aide à configurer, exploiter et dimensionner une base de données relationnelle Oracle dans le cloud AWS.
AWS Schema Conversion Tool (AWS SCT) prend en charge les migrations de bases de données hétérogènes en convertissant automatiquement le schéma de base de données source et la majorité du code personnalisé dans un format compatible avec la base de données cible.
Autres services
Oracle SQL Developer
est un environnement de développement intégré qui simplifie le développement et la gestion des bases de données Oracle dans les déploiements traditionnels et basés sur le cloud. Dans ce modèle, vous utilisez cet outil pour vous connecter à l'instance de base de données Amazon RDS for Oracle et interroger les données. pgAdmin
est un outil de gestion open source pour PostgreSQL. Il fournit une interface graphique qui vous permet de créer, de gérer et d'utiliser des objets de base de données. Dans ce modèle, vous utilisez cet outil pour vous connecter à l'instance de base de données Aurora et interroger les données.
Épopées
Tâche | Description | Compétences requises |
---|---|---|
Créez un rapport de migration de base de données. |
| DBA, Développeur |
Désactivez les contraintes liées aux clés étrangères sur la base de données cible. | Dans PostgreSQL, les clés étrangères sont implémentées à l'aide de déclencheurs. Pendant la phase de chargement complet, AWS DMS charge chaque table une par une. Nous vous recommandons vivement de désactiver les contraintes liées aux clés étrangères lors d'un chargement complet en utilisant l'une des méthodes suivantes :
S'il n'est pas possible de désactiver les contraintes liées aux clés étrangères, créez une tâche de migration AWS DMS pour les données principales spécifiques à la table parent et à la table enfant. | DBA, Développeur |
Désactivez les clés primaires et les clés uniques de la base de données cible. | À l'aide des commandes suivantes, désactivez les clés primaires et les contraintes sur la base de données cible. Cela permet d'améliorer les performances de la tâche de chargement initiale.
| DBA, Développeur |
Créez la tâche de chargement initiale. | Dans AWS DMS, créez la tâche de migration pour le chargement initial. Pour obtenir des instructions, consultez la section Création d'une tâche. Pour la méthode de migration, choisissez Migrer les données existantes. Cette méthode de migration est appelée | DBA, Développeur |
Modifiez les paramètres de tâche pour la tâche de chargement initiale. | Modifiez les paramètres des tâches pour ajouter la validation des données. Ces paramètres de validation doivent être créés dans un fichier JSON. Pour obtenir des instructions et des exemples, consultez la section Spécification des paramètres des tâches. Ajoutez les validations suivantes :
Pour valider le reste de la migration des données, activez la validation des données dans la tâche. Pour plus d'informations, consultez la section Paramètres des tâches de validation des données. | Administrateur AWS, DBA |
Créez la tâche de réplication en cours. | Dans AWS DMS, créez la tâche de migration qui synchronise la base de données cible avec la base de données source. Pour obtenir des instructions, consultez la section Création d'une tâche. Pour la méthode de migration, sélectionnez Répliquer uniquement les modifications de données. Ne commencez pas encore cette tâche. | DBA |
Tâche | Description | Compétences requises |
---|---|---|
Créez des exemples de données pour les tests. | Dans la base de données source, créez un exemple de table contenant des données à des fins de test. | Developer |
Vérifiez qu'il n'y a pas d'activités conflictuelles. | Utilisez le | Administrateur AWS |
Démarrez les tâches de migration vers AWS DMS. | Dans la console AWS DMS, sur la page du tableau de bord, lancez le chargement initial et les tâches de réplication en cours que vous avez créées dans l'épopée précédente. | Administrateur AWS |
Surveillez les tâches et les états de chargement des tables. | Pendant la migration, surveillez l'état des tâches et les états des tables. Lorsque la tâche de chargement initiale est terminée, dans l'onglet Statistiques du tableau :
| Administrateur AWS |
Vérifiez les résultats de la migration. | À l'aide de pgAdmin, interrogez la table sur la base de données cible. Une requête réussie indique que les données ont été migrées avec succès. | Developer |
Ajoutez des clés primaires et des clés étrangères dans la base de données cible. | Créez la clé primaire et la clé étrangère dans la base de données cible. Pour plus d'informations, consultez ALTER TABLE (site | DBA |
Nettoyez les données de test. | Dans les bases de données source et cible, nettoyez les données créées pour les tests unitaires. | Developer |
Tâche | Description | Compétences requises |
---|---|---|
Terminez la migration. | Répétez l'épopée précédente, testez les tâches de migration en utilisant les données source réelles. Cela permet de migrer les données de la base de données source vers la base de données cible. | Developer |
Vérifiez que les bases de données source et cible sont synchronisées. | Vérifiez que les bases de données source et cible sont synchronisées. Pour plus d'informations et d'instructions, consultez la section Validation des données AWS DMS. | Developer |
Arrêtez la base de données source. | Arrêtez la base de données Amazon RDS for Oracle. Pour obtenir des instructions, consultez Arrêter temporairement une instance de base de données Amazon RDS. Lorsque vous arrêtez la base de données source, le chargement initial et les tâches de réplication en cours dans AWS DMS sont automatiquement arrêtés. Aucune action supplémentaire n'est requise pour arrêter ces tâches. | Developer |
Ressources connexes
Références AWS
Autres références
Type de données booléen (documentation
PostgreSQL) Types de données intégrés
à Oracle (documentation Oracle) pgAdmin (site
Web de pgAdmin) Développeur SQL
(site Web Oracle)
Tutoriel et vidéos
Informations supplémentaires
Script de validation des données
Le script de validation des données suivant convertit 1 en Y et 0 en N. Cela permet à la tâche AWS DMS de mener à bien et de réussir la validation de la table.
{ "rule-type": "validation", "rule-id": "5", "rule-name": "5", "rule-target": "column", "object-locator": { "schema-name": "ADMIN", "table-name": "TEMP_CHRA_BOOL", "column-name": "GRADE" }, "rule-action": "override-validation-function", "target-function": "case grade when '1' then 'Y' else 'N' end" }
L'case
instruction du script effectue la validation. Si la validation échoue, AWS DMS insère un enregistrement dans la table public.awsdms_validation_failures_v1 de l'instance de base de données cible. Cet enregistrement inclut le nom de la table, l'heure de l'erreur et des détails sur les valeurs non concordantes dans les tables source et cible.
Si vous n'ajoutez pas ce script de validation des données à la tâche AWS DMS et que les données sont insérées dans la table cible, la tâche AWS DMS affiche l'état de validation sous la forme d'enregistrements incompatibles.
Lors de la conversion AWS SCT, la tâche de migration AWS DMS change le type de données VARCHAR2 (1) en type booléen et ajoute une contrainte de clé primaire sur la colonne. "NO"