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.
Migrer d'Amazon RDS for Oracle vers Amazon RDS for MySQL
Créée par Jitender Kumar (AWS), Neha Sharma (AWS) et Srini Ramaswamy (AWS)
Récapitulatif
Ce modèle fournit des conseils pour la migration d'une instance de base de données Amazon Relational Database Service (Amazon RDS) pour Oracle vers une instance de base de données Amazon RDS for MySQL sur Amazon Web Services (AWS). Le modèle utilise AWS Database Migration Service (AWS DMS) et AWS Schema Conversion Tool (AWS SCT).
Le modèle fournit les meilleures pratiques pour gérer la migration des procédures stockées. Il couvre également et modifie le code pour prendre en charge la couche d'application.
Conditions préalables et limitations
Prérequis
Un compte AWS actif.
Une base de données source Amazon RDS for Oracle.
Une base de données cible Amazon RDS for MySQL. Les bases de données source et cible doivent se trouver dans le même cloud privé virtuel (VPC). Si vous en utilisez plusieurs VPCs, ou si vous devez disposer des autorisations d'accès requises.
Groupes de sécurité qui permettent la connectivité entre les bases de données source et cible, AWS SCT, le serveur d'applications et AWS DMS.
Un compte utilisateur doté des privilèges requis pour exécuter AWS SCT sur la base de données source.
La journalisation supplémentaire est activée pour exécuter AWS DMS sur la base de données source.
Limites
La limite de taille des bases de données Amazon RDS source et cible est de 64 To. Pour obtenir des informations sur la taille d'Amazon RDS, consultez la documentation AWS.
Oracle ne fait pas la distinction majuscules/majuscules pour les objets de base de données, mais pas MySQL. AWS SCT peut gérer ce problème lors de la création d'un objet. Cependant, un certain travail manuel est nécessaire pour pallier l'indifférence totale entre majuscules et minuscules.
Cette migration n'utilise pas les extensions MySQL pour activer les fonctions natives d'Oracle. AWS SCT gère la majeure partie de la conversion, mais certains travaux sont nécessaires pour modifier le code manuellement.
Les modifications du pilote Java Database Connectivity (JDBC) sont requises dans l'application.
Versions du produit
Amazon RDS pour Oracle 12.2.0.1 et versions ultérieures. Pour connaître les versions RDS pour Oracle actuellement prises en charge, consultez la documentation AWS.
Amazon RDS for MySQL 8.0.15 et versions ultérieures. Pour connaître les versions de RDS pour MySQL actuellement prises en charge, consultez la documentation AWS.
AWS DMS version 3.3.0 et versions ultérieures. Consultez la documentation AWS pour plus d'informations sur les points de terminaison source et les points de terminaison cibles pris en charge par AWS DMS.
AWS SCT version 1.0.628 et versions ultérieures. Consultez la matrice de prise en charge des points de terminaison source et cible AWS SCT dans la documentation AWS.
Architecture
Pile technologique source
Amazon RDS pour Oracle. Pour plus d'informations, consultez la section Utilisation d'une base de données Oracle comme source pour AWS DMS.
Pile technologique cible
Amazon RDS pour MySQL. Pour plus d'informations, consultez la section Utilisation d'une base de données compatible MySQL comme cible pour AWS DMS.
Architecture de migration
Dans le schéma suivant, AWS SCT copie et convertit des objets de schéma depuis la base de données source Amazon RDS for Oracle et envoie les objets vers la base de données cible Amazon RDS for MySQL. AWS DMS réplique les données de la base de données source et les envoie à l'instance Amazon RDS for MySQL.

Outils
AWS Data Migration Service 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) vous aide à configurer, exploiter et dimensionner une base de données relationnelle dans le cloud AWS. Ce modèle utilise Amazon RDS pour Oracle et Amazon RDS pour MySQL.
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.
Épopées
Tâche | Description | Compétences requises |
---|---|---|
Validez les versions et les moteurs de base de données source et cible. | DBA | |
Identifiez la configuration matérielle requise pour l'instance de serveur cible. | DBA, SysAdmin | |
Identifiez les exigences de stockage (type et capacité de stockage). | DBA, SysAdmin | |
Choisissez le type d'instance approprié (capacité, fonctionnalités de stockage, fonctionnalités réseau). | DBA, SysAdmin | |
Identifiez les exigences de sécurité d'accès au réseau pour les bases de données source et cible. | DBA, SysAdmin | |
Choisissez une stratégie de migration d'applications. | Déterminez si vous souhaitez un temps d'arrêt complet ou partiel pour les activités de transition. | DBA, propriétaire de SysAdmin l'application |
Tâche | Description | Compétences requises |
---|---|---|
Créez un VPC et des sous-réseaux. | SysAdmin | |
Créez des groupes de sécurité et des listes de contrôle d'accès au réseau (ACLs). | SysAdmin | |
Configurez et démarrez l'instance Amazon RDS for Oracle. | DBA, SysAdmin | |
Configurez et démarrez l'instance Amazon RDS for MySQL. | DBA, SysAdmin | |
Préparez un scénario de test pour la validation de la conversion de code. | Cela facilitera les tests unitaires pour le code converti. | DBA, Développeur |
Configurez l'instance AWS DMS. | ||
Configurez les points de terminaison source et cible dans AWS DMS. |
Tâche | Description | Compétences requises |
---|---|---|
Générez le script de base de données cible à l'aide d'AWS SCT. | Vérifiez l'exactitude du code converti par AWS SCT. Certains travaux manuels seront nécessaires. | DBA, Développeur |
Dans AWS SCT, choisissez le paramètre « Insensible aux majuscules et minuscules ». | Dans AWS SCT, choisissez Paramètres du projet, Target Case Sensibility, Case Insensitive. | DBA, Développeur |
Dans AWS SCT, choisissez de ne pas utiliser la fonction native d'Oracle. | Dans les paramètres du projet, cochez les fonctions TO_ CHAR/TO_NUMBER/TO _DATE. | DBA, Développeur |
Modifiez le code « sql%notfound ». | Vous devrez peut-être convertir le code manuellement. | |
Interrogez les tables et les objets dans les procédures stockées (utilisez des requêtes en minuscules). | DBA, Développeur | |
Créez le script principal une fois que toutes les modifications ont été apportées, puis déployez le script principal sur la base de données cible. | DBA, Développeur | |
Testez les procédures stockées et les appels d'application unitaires à l'aide d'échantillons de données. | ||
Nettoyez les données créées lors des tests unitaires. | DBA, Développeur | |
Supprimez les contraintes liées aux clés étrangères sur la base de données cible. | Cette étape est nécessaire pour charger les données initiales. Si vous ne souhaitez pas supprimer les contraintes liées aux clés étrangères, vous devez créer une tâche de migration pour les données spécifiques aux tables principale et secondaire. | DBA, Développeur |
Supprimez les clés primaires et les clés uniques dans la base de données cible. | Cette étape permet d'obtenir de meilleures performances pour le chargement initial. | DBA, Développeur |
Activez la journalisation supplémentaire sur la base de données source. | DBA | |
Créez une tâche de migration pour le chargement initial dans AWS DMS, puis exécutez-la. | Choisissez l'option permettant de migrer les données existantes. | DBA |
Ajoutez les clés primaires et les clés étrangères à la base de données cible. | Les contraintes doivent être ajoutées après le chargement initial. | DBA, Développeur |
Créez une tâche de migration pour une réplication continue. | La réplication continue permet de synchroniser la base de données cible avec la base de données source. | DBA |
Tâche | Description | Compétences requises |
---|---|---|
Remplacez les fonctions natives d'Oracle par des fonctions natives de MySQL. | Propriétaire de l'application | |
Assurez-vous que seuls les noms en minuscules sont utilisés pour les objets de base de données dans les requêtes SQL. | DBA, propriétaire de SysAdmin l'application |
Tâche | Description | Compétences requises |
---|---|---|
Arrêtez le serveur d'applications. | Propriétaire de l'application | |
Vérifiez que les bases de données source et cible sont synchronisées. | DBA, propriétaire de l'application | |
Arrêtez l'instance de base de données Amazon RDS for Oracle. | DBA | |
Arrêtez la tâche de migration. | Cela s'arrêtera automatiquement une fois que vous aurez terminé l'étape précédente. | DBA |
Changez la connexion JDBC d'Oracle à MySQL. | Propriétaire de l'application, DBA | |
Lancez l'application. | DBA, propriétaire de SysAdmin l'application |
Tâche | Description | Compétences requises |
---|---|---|
Passez en revue et validez les documents du projet. | DBA, SysAdmin | |
Collectez des indicateurs sur le temps de migration, le pourcentage de tâches manuelles par rapport aux tâches liées aux outils, les économies de coûts, etc. | DBA, SysAdmin | |
Arrêtez et supprimez les instances AWS DMS. | DBA | |
Supprimez les points de terminaison source et cible. | DBA | |
Supprimez les tâches de migration. | DBA | |
Prenez un instantané de l'instance de base de données Amazon RDS for Oracle. | DBA | |
Supprimez l'instance de base de données Amazon RDS for Oracle. | DBA | |
Arrêtez et supprimez toutes les autres ressources AWS temporaires que vous avez utilisées. | DBA, SysAdmin | |
Clôturez le projet et faites part de vos commentaires. | DBA |
Ressources connexes
Getting Started with Amazon RDS
(Démarrer avec Amazon RDS)