Migrez progressivement d'Amazon RDS pour Oracle vers Amazon RDS pour Postgre à l'SQLaide d'Oracle SQL Developer et AWS SCT - Recommandations AWS

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.

Migrez progressivement d'Amazon RDS pour Oracle vers Amazon RDS pour Postgre à l'SQLaide d'Oracle SQL Developer et AWS SCT

Créée par Pinesh Singal () AWS

Environnement : PoC ou pilote

Source : Amazon RDS pour Oracle

Cible : Amazon RDS pour Postgrer SQL

Type R : Ré-architecte

Charge de travail : Oracle

Technologies : migration, bases de données, modernisation

AWSservices : Amazon EC2 ; Amazon RDS

Récapitulatif

De nombreuses stratégies et approches de migration se déroulent en plusieurs phases qui peuvent durer de quelques semaines à plusieurs mois. Pendant ce temps, vous pouvez rencontrer des retards en raison de l'application de correctifs ou de mises à niveau dans les instances de base de données Oracle source que vous souhaitez migrer vers des instances de SQL base de données Postgre. Pour éviter cette situation, nous vous recommandons de migrer progressivement le code de base de données Oracle restant vers le code de base de SQL données Postgre.

Ce modèle fournit une stratégie de migration incrémentielle sans interruption pour une instance de base de données Oracle de plusieurs téraoctets qui a un grand nombre de transactions effectuées après votre migration initiale et qui doit être migrée vers une base de données Postgre. SQL Vous pouvez utiliser l' step-by-stepapproche de ce modèle pour migrer progressivement une instance de base de données Amazon Relational Database Service (RDSAmazon) pour Oracle vers une instance de base de données RDS Amazon pour SQL Postgre sans vous connecter à la console de gestion Amazon Web Services AWS ().

Le modèle utilise Oracle SQL Developer pour trouver les différences entre deux schémas dans la base de données Oracle source. Vous utilisez ensuite AWS Schema Conversion Tool (AWSSCT) pour convertir les objets de schéma de base de données Amazon RDS for Oracle en objets de schéma de SQL base de données Amazon RDS for Postgre. Vous pouvez ensuite exécuter un script Python dans l'invite de commande Windows afin de créer AWS SCT des objets pour les modifications incrémentielles apportées aux objets de la base de données source.

Remarque : Avant de migrer vos charges de travail de production, nous vous recommandons d'exécuter une validation de principe (PoC) pour l'approche de ce modèle dans un environnement de test ou hors production.

Conditions préalables et limitations

Prérequis

  • Un compte AWS actif.

  • Une instance de base de données Amazon RDS pour Oracle existante. 

  • Une SQL instance de base de données Amazon RDS pour Postgre existante.

  • AWSSCT, installé et configuré avec des JDBC pilotes pour les moteurs de SQL base de données Oracle et Postgre. Pour plus d'informations à ce sujet, consultez la section Installation AWS SCT et installation des pilotes de base de données requis dans la AWS SCT documentation. 

  • Oracle SQL Developer, installé et configuré. Pour plus d'informations à ce sujet, consultez la documentation Oracle SQL Developer

  • Le incremental-migration-sct-sql.zip fichier (joint), téléchargé sur votre ordinateur local.

Limites

  • Les exigences minimales pour votre instance de base de données Amazon RDS pour Oracle source sont les suivantes :

    • Oracle versions 10.2 et ultérieures (pour les versions 10.x), 11g (versions 11.2.0.3.v1 et ultérieures) et jusqu'à 12.2, et 18c pour les éditions Enterprise, Standard, Standard One et Standard Two

  • Les exigences minimales pour votre SQL instance de base de données Amazon RDS pour Postgre cible sont les suivantes :  

    • SQLVersions 9.4 et ultérieures de Postgre (pour les versions 9.x), 10.x et 11.x

  • Ce modèle utilise Oracle SQL Developer. Vos résultats peuvent varier si vous utilisez d'autres outils pour rechercher et exporter les différences de schéma.

  • Les SQLscripts générés par Oracle SQL Developer peuvent provoquer des erreurs de transformation, ce qui signifie que vous devez effectuer une migration manuelle.

  • Si les connexions de test AWS SCT source et cible échouent, assurez-vous de configurer les versions du JDBC pilote et les règles entrantes pour que le groupe de sécurité du cloud privé virtuel (VPC) accepte le trafic entrant.

Versions du produit

  • Instance de base de données Amazon RDS pour Oracle version 12.1.0.2 (version 10.2 et versions ultérieures)

  • Instance de SQL base de données Amazon RDS pour Postgre version 11.5 (version 9.4 et versions ultérieures)

  • Oracle SQL Developer version 19.1 et versions ultérieures

  • AWSSCTversion 1.0.632 et versions ultérieures

Architecture

Pile technologique source

  • Instance RDS de base de données Amazon pour Oracle

Pile technologique cible

  • Instance de base de données Amazon RDS pour SQL Postgre

Architecture source et cible

Le schéma suivant montre la migration d'une instance de base de données Amazon RDS pour Oracle vers une instance de base de SQL données Amazon RDS pour Postgre.

Flux de travail de migration d'Amazon RDS pour Oracle vers Amazon RDS pour PostgreSQL.

Le schéma montre le flux de travail de migration suivant :

  1. Ouvrez Oracle SQL Developer et connectez-vous aux bases de données source et cible.

  2. Générez un rapport de comparaison, puis générez le fichier de SQL scripts pour les objets de différence de schéma. Pour plus d'informations sur les rapports de différence, consultez la section Rapports de différence détaillés dans la documentation Oracle.

  3. Configurez AWS SCT et exécutez le code Python.

  4. Le fichier de SQL scripts est converti d'Oracle en PostgreSQL.

  5. Exécutez le fichier de SQL scripts sur l'SQLinstance de base de données Postgre cible. 

Automatisation et mise à l'échelle

Vous pouvez automatiser cette migration en ajoutant des paramètres supplémentaires et des modifications liées à la sécurité pour plusieurs fonctionnalités dans un seul programme à votre script Python.

Outils

  • AWSSCT— AWS Schema Conversion Tool (AWSSCT) convertit votre schéma de base de données existant d'un moteur de base de données à un autre.

  • Oracle SQL Developer — Oracle SQL Developer est un environnement de développement intégré (IDE) 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.

Code

Le incremental-migration-sct-sql.zip fichier (joint) contient le code source complet de ce modèle.

Épopées

TâcheDescriptionCompétences requises

Exécutez Database Diff dans Oracle SQL Developer.

  1. Connectez-vous à votre instance de base de données Oracle source, choisissez Tools, puis Database Diff.

  2. Choisissez votre base de données source dans Source Connection.

  3. Choisissez la base de données source mise à jour ou corrigée dans Destination Connection.

  4. Configurez les options restantes en fonction de vos besoins, choisissez Next, puis Finish pour générer le rapport de comparaison.

DBA

Générez le fichier de SQL scripts.

Choisissez Generate Script pour générer les différences entre les SQL fichiers. 

Cela génère le fichier de SQL scripts qui permet AWS SCT de convertir votre base de données d'Oracle en PostgreSQL.

DBA
TâcheDescriptionCompétences requises

Configurez AWS SCT à l'aide de l'invite de commande Windows.

  1. Copiez le AWSSchemaConversionToolBatch.jar fichier depuis votre AWS SCT dossier préinstallé et collez-le dans votre répertoire de travail.

  2. Déployez le code Python à partir du run_aws_sct_sql.py fichier contenu incremental-migration-sct-sql.zip dans le dossier (joint). Cela crée des fichiers .xml et .sct dans le projects répertoire contenant les détails de configuration de votre environnement de base de données source et cible. Il lit également le fichier de SQL scripts que vous avez généré dans Oracle SQL Developer. Enfin, il crée des objets de fichier .sql dans le output répertoire.

  3. Configurez les détails de configuration de l'environnement source et cible dans le database_migration.txt fichier en utilisant le format suivant :

#source_vendor,source_hostname,source_dbname,source_user,source_pwd,source_schema,source_port,source_sid,target_vendor,target_hostname,target_user,target_pwd,target_dbname,target_port ORACLE,myoracledb.cokmvis0v46q.us-east-1.rds.amazonaws.com,ORCL,orcl,orcl1234,orcl,1521,ORCL,POSTGRESQL,mypgdbinstance.cokmvis0v46q.us-east-1.rds.amazonaws.com,pguser,pgpassword,pgdb,5432

4. Modifiez les paramètres AWS SCT de configuration en fonction de vos besoins, puis copiez le fichier de SQL scripts dans le input sous-répertoire de votre répertoire de travail.

DBA

Exécutez le script python.

  1. Exécutez le script Python à l'aide de la commande suivante : $ python run_aws_sct_sql.py database_migration.txt

  2. Cela crée le SQL fichier d'objets de base de données. Les codes non convertis présentant des erreurs de transformation peuvent être convertis manuellement.

DBA

Créez les objets dans Amazon RDS pour Postgre SQL

Exécutez les SQL fichiers et créez des objets dans votre SQL instance de base de données Amazon RDS pour Postgre.

DBA

Ressources connexes

Pièces jointes

Pour accéder au contenu supplémentaire associé à ce document, décompressez le fichier suivant : attachment.zip