AWS Database Migration Service (DMS) est un service permettant de migrer des bases de données sur AWS dans lequel la base de données source pourrait être :
- Une base de données sur AWS (EC2,RDS)
- Une base de données locale
- Une base de données sur une autre plate-forme cloud telle qu'Oracle Cloud Platform
La base de données cible pourrait être :
- Une base de données sur AWS (EC2, RDS, Redshift, DynamoDB)
- Une base de données locale
- Une base de données sur une autre plate-forme Cloud, telle qu'Oracle Cloud Platform
Au moins une des deux bases de données, source et cible, doit se trouver sur AWS. Par exemple, DMS ne peut pas être utilisé pour migrer une base de données locale vers la plate-forme Google Cloud. Dans deux articles, nous discutons de la migration d'une base de données Oracle vers une base de données MySQL avec Database Migration Service. Dans un article précédent, « Migration d'une base de données Oracle vers MySQL sur AWS, partie 1 », nous avons discuté de la configuration des bases de données source et cible. Dans cet article de suite, nous allons effectuer la migration. Cet article comporte les sections suivantes :
- Création d'une migration
- Exécution de la migration
- Interrogation du schéma de base de données migré
- Redémarrer une migration
- Modifier une migration
- Conclusion
Création d'une migration
Dans cette section, nous allons créer une migration DMS pour migrer l'instance de base de données Oracle sur RDS vers l'instance de base de données MySQL sur RDS. Connectez-vous en tant qu'utilisateur IAM (dvohra ou autre) créé précédemment. Sélectionnez le DMS service dans la console AWS, comme illustré à la figure 1.
Figure 1 : Service DMS dans la console AWS
Cliquez sur Créer une migration , comme illustré à la figure 2.
Figure 2 : Créer une migration
L'assistant AWS Database Migration Service démarre, comme illustré à la figure 3. Cliquez sur Suivant dans la page d'accueil.
Figure 3 : Assistant AWS Database Migration Service
Ensuite, le Créer une instance de réplication La page s'affiche, comme le montre la figure 4.
Figure 4 : Créer une instance de réplication
Spécifiez un nom d'instance de réplication ou conservez le paramètre par défaut, comme illustré à la figure 5. Sélectionnez une classe d'instance ou conservez le paramètre par défaut. Sélectionnez un VPC car aucun VPC par défaut n'est configuré. Sélectionnez Multi-AZ comme Non pour utiliser une seule zone de disponibilité. Sélectionnez Accessible au public option.
Figure 5 : Configuration de l'instance de réplication
Dans Avancé paramètres, les paramètres par défaut pour le stockage alloué, le groupe de sous-réseau répliqué et la zone de disponibilité sont illustrés à la figure 6.
Figure 6 : Paramètres avancés
Sélectionnez la clé principale KMS comme clé de chiffrement (dms ) créé précédemment, comme illustré à la figure 7. Cliquez sur Suivant.
Figure 7 : Sélection de la clé principale KMS
Ensuite, configurez les points de terminaison de la base de données pour vous connecter aux points de terminaison de la base de données source et cible, comme illustré à la figure 8. Les points de terminaison de la base de données peuvent être spécifiés lors de la création de l'instance de réplication. Les points de terminaison source et cible sont configurés dans des colonnes distinctes intitulées Détails de connexion à la base de données source et Détails de connexion à la base de données cible.
Figure 8 : Points de terminaison de la base de données
Sélectionnez le moteur source dans la liste déroulante en tant que oracle , comme illustré à la figure 9.
Figure 9 : Moteur source
Sélectionnez le moteur cible dans la liste déroulante en tant que mysql , comme illustré à la Figure 10.
Figure 10 : Sélection du moteur cible
Pour le nom du serveur s, spécifiez les points de terminaison pour les instances de base de données, comme indiqué sur la console RDS en supprimant le suffixe :port. Le nom du serveur pour la base de données Oracle est orcl.crbmlbxmp8qi.us-east-1.rds.amazonaws.com et le nom du serveur pour la base de données MySQL est mysqldb.crbmlbxmp8qi.us-east-1.rds.amazonaws.com . Le port est spécifié séparément dans le Port champ et est 1521 pour la base de données Oracle et 3306 pour la base de données MySQL. Sélectionnez le mode SSL comme aucun pour les bases de données source et cible. Spécifiez le nom d'utilisateur et le mot de passe en tant que nom d'utilisateur principal et mot de passe principal configurés lors de la création des instances RDS. Les détails de la connexion source et cible sont illustrés à la figure 11.
Figure 11 : Détails de connexion source et cible
Faites défiler vers le bas pour les paramètres avancés de connexion. Pour la base de données Oracle, spécifiez le SID, comme illustré à la figure 12. Pour la base de données MySQL, définissez les attributs de connexion supplémentaires à targetDbType=SPECIFIC_DATABASE . La clé principale KMS doit être la clé de chiffrement (dms) créée en tant qu'utilisateur IAM (dvohra) pour DMS.
Figure 12 : Paramètres avancés de connexion
Cliquez sur Exécuter le test pour chacune des bases de données pour tester la connexion. Le résultat doit être Connexion testée avec succès, comme illustré à la Figure 13.
Figure 13 : Exécuter le test
Ensuite, une tâche de migration doit être configurée, avant laquelle l'instance de réplication doit avoir été créée, comme illustré à la figure 14.
Figure 14 : Instance de réplication créée
Après avoir configuré les points de terminaison de la base de données, cliquez sur Suivant, comme illustré à la figure 15.
Figure 15 : Points de terminaison de base de données configurés
Dans Tâche, au moins une règle de sélection doit être configurée ou une tâche n'est pas créée, comme indiqué par le message d'erreur lorsque Créer une tâche est cliqué (voir Figure 16).
Figure 16 : Au moins une règle de sélection est requise
Cliquez sur ajouter une règle de sélection lien illustré à la Figure 16. Dans le détail de la règle de sélection, configurez un Où règle de sélection. Sélectionnez Schéma comme DVOHRA (le schéma serait différent pour différents utilisateurs) et spécifiez Le nom de la table est comme comme % . En action , les objets peuvent être inclus ou exclus en sélectionnant Inclure ou Exclure . Les exclusions sont traitées après les inclusions. Sélectionnez Action comme Inclure. Des filtres de source pour limiter le nombre et le type d'enregistrements transférés de la source à la cible peuvent être ajoutés. Cliquez sur Ajouter une règle de sélection , comme illustré à la figure 17. Ensuite, cliquez sur Créer une tâche .
Figure 17 : Ajouter une règle de sélection
Une nouvelle tâche est ajoutée, comme illustré à la figure 18. Initialement, l'état de la tâche est "Création".
Figure 18 : Nouvelle tâche
Lorsque la tâche est créée, le statut devient Prêt , comme illustré à la Figure 19.
Figure 19 : Statut de la tâche comme Prêt
Exécution de la migration
Pour exécuter la migration, cliquez sur Démarrer/Reprendre , comme illustré à la Figure 20.
Figure 20 : Démarrer/Reprendre
Le statut doit devenir Starting (voir Figure 21).
Figure 21 : Démarrage de la tâche
Après le démarrage, le statut devient En cours d'exécution . Une fois la migration terminée, le statut devient Chargement terminé , comme illustré à la Figure 22.
Figure 22 : Chargement terminé
Les statistiques du tableau L'onglet doit répertorier les tables migrées, comme illustré à la figure 23.
Figure 23 : Statistiques du tableau
Interrogation du schéma de base de données migré
Dans la CLI MySQL, répertoriez les bases de données avec la commande show databases, comme illustré à la Figure 24. Le DVOHRA la base de données (schéma) est répertoriée.
Figure 24 : Liste des bases de données
Sélectionnez le DVOHRA base de données avec utiliser DVOHRA commande. Répertoriez les tables avec la commande show tables, comme illustré à la Figure 25. Le WEBLOGICLOG et WLSLOG les tables créées précédemment dans la base de données Oracle ont été migrées et répertoriées.
Figure 25 : Tableaux de liste
La table est également migrée. Le WEBLOGICLOG la table ne contient aucune donnée et aucune n'est renvoyée dans une requête SQL (voir Figure 26).
Figure 26 : La requête SQL sur WEBLOGLOG ne répertorie aucune donnée
La table WLSLOG migrée inclut des données, comme illustré par un résultat de requête dans la Figure 27.
Figure 27 : Les données de la table WLSLOG sont migrées
Redémarrer une migration
Par défaut, la migration n'interroge pas activement la base de données source pour migrer les modifications, le cas échéant. Si des modifications sont apportées à la base de données source, telles que l'ajout de données à une table ou la création d'une nouvelle table, la migration doit être exécutée à nouveau. Par exemple, ajoutez des données au weblogiclog table dans la base de données Oracle.
INSERT INTO weblogiclog(time_stamp,category,type,servername, code,msg) VALUES('Apr-8-2014-7:06:16-PM-PDT','Notice', 'WebLogicServer','AdminServer','BEA-000365','Server state changed to STANDBY'); INSERT INTO weblogiclog(time_stamp,category,type,servername, code,msg) VALUES('Apr-8-2014-7:06:17-PM-PDT','Notice', 'WebLogicServer','AdminServer','BEA-000365','Server state changed to STARTING'); INSERT INTO weblogiclog(time_stamp,category,type,servername, code,msg) VALUES('Apr-8-2014-7:06:18-PM-PDT','Notice', 'WebLogicServer','AdminServer','BEA-000365','Server state changed to ADMIN'); INSERT INTO weblogiclog(time_stamp,category,type,servername, code,msg) VALUES('Apr-8-2014-7:06:19-PM-PDT','Notice', 'WebLogicServer','AdminServer','BEA-000365','Server state changed to RESUMING'); INSERT INTO weblogiclog(time_stamp,category,type,servername, code,msg) VALUES('Apr-8-2014-7:06:20-PM-PDT','Notice', 'WebLogicServer','AdminServer','BEA-000361','Started WebLogic AdminServer'); INSERT INTO weblogiclog(time_stamp,category,type,servername, code,msg) VALUES('Apr-8-2014-7:06:21-PM-PDT','Notice', 'WebLogicServer','AdminServer','BEA-000365','Server state changed to RUNNING'); INSERT INTO weblogiclog(time_stamp,category,type,servername, code,msg) VALUES('Apr-8-2014-7:06:22-PM-PDT','Notice', 'WebLogicServer','AdminServer','BEA-000360','Server started in RUNNING mode');
Pour migrer les données ajoutées à MySQL, cliquez sur Démarrer/Reprendre , comme illustré à la Figure 28.
Figure 28 : Redémarrer une migration
Dans le Démarrer la tâche boîte de dialogue, deux options sont proposées :Démarrer et Redémarrer , comme illustré à la Figure 29. Le bouton Démarrer charge uniquement les nouvelles tables (chargement complet) et les tables qui étaient incomplètes (chargements partiels) lors d'une précédente exécution de la tâche.
Figure 29 : Démarrer la tâche
Parce que le WEBLOGICLOG la table a déjà été migrée (le chargement complet est terminé) et de nouvelles données doivent être migrées, le bouton Redémarrer l'option doit être sélectionnée, comme illustré à la Figure 30.
Figure 30 : Redémarrer une migration
Le statut de la tâche redevient Démarrage suivi de En cours d'exécution (voir Figure 31).
Figure 31 : État de la tâche en cours d'exécution
Une fois l'exécution de la tâche terminée, le statut devient Chargement terminé , comme illustré à la Figure 32.
Figure 32 : Chargement terminé
Interroger le WEBLOGICLOG données dans MySQL CLI et les données migrées sont répertoriées, comme illustré à la Figure 33.
Figure 33 : Données migrées lors du redémarrage de la tâche
Modifier une migration
Une tâche de migration peut devoir être modifiée, par exemple pour ajouter/supprimer une règle de sélection ou modifier l'un des autres paramètres de la tâche. Une tâche peut être modifiée lorsqu'elle n'est pas en cours d'exécution et que l'état est Chargement terminé. Cliquez sur Modifier pour modifier une tâche, comme illustré à la Figure 34.
Figure 34 : Modifier
La Modifier la tâche dialogue démarre. Bien que différents types de migration s sont répertoriés, comme illustré à la Figure 35, le type de migration ne peut pas être modifié pour le moment. Le paramètre par défaut est "Migrer les données existantes".
Figure 35 : Modifier la tâche
Les Paramètres de tâche illustré à la Figure 36 peut être modifié. Cliquez sur Paramètres avancés pour modifier les paramètres avancés.
Figure 36 : Paramètres de tâche
Dans les paramètres avancés, le tableau de contrôle les paramètres peuvent être modifiés, comme illustré à la Figure 37.
Figure 37 : Paramètres de la table de contrôle
Les Paramètres de réglage peut être modifié, comme illustré à la Figure 38.
Figure 38 : Paramètres de réglage
Pour ajouter une règle de transformation, cliquez sur ajouter une règle de transformation , comme illustré à la Figure 39.
Figure 39 : Ajouter une règle de transformation
Dans Règles de transformation , sélectionnez la Cible pour la transformation en Table , comme illustré à la Figure 40. Sélectionnez Le nom du schéma est comme DVOHRA. Spécifiez Le nom de la table est comme comme % . Sélectionnez Action comme Ajouter un préfixe , à titre d'exemple.
Figure 40 : Ajout de règles de transformation
Spécifiez le préfixe de table à ajouter à chaque table migrée (voir Figure 41). Cliquez sur Ajouter une règle de transformation .
Figure 41 : Ajouter une règle de transformation
Cliquez sur Modifier , comme illustré à la Figure 42.
Figure 42 : Modifier
Dans Démarrer la tâche , sélectionnez Redémarrer et cliquez sur Démarrer la tâche , comme illustré à la Figure 43.
Figure 43 : Démarrer la tâche
Le statut de la tâche devient Modification , comme illustré à la Figure 44.
Figure 44 : Modification
L'état de la tâche peut être actualisé avec le bouton d'actualisation. Le statut devient En cours d'exécution , comme illustré à la Figure 45.
Figure 45 : Tâche en cours
Une fois l'exécution de la tâche terminée, le statut devient Chargement terminé (voir Figure 46).
Figure 46 : Chargement terminé
Par la suite, listez les tables dans MySQL. Les nouvelles tables avec un préfixe sont répertoriées, comme illustré à la Figure 47.
Figure 47 : Tableaux avec préfixe
Conclusion
Dans deux articles, nous avons discuté de la migration d'une base de données Oracle sur RDS vers une base de données MySQL sur RDS à l'aide du service AWS Database Migration.