Utilisez Data Transmission Service (DTS) pour migrer les données d'une base de données Oracle auto-gérée vers PolarDB for MySQL. DTS prend en charge la migration de schéma, la migration complète des données et la migration incrémentielle des données. Vous pouvez combiner ces options pour effectuer une migration transparente avec un temps d'arrêt minimal de vos applications.
Prérequis
-
Une base de données source Oracle auto-gérée et un cluster de destination PolarDB for MySQL ont été créés.
RemarquePour créer un cluster de destination PolarDB for MySQL, consultez les rubriques Achat personnalisé et Acheter un cluster par abonnement.
Pour connaître les versions prises en charge pour la base de données source et le cluster de destination, consultez la rubrique Présentation des solutions de migration.
Vous avez activé le mode ARCHIVELOG pour la base de données Oracle auto-gérée, défini une période de rétention appropriée pour les fichiers journaux archivés et vérifié que ces fichiers sont accessibles. Pour plus d'informations, consultez la documentation ARCHIVELOG.
Vous avez activé la journalisation supplémentaire (supplemental logging) pour la base de données Oracle auto-gérée et défini les paramètres
supplemental_log_data_pketsupplemental_log_data_uisur YES. Pour plus d'informations, consultez la documentation Supplemental Logging.Le cluster PolarDB for MySQL doit disposer d'un espace de stockage supérieur à celui utilisé par la base de données Oracle auto-gérée.
Avant d'effectuer une migration de données, nous vous recommandons de comprendre les fonctionnalités et les limites de DTS pour les sources Oracle et d'utiliser ADAM pour évaluer la base de données. Cela garantit une migration cloud fluide. Pour plus d'informations, consultez les rubriques Limites et préparations pour les bases de données Oracle et Présentation de l'évaluation de base de données.
Précautions
DTS migre les clés étrangères lors de la migration de schéma.
Lors des migrations complète et incrémentielle des données, DTS désactive temporairement les vérifications de contraintes et les cascades de clés étrangères au niveau de la session. Les mises à jour ou suppressions en cascade sur la base de données source pendant l'exécution de la tâche peuvent entraîner une incohérence des données.
|
Type |
Description |
|
Limites de la base de données source |
|
|
Autres limitations |
|
|
Cas particuliers |
Lorsque la base de données de destination est PolarDB for MySQL :
|
Facturation
|
Type de migration |
Frais de configuration de l'instance |
Frais de trafic Internet |
|
Migration de schéma et migration complète des données |
Gratuit. |
Lorsque le paramètre Access Method de la base de données de destination est défini sur Public IP Address, des frais de trafic Internet vous sont facturés. Pour plus d'informations, consultez la rubrique Présentation de la facturation. |
|
Migration incrémentielle des données |
Facturé. Pour plus d'informations, consultez la rubrique Présentation de la facturation. |
Types de migration
|
Type |
Description |
|
Migration de schéma |
DTS migre les définitions de schéma des objets sélectionnés vers la base de données de destination. DTS prend en charge la migration de schéma pour les tables et les index, avec les limitations suivantes :
Remarque
DTS ne prend pas en charge la migration de schéma pour les vues, les synonymes, les procédures stockées, les fonctions, les packages ou les types définis par l'utilisateur. Avertissement
Il s'agit d'une migration de base de données hétérogène. Lors de la migration de schéma, les types de données peuvent ne pas correspondre parfaitement entre les bases de données source et de destination. Évaluez l'impact des mappages de types de données sur vos charges de travail. Pour plus d'informations, consultez la rubrique Mappage des types de données pour les bases de données hétérogènes. |
|
Migration complète des données |
DTS migre toutes les données existantes des objets sélectionnés de la base de données Oracle auto-gérée vers la base de données de destination. |
|
Migration incrémentielle des données |
Après la migration complète des données, DTS capture continuellement les journaux redo de la base de données Oracle auto-gérée et migre les modifications incrémentielles vers la base de données de destination. La migration incrémentielle des données vous permet de terminer la migration en toute transparence sans mettre hors ligne vos applications auto-gérées. |
Opérations SQL prises en charge pour la migration incrémentielle
|
Type d'opération |
Instruction SQL |
|
DML |
INSERT, UPDATE et DELETE |
|
DDL |
|
Mappage des types de données
Pour plus d'informations, consultez la rubrique Mappage des types de données entre bases de données hétérogènes.
Prérequis
Connectez-vous à la base de données Oracle auto-gérée que vous souhaitez migrer, créez un compte pour la collecte des données et accordez les autorisations nécessaires à ce compte.
Si vous avez déjà créé un compte disposant des autorisations répertoriées ci-dessous, vous pouvez ignorer cette étape.
|
Base de données |
Migration du schéma |
Migration complète des données |
Migration incrémentielle des données |
|
Base de données Oracle auto-gérée |
Privilèges de propriétaire du schéma |
Privilèges de propriétaire du schéma |
Autorisations fines requises. |
|
PolarDB for MySQL cluster |
Privilèges d'écriture sur la base de données de destination |
||
Pour créer un compte de base de données et accorder des autorisations :
Pour une base de données Oracle auto-gérée, consultez la rubrique Préparation des comptes de base de données, ainsi que les commandes CREATE USER et GRANT.
Pour un cluster PolarDB for MySQL, consultez la rubrique Créer et gérer un compte de base de données.
Pour migrer des données incrémentielles, vous devez également activer l'archivage des journaux (archive logging) et la journalisation supplémentaire (supplemental logging). Pour plus d'informations, consultez la section configuration de la base de données.
Procédure
-
Accédez à la page de liste des tâches de migration pour la région de destination en utilisant l'une des méthodes suivantes.
Depuis la console DTS
Depuis la console DMS
RemarqueLes opérations réelles peuvent varier selon le mode et la disposition de la console DMS. Pour plus d'informations, consultez Console en mode simple et Personnaliser la disposition et le style de la console DMS.
Cliquez sur Create Task pour accéder à la page de configuration de la tâche.
-
Configurez les bases de données source et de destination.
AvertissementAprès avoir sélectionné les instances source et de destination, nous vous recommandons de lire attentivement les limites affichées en haut de la page. Dans le cas contraire, la tâche pourrait échouer ou entraîner une incohérence des données.
Section
Parameter
Description
N/A
Data Migration
DTS génère automatiquement un nom de tâche. Nous vous recommandons de spécifier un nom descriptif pour faciliter l'identification. Le nom n'a pas besoin d'être unique.
Data Migration Tasks
Create Task
Sélectionnez Task Name.
Source Database
Sélectionnez une méthode de connexion en fonction du déploiement de la base de données source. Cet exemple utilise Database Type.
RemarquePour les autres types de bases de données auto-gérées, vous devez également effectuer les préparatifs requis.
Oracle
Sélectionnez la région de la base de données Oracle source.
Access Method
Saisissez le point de terminaison de la base de données Oracle auto-gérée.
Public IP Address
Saisissez le port de service de la base de données Oracle auto-gérée. La valeur par défaut est 1521.
RemarqueDans cet exemple, le port de service doit être accessible via Internet.
Instance Region
-
Hostname or IP Address : Si vous sélectionnez cette option, vous devez également spécifier le Port.
-
Oracle Type : Si vous sélectionnez cette option, vous devez également spécifier le Non-RAC Instance.
Dans cet exemple, SID est sélectionné.
RAC or PDB Instance
Saisissez le nom d'utilisateur de la base de données Oracle source. Consultez la section Préparatifs pour connaître les exigences en matière d'autorisations.
Service Name
Saisissez le mot de passe du compte de base de données.
Non-RAC Instance
Database Account
Sélectionnez Database Password.
Destination Database
Sélectionnez Database Type.
PolarDB for MySQL
Sélectionnez la région du cluster PolarDB for MySQL de destination.
Access Method
Sélectionnez l'ID du cluster PolarDB for MySQL de destination.
Alibaba Cloud Instance
Saisissez le nom d'utilisateur du cluster PolarDB for MySQL de destination. Pour connaître les exigences en matière d'autorisations, consultez la section Préparatifs.
Instance Region
Saisissez le mot de passe du compte de base de données.
PolarDB Cluster ID
Sélectionnez un type de connexion selon vos besoins. Pour plus d'informations sur la fonctionnalité de chiffrement SSL, consultez Activer le chiffrement SSL.
-
-
Une fois la configuration terminée, cliquez sur Test Connectivity and Proceed en bas de la page. Dans la boîte de dialogue CIDR Blocks of DTS Servers qui s'affiche, cliquez sur Test Connectivity.
RemarqueAssurez-vous que les plages d'adresses IP du service DTS sont ajoutées automatiquement ou manuellement aux paramètres de sécurité des bases de données source et de destination pour autoriser l'accès depuis les serveurs DTS. Pour plus d'informations, consultez Ajouter des adresses IP de serveur DTS à une liste d'autorisation.
-
Configurez les objets de la tâche.
-
Sur la page Configure Objects, configurez les objets que vous souhaitez migrer.
Parameter
Description
Database Account
Si vous devez uniquement effectuer une migration complète, sélectionnez à la fois Database Password et Encryption.
Pour effectuer une migration sans temps d'arrêt, sélectionnez Test Connectivity and Proceed, CIDR Blocks of DTS Servers et Test Connectivity.
RemarqueSi vous ne sélectionnez pas Configure Objects, vous devez vous assurer qu'une base de données et des tables destinées à recevoir les données existent dans la base de données de destination. Vous pouvez également utiliser la fonctionnalité de mappage de noms d'objets dans la zone Migration Types selon vos besoins.
Si vous ne sélectionnez pas Schema Migration, n'écrivez pas de nouvelles données dans l'instance source pendant la migration des données afin de garantir la cohérence des données.
Full Data Migration
Schema Migration : Vérifie si des tables portant le même nom existent dans la base de données de destination. Si aucune table portant le même nom n'existe, la pré-vérification est réussie. Si des tables portant le même nom existent, une erreur est signalée lors de la pré-vérification et la tâche de migration des données ne démarre pas.
RemarqueSi une table de la base de données de destination porte le même nom mais ne peut pas être facilement supprimée ou renommée, vous pouvez modifier le nom de la table dans la base de données de destination. Pour plus d'informations, consultez Mappage de noms d'objets.
Full Data Migration : Ignore la vérification des tables portant le même nom.
AvertissementLa sélection de l'option Incremental Data Migration peut entraîner une incohérence des données et des risques commerciaux. Par exemple :
Si les schémas de table sont cohérents et qu'un enregistrement de la base de données de destination possède la même valeur de clé primaire qu'un enregistrement de la base de données source :
Lors de la migration complète, DTS conserve l'enregistrement dans la base de données de destination. L'enregistrement de la base de données source n'est pas migré.
Lors de la migration incrémentielle, DTS ne conserve pas l'enregistrement dans la base de données de destination. L'enregistrement de la base de données source écrase l'enregistrement de la base de données de destination.
Si les schémas de table sont incohérents, seules certaines colonnes de données peuvent être migrées, ou la migration peut échouer. Agissez avec prudence.
Schema Migration
Vous pouvez configurer la politique de sensibilité à la casse pour les noms des objets migrés, tels que les bases de données, les tables et les colonnes, dans l'instance de destination. Par défaut, Selected Objects est sélectionné. Vous pouvez également choisir de conserver la sensibilité à la casse conforme à la politique par défaut de la base de données source ou de destination. Pour plus d'informations, consultez Sensibilité à la casse des noms d'objets dans la base de données de destination.
Incremental Data Migration
Dans la zone Processing Mode of Conflicting Tables, cliquez sur les objets à migrer, puis cliquez sur
pour les déplacer vers la zone Precheck and Report Errors.RemarqueVous pouvez sélectionner des objets à migrer au niveau de la base de données ou de la table.
Ignore Errors and Proceed
-
Pour modifier le nom d'un seul objet de migration dans l'instance cible, cliquez avec le bouton droit sur l'objet dans la zone Ignore Errors and Proceed. Pour plus d'informations, consultez Mapper les noms de schéma, de table et de colonne individuels.
-
Pour modifier les noms de plusieurs objets de migration dans l'instance cible, cliquez sur Capitalization of Object Names in Destination Instance dans le coin supérieur droit de la zone DTS default policy. Pour plus d'informations, consultez Mapper les noms de schéma, de table et de colonne multiples.
Remarque-
Si vous utilisez la fonctionnalité de mappage de noms d'objets, la migration d'autres objets dépendant de l'objet mappé peut échouer.
-
Pour filtrer les données à l'aide d'une clause WHERE, cliquez avec le bouton droit sur la table à migrer dans le volet Source Objects et définissez la condition de filtre dans la boîte de dialogue qui s'affiche. Pour plus d'informations, consultez Définir des conditions de filtre.
-
Pour sélectionner les opérations SQL pour la migration incrémentielle des données au niveau de la base de données ou de la table, cliquez avec le bouton droit sur l'objet à migrer dans le volet Source Objects et sélectionnez les opérations SQL souhaitées dans la boîte de dialogue qui s'affiche.
-
Cliquez sur Next: Advanced Settings pour configurer les paramètres avancés.
Parameter
Description
Selected Objects
Par défaut, DTS planifie les tâches sur un cluster partagé. Vous n'avez pas besoin d'en sélectionner un. Si vous souhaitez des tâches plus stables, vous pouvez acheter un cluster dédié pour exécuter les tâches de migration DTS.
Selected Objects
Sélectionnez le type de moteur pour la base de données de destination en fonction de vos besoins.
-
InnoDB : Moteur de stockage par défaut.
-
X-Engine : Moteur de stockage de base de données OLTP (Online Transaction Processing).
Selected Objects
Une fois la tâche de migration démarrée, si la connexion à la base de données source ou de destination échoue, DTS signale une erreur et commence immédiatement à retenter la connexion. La durée de nouvelle tentative par défaut est de 720 minutes. Vous pouvez personnaliser la durée de nouvelle tentative à une valeur comprise entre 10 et 1440 minutes. Nous vous recommandons de définir la durée à plus de 30 minutes. Si DTS se reconnecte aux bases de données source et de destination dans la durée spécifiée, la tâche de migration reprend automatiquement. Sinon, la tâche échoue.
RemarquePour plusieurs instances DTS partageant la même source ou destination, le temps de nouvelle tentative réseau est déterminé par le paramètre de la dernière tâche créée.
Étant donné que vous êtes facturé pour la tâche pendant la période de nouvelle tentative de connexion, nous vous recommandons de personnaliser la durée de nouvelle tentative en fonction de vos besoins professionnels, ou de libérer l'instance DTS dès que possible après la libération des instances de base de données source et de destination.
Selected Objects
Une fois la tâche de migration démarrée, si un problème autre que la connectivité, tel qu'une exception d'exécution DDL ou DML, se produit dans la base de données source ou de destination, DTS signale une erreur et commence immédiatement à retenter l'opération. La durée de nouvelle tentative par défaut est de 10 minutes. Vous pouvez personnaliser la durée de nouvelle tentative à une valeur comprise entre 1 et 1440 minutes. Nous vous recommandons de définir la durée à plus de 10 minutes. Si les opérations associées réussissent dans la durée de nouvelle tentative spécifiée, la tâche de migration reprend automatiquement. Sinon, la tâche échoue.
ImportantLa valeur de Batch Edit doit être inférieure à la valeur de Selected Objects.
Selected Objects
Lors de la migration complète, DTS consomme des ressources de lecture et d'écriture sur les bases de données source et de destination, ce qui peut augmenter la charge de la base de données. Si nécessaire, vous pouvez activer la limitation de débit pour la tâche de migration complète. Vous pouvez définir Next: Advanced Settings, Dedicated Cluster for Task Scheduling et Select the engine type of the destination database pour réduire la charge sur la base de données de destination.
RemarqueCet élément de configuration est disponible uniquement si vous sélectionnez Retry Time for Failed Connections pour Retry Time for Other Issues.
Vous pouvez également ajuster la vitesse de migration complète une fois que l'instance de migration est en cours d'exécution.
Retry Time for Other Issues
Si nécessaire, vous pouvez également choisir de définir des limites de vitesse pour la tâche de migration incrémentielle. Vous pouvez définir Retry Time for Failed Connections et Enable Throttling for Full Data Migration pour réduire la charge sur la base de données de destination.
RemarqueCet élément de configuration est disponible uniquement si vous sélectionnez Queries per second (QPS) to the source database pour RPS of Full Data Migration.
Vous pouvez également ajuster la vitesse de migration incrémentielle une fois que l'instance de migration est en cours d'exécution.
Data migration speed for full migration (MB/s)
Vous pouvez sélectionner un tag d'environnement pour identifier l'instance. Dans cet exemple, vous n'avez pas besoin de sélectionner un tag.
Full Data Migration
Vous pouvez sélectionner le type d'encodage pour les données écrites dans la base de données de destination.
Migration Types
Choisissez d'activer ou non la fonctionnalité ETL (extract, transform, load). Pour plus d'informations, consultez Qu'est-ce que l'ETL ? Valeurs valides :
-
Enable Throttling for Incremental Data Migration : Active la fonctionnalité ETL. Saisissez les instructions de traitement des données dans l'éditeur de code. Pour plus d'informations, consultez Configurer l'ETL dans une tâche de migration ou de synchronisation des données.
-
RPS of Incremental Data Migration : Désactive la fonctionnalité ETL.
Data migration speed for incremental migration (MB/s)
Sélectionnez si vous souhaitez définir des alertes et recevoir des notifications d'alerte en fonction de vos besoins professionnels.
Incremental Data Migration : Ne définit pas d'alerte.
Migration Types : Configurez les alertes en définissant un seuil d'alerte et des notifications d'alerte. Si une migration échoue ou si la latence dépasse le seuil, le système envoie une notification d'alerte.
-
-
Cliquez sur Next: Data Validation pour configurer une tâche de validation des données.
Pour plus d'informations sur la fonctionnalité de validation des données, consultez Configurer la validation des données.
-
-
Enregistrez la tâche et exécutez une pré-vérification.
Pour afficher les paramètres de configuration de cette instance lors de l'appel de l'opération API, placez le pointeur sur le bouton Next: Save Task Settings and Precheck et cliquez sur Preview OpenAPI parameters dans la bulle qui s'affiche.
Si vous n'avez pas besoin d'afficher ou avez terminé d'afficher les paramètres de l'API, cliquez sur Next: Save Task Settings and Precheck en bas de la page.
RemarqueAvant le démarrage de la tâche de migration, DTS effectue une pré-vérification. La tâche ne démarre qu'après avoir réussi la pré-vérification.
Si la pré-vérification échoue, cliquez sur View Details à côté de l'élément de vérification ayant échoué, corrigez le problème en suivant les instructions, puis relancez la pré-vérification.
-
Si un avertissement est signalé lors de la pré-vérification :
Pour les éléments de vérification qui ne peuvent pas être ignorés, cliquez sur View Details à côté de l'élément ayant échoué, corrigez le problème en suivant les instructions, puis relancez la pré-vérification.
Pour les éléments de vérification qui peuvent être ignorés, vous pouvez cliquer sur Confirm Alert Details, Ignore, OK et Precheck Again pour ignorer l'élément d'avertissement et relancer la pré-vérification. Si vous choisissez d'ignorer un avertissement, cela peut entraîner des problèmes tels qu'une incohérence des données et présenter des risques pour votre activité.
-
Achetez l'instance.
Lorsque le Success Rate est de 100 %, cliquez sur Next: Purchase Instance.
-
Sur la page Purchase, sélectionnez la spécification de lien pour l'instance de migration des données. Pour plus d'informations, consultez le tableau suivant.
Category
Parameter
Description
Environment Tag
Actual Write Code
Sélectionnez le groupe de ressources auquel l'instance appartient. La valeur par défaut est le groupe de ressources par défaut. Pour plus d'informations, consultez Qu'est-ce que la gestion des ressources ?
Configure ETL
DTS propose des spécifications de migration avec différents niveaux de performance. La spécification de lien affecte la vitesse de migration. Vous pouvez sélectionner une spécification en fonction de votre scénario professionnel. Pour plus d'informations, consultez Spécifications de lien de migration des données.
Une fois la configuration terminée, lisez et acceptez les Yes.
-
Cliquez sur Buy and Start. Dans la boîte de dialogue OK qui s'affiche, cliquez sur OK.
Vous pouvez consulter la progression de la tâche de migration sur la page de liste Data Migration Tasks.
RemarqueSi la tâche de migration n'inclut pas de migration incrémentielle, elle s'arrête automatiquement une fois la migration complète terminée. Une fois la tâche arrêtée, son Status passe à Completed.
Si la tâche de migration inclut une migration incrémentielle, elle ne s'arrête pas automatiquement. La tâche de migration incrémentielle continue de s'exécuter. Pendant l'exécution de la tâche de migration incrémentielle, le Status de la tâche est Running.