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 d'Oracle 8i ou 9i vers Amazon RDS for PostgreSQL à l'aide de vues matérialisées et d'AWS DMS
Créée par Kumar Babu PG (AWS) et Pragnesh Patel (AWS)
Récapitulatif
Ce modèle décrit comment migrer une ancienne base de données Oracle 8i ou 9i sur site vers Amazon Relational Database Service (Amazon RDS) pour PostgreSQL ou Amazon Aurora PostgreSQL compatible Edition.
AWS Database Migration Service (AWS DMS) ne prend pas en charge Oracle 8i ou 9i en tant que source. Ce modèle utilise donc une instance de base de données Oracle intermédiaire compatible avec AWS DMS, telle qu'Oracle 10g ou 11g. Il utilise également la fonctionnalité de vues matérialisées pour migrer les données de l'instance Oracle 8i/9i source vers l'instance Oracle 10g/11g intermédiaire.
AWS Schema Conversion Tool (AWS SCT) convertit le schéma de base de données et AWS DMS migre les données vers la base de données PostgreSQL cible.
Ce modèle aide les utilisateurs qui souhaitent migrer à partir de bases de données Oracle existantes avec un temps d'arrêt minimal des bases de données. Dans cette implémentation, le temps d'arrêt serait limité au temps nécessaire pour créer ou valider toutes les clés étrangères, tous les déclencheurs et toutes les séquences sur la base de données cible.
Le modèle utilise des instances Amazon Elastic Compute Cloud (Amazon EC2) avec une base de données Oracle 10g/11g installée pour aider AWS DMS à diffuser les données. Vous pouvez suspendre temporairement la réplication en continu depuis la base de données Oracle sur site vers l'instance Oracle intermédiaire afin de permettre à AWS DMS de rattraper son retard en matière de validation des données ou d'utiliser un autre outil de validation des données. L'instance de base de données PostgreSQL et la base de données Oracle intermédiaire disposeront des mêmes données lorsque AWS DMS aura terminé la migration des modifications en cours.
Conditions préalables et limitations
Prérequis
Un compte AWS actif
Une base de données Oracle 8i ou 9i source dans un centre de données sur site
AWS Direct Connect configuré entre le centre de données sur site et AWS
Pilotes de connectivité de base de données Java (JDBC) pour les connecteurs AWS SCT installés soit sur une machine locale, soit sur l'instance EC2 où AWS SCT est installé
Connaissance de l'utilisation d'une base de données Oracle en tant que source AWS DMS
Connaissance de l'utilisation d'une base de données PostgreSQL en tant que cible AWS DMS
Limites
La limite de taille de base de données est de 64 To
Versions du produit
Oracle 8i ou 9i pour la base de données source
Oracle 10g ou 11g pour la base de données intermédiaire
PostgreSQL 10.17 ou version ultérieure
Architecture
Pile technologique source
Base de données Oracle 8i ou 9i
Pile technologique cible
Compatible avec Amazon RDS for PostgreSQL ou Aurora PostgreSQL
Architecture cible

Outils
AWS DMS permet de migrer les bases de données rapidement et en toute sécurité. La base de données source reste pleinement opérationnelle pendant la migration, minimisant ainsi les interruptions de service pour les applications qui dépendent de la base de données. AWS DMS peut migrer vos données vers et depuis les bases de données commerciales et open source les plus utilisées.
AWS SCT convertit automatiquement le schéma de base de données source et la majorité des objets du code de base de données, y compris les vues, les procédures stockées et les fonctions, dans un format compatible avec la base de données cible. Les objets qui ne peuvent pas être convertis automatiquement sont clairement marqués afin de pouvoir être convertis manuellement pour terminer la migration. AWS SCT peut également scanner le code source de votre application à la recherche d'instructions SQL intégrées et les convertir dans le cadre d'un projet de conversion de schéma de base de données. Au cours de ce processus, AWS SCT optimise le code natif du cloud en convertissant les anciennes fonctions Oracle et SQL Server en leurs équivalents AWS, afin de vous aider à moderniser vos applications lors de la migration de vos bases de données. Lorsque la conversion du schéma est terminée, AWS SCT peut aider à migrer les données de différents entrepôts de données vers Amazon Redshift en utilisant des agents de migration de données intégrés.
Bonnes pratiques
Pour connaître les meilleures pratiques relatives à l'actualisation des vues matérialisées, consultez la documentation Oracle suivante :
Épopées
Tâche | Description | Compétences requises |
---|---|---|
Configurez le réseau pour l' EC2 instance. | Créez le cloud privé virtuel (VPC), les sous-réseaux, la passerelle Internet, les tables de routage et les groupes de sécurité. | AWS SysAdmin |
Créez l' EC2 instance. | Sélectionnez l'Amazon Machine Image (AMI) pour l' EC2 instance. Choisissez la taille de l'instance et configurez les détails de l'instance : le nombre d'instances (1), le VPC et le sous-réseau de l'étape précédente, l'attribution automatique d'une adresse IP publique et d'autres options. Ajoutez du stockage, configurez les groupes de sécurité et lancez l'instance. Lorsque vous y êtes invité, créez et enregistrez une paire de clés pour l'étape suivante. | AWS SysAdmin |
Installez Oracle sur l' EC2 instance. | Procurez-vous les licences et les fichiers binaires Oracle requis, puis installez Oracle 10g ou 11g sur l'instance. EC2 | DBA |
Configurez le réseau Oracle. | Modifiez ou ajoutez des entrées | DBA |
Créez des vues matérialisées. | Identifiez les objets de base de données à répliquer dans la base de données Oracle 8i/9i source, puis créez des vues matérialisées pour tous les objets à l'aide du lien de base de données. | DBA |
Déployez des scripts pour actualiser les vues matérialisées aux intervalles requis. | Développez et déployez des scripts pour actualiser les vues matérialisées aux intervalles requis sur l'instance Amazon EC2 Oracle 10g/11g. Utilisez l'option d'actualisation incrémentielle pour actualiser les vues matérialisées. | DBA |
Tâche | Description | Compétences requises |
---|---|---|
Configurez AWS SCT. | Créez un nouveau rapport, puis connectez-vous à Oracle en tant que source et à PostgreSQL en tant que cible. Dans les paramètres du projet, ouvrez l'onglet SQL Scripting. Modifiez le script SQL cible en plusieurs fichiers. (AWS SCT ne prend pas en charge les bases de données Oracle 8i/9i. Vous devez donc restaurer le dump basé uniquement sur le schéma sur l'instance Oracle 10g/11g intermédiaire et l'utiliser comme source pour AWS SCT.) | DBA |
Convertissez le schéma de base de données Oracle. | Dans l'onglet Action, choisissez Générer le rapport, Convertir le schéma, puis Enregistrer en tant que SQL. | DBA |
Modifiez les scripts SQL. | Apportez des modifications conformément aux meilleures pratiques. Par exemple, passez aux types de données appropriés et développez des équivalents PostgreSQL pour les fonctions spécifiques à Oracle. | DBA, DevDBA |
Tâche | Description | Compétences requises |
---|---|---|
Créez l'instance de base de données Amazon RDS. | Dans la console Amazon RDS, créez une nouvelle instance de base de données PostgreSQL. | AWS SysAdmin, DBA |
Configurez l'instance de base de données. | Spécifiez la version du moteur de base de données, la classe d'instance de base de données, le déploiement multi-AZ, le type de stockage et le stockage alloué. Entrez l'identifiant de l'instance de base de données, un nom d'utilisateur principal et un mot de passe principal. | AWS SysAdmin, DBA |
Configurez le réseau et la sécurité. | Spécifiez le VPC, le groupe de sous-réseaux, l'accessibilité publique, la préférence de zone de disponibilité et les groupes de sécurité. | DBA, SysAdmin |
Configurer les options de base de données. | Spécifiez le nom de la base de données, le port, le groupe de paramètres, le chiffrement et la clé principale. | ADMINISTRATEUR DE BASES DE DONNÉES, AWS SysAdmin |
Configurez des sauvegardes. | Spécifiez la période de conservation des sauvegardes, la fenêtre de sauvegarde, l'heure de début, la durée et indiquez s'il faut copier les balises dans les instantanés. | AWS SysAdmin, DBA |
Configurez les options de surveillance. | Activez ou désactivez la surveillance améliorée et les informations sur les performances. | AWS SysAdmin, DBA |
Configurez les options de maintenance. | Spécifiez la mise à niveau automatique de la version mineure, la fenêtre de maintenance, ainsi que le jour, l'heure et la durée de début. | AWS SysAdmin, DBA |
Exécutez les scripts de pré-migration depuis AWS SCT. | Sur l'instance Amazon RDS for PostgreSQL cible, créez le schéma de base de données en utilisant les scripts SQL d'AWS SCT avec d'autres modifications. Cela peut inclure l'exécution de plusieurs scripts, notamment la création d'utilisateurs, la création de bases de données, la création de schémas, de tables, de vues, de fonctions et d'autres objets de code. | AWS SysAdmin, DBA |
Tâche | Description | Compétences requises |
---|---|---|
Créez une instance de réplication dans AWS DMS. | Renseignez les champs relatifs au nom, à la classe d'instance, au VPC (comme pour l' EC2 instance), au Multi-AZ et à l'accessibilité publique. Dans la section de configuration avancée, spécifiez le stockage alloué, le groupe de sous-réseaux, la zone de disponibilité, les groupes de sécurité VPC et la clé AWS Key Management Service (AWS KMS). | AWS SysAdmin, DBA |
Créez le point de terminaison de la base de données source. | Spécifiez le nom du point de terminaison, le type, le moteur source (Oracle), le nom du serveur (nom DNS privé de l' EC2 instance), le port, le mode SSL, le nom d'utilisateur, le mot de passe, le SID, le VPC (spécifiez le VPC qui possède l'instance de réplication) et l'instance de réplication. Pour tester la connexion, choisissez Run Test, puis créez le point de terminaison. Vous pouvez également configurer les paramètres avancés suivants : maxFileSizeet numberDataTypeScale. | AWS SysAdmin, DBA |
Connectez AWS DMS à Amazon RDS pour PostgreSQL. | Créez un groupe de sécurité de migration pour les connexions entre celles-ci VPCs, si votre base de données PostgreSQL se trouve dans un autre VPC. | AWS SysAdmin, DBA |
Créez le point de terminaison de base de données cible. | Spécifiez le nom du point de terminaison, le type, le moteur source (PostgreSQL), le nom du serveur (point de terminaison Amazon RDS), le port, le mode SSL, le nom d'utilisateur, le mot de passe, le nom de la base de données, le VPC (spécifiez le VPC qui possède l'instance de réplication) et l'instance de réplication. Pour tester la connexion, choisissez Run Test, puis créez le point de terminaison. Vous pouvez également configurer les paramètres avancés suivants : maxFileSizeet numberDataTypeScale. | AWS SysAdmin, DBA |
Créez la tâche de réplication AWS DMS. | Spécifiez le nom de la tâche, l'instance de réplication, les points de terminaison source et cible, ainsi que l'instance de réplication. Pour le type de migration, choisissez Migrer les données existantes et répliquer les modifications en cours. Désactivez la case à cocher Démarrer la tâche lors de la création. | AWS SysAdmin, DBA |
Configurez les paramètres des tâches de réplication AWS DMS. | Pour le mode de préparation de la table cible, choisissez Ne rien faire. Arrêtez la tâche une fois le chargement complet terminé (pour créer des clés primaires). Spécifiez le mode LOB limité ou complet et activez les tables de contrôle. Vous pouvez éventuellement configurer le paramètre CommitRateavancé. | DBA |
Configurez les mappages de tables. | Dans la section Mappages de tables, créez une règle d'inclusion pour toutes les tables de tous les schémas inclus dans la migration, puis créez une règle d'exclusion. Ajoutez trois règles de transformation pour convertir les noms de schéma, de table et de colonne en minuscules, et ajoutez toutes les autres règles dont vous avez besoin pour cette migration spécifique. | DBA |
Lancez la tâche. | Lancez la tâche de réplication. Assurez-vous que le chargement complet est en cours. Exécutez | DBA |
Exécutez les scripts de mi-migration depuis AWS SCT. | Dans Amazon RDS for PostgreSQL, exécutez les | DBA |
Reprenez la tâche pour continuer la saisie des données de modification (CDC). | Exécutez | DBA |
Tâche | Description | Compétences requises |
---|---|---|
Consultez les journaux et les tables de validation d'AWS DMS. | Vérifiez et corrigez les erreurs de réplication ou de validation. | DBA |
Arrêtez d'utiliser la base de données Oracle locale et ses dépendances. | Arrêtez toutes les dépendances Oracle, arrêtez les écouteurs de la base de données Oracle et exécutez | DBA |
Exécutez les scripts de post-migration depuis AWS SCT. | Dans Amazon RDS for PostgreSQL, exécutez les scripts suivants :. | DBA |
Effectuez les étapes supplémentaires relatives à Amazon RDS for PostgreSQL. | Incrémentez les séquences pour qu'elles correspondent à Oracle si nécessaire, | DBA |
Ouvrez les connexions à Amazon RDS for PostgreSQL. | Supprimez les groupes de sécurité AWS DMS d'Amazon RDS for PostgreSQL, ajoutez des groupes de sécurité de production et dirigez vos applications vers la nouvelle base de données. | DBA |
Nettoyez les objets AWS DMS. | Supprimez les points de terminaison, les tâches de réplication, les instances de réplication et l' EC2 instance. | SysAdmin, DBA |