Data Transmission Service (DTS) prend en charge la migration complète et incrémentielle des données. Combinez ces types de migration pour transférer les données d'une base de données Oracle auto-gérée vers une instance PolarDB-X 2,0 avec un impact minimal sur votre application. Cette rubrique explique comment utiliser DTS pour migrer une base de données Oracle auto-gérée vers PolarDB-X 2,0.
Prérequis
Votre base de données Oracle auto-gérée doit être en version 9i, 10g, 11g, 12c, 18c ou 19c.
Activez la journalisation supplémentaire, y compris
supplemental_log_data_pketsupplemental_log_data_ui, sur la base de données Oracle auto-gérée. Pour plus d'informations, consultez la documentation Supplemental Logging.La base de données Oracle auto-gérée doit s'exécuter en mode ARCHIVELOG. Assurez-vous que les journaux archivés sont accessibles et conservés pendant une période raisonnable. Pour plus d'informations, consultez la documentation ARCHIVELOG.
Le port du service de la base de données Oracle auto-gérée doit être accessible via Internet.
-
Vous devez disposer d'une instance PolarDB-X de destination. Pour plus d'informations, consultez Créer une instance.
RemarquePour une instance PolarDB-X 1,0, la MySQL version doit être MySQL 5.
Les bases de données dans PolarDB-X doivent utiliser ApsaraDB RDS for MySQL. DTS ne prend pas en charge les bases de données créées à partir de PolarDB for MySQL.
L'instance ApsaraDB RDS for MySQL associée à votre base de données PolarDB-X doit disposer d'un espace de stockage supérieur à celui utilisé par la base de données Oracle source auto-gérée.
-
DTS ne prend pas en charge la migration de schéma lors de la migration d'Oracle vers PolarDB-X. Créez les bases de données et les tables requises dans l'instance PolarDB-X de destination, en respectant le schéma des tables Oracle sources. Pour plus d'informations, consultez Créer une base de données et Effectuer des opérations SQL de base.
RemarqueIl n'existe pas de correspondance directe entre les types de données d'Oracle et de PolarDB-X. Définissez les types de données appropriés dans l'instance PolarDB-X de destination. Pour plus d'informations, consultez Correspondance des types de données entre bases de données hétérogènes.
Si la base de données Oracle auto-gérée utilise une architecture RAC et est connectée via une ligne louée, VPN Gateway, Smart Access Gateway, Database Gateway (DG) ou Cloud Enterprise Network (CEN), ou depuis une instance ECS, vous ne pouvez pas configurer une adresse IP SCAN (Single Client Access Name). Configurez uniquement l'une des adresses VIP dans les informations de connexion. Si vous utilisez cette méthode, le basculement de nœud pour RAC n'est pas pris en charge.
Avant d'effectuer une migration de données, comprenez les capacités et les limites de DTS pour les sources Oracle et utilisez ADAM pour évaluer la base de données. Cela garantit une migration cloud fluide. Pour plus d'informations, consultez Limites et préparations pour les bases de données Oracle et Présentation de l'évaluation de base de données.
-
Opérations interdites sur la base de données source :
-
N'exécutez pas d'opérations DDL modifiant les schémas de base de données ou de tables pendant la migration de schéma ou la migration complète. Sinon, la tâche de migration échouera.
RemarquePendant la migration complète, DTS interroge la base de données source. Cela crée des verrous de métadonnées qui peuvent bloquer les opérations DDL sur la base de données source.
Si vous n'effectuez que la migration complète, n'écrivez pas de nouvelles données dans l'instance source. Sinon, les données source et destination deviendront incohérentes. Pour maintenir la cohérence des données en temps réel, sélectionnez la migration de schéma, la migration complète et la migration incrémentielle.
-
Limites
Pendant une migration complète des données, DTS consomme des ressources de lecture et d'écriture sur les bases de données source et destination, augmentant ainsi leur charge. Si vos bases de données ont de mauvaises performances, des spécifications faibles ou des charges de travail élevées (par exemple, si la base de données source contient de nombreuses requêtes SQL lentes ou des tables sans clés primaires, ou si des interblocages se produisent dans la base de données destination), l'augmentation de la charge peut mettre vos bases de données sous tension, voire provoquer des interruptions de service. Effectuez la migration des données pendant les heures creuses, par exemple lorsque l'utilisation du CPU des deux bases de données est inférieure à 30 %.
Si une table source manque de clé primaire ou de contrainte unique et contient des données non uniques, des données en double peuvent être créées dans la base de données de destination.
-
Si la base de données Oracle auto-gérée est déployée dans une architecture Real Application Cluster (RAC) et est connectée à DTS via un réseau privé virtuel Alibaba Cloud (VPC), connectez l'adresse IP SCAN (Single Client Access Name) du RAC Oracle et l'adresse IP virtuelle (VIP) de chaque nœud au VPC et configurez les routes. Ces paramètres garantissent que votre tâche DTS s'exécute comme prévu. Pour plus d'informations, consultez Connecter un centre de données à DTS via VPN Gateway.
ImportantLorsque vous configurez la base de données Oracle source dans la console DTS, vous pouvez spécifier l'adresse IP SCAN du RAC Oracle comme endpoint ou adresse IP de la base de données.
Si une tâche de migration de données échoue, DTS déclenche une récupération automatique. Avant de basculer vos charges de travail métier vers l'instance de destination, arrêtez ou libérez la tâche. Cela empêche une récupération automatique, qui sinon entraînerait l'écrasement des données de l'instance de destination par les données de la base de données source.
Si les données à migrer contiennent des chaînes vides de type
varchar2, qu'Oracle traite comme nulles, et que le champ correspondant de la base de données de destination a une contrainte NOT NULL, la tâche de migration échouera.-
Si la politique FGA (Fine-Grained Audit) est activée sur la table à migrer, DTS ne peut pas reconnaître la pseudocolonne
ORA_ROWSCN, ce qui entraînera l'échec de la tâche de migration.RemarqueDésactivez la politique FGA pour les tables à migrer, ou choisissez de ne pas migrer les données de ces tables.
La migration des tables externes n'est pas prise en charge.
Pendant la migration incrémentielle, l'importation de données dans la base de données source à l'aide d'Oracle Data Pump n'est pas prise en charge. Cela peut entraîner une perte de données.
DTS migre les clés étrangères lors de la migration de schéma.
Pendant la migration 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 provoquer une incohérence des données.
-
En cas d'échec d'une tâche, l'équipe d'assistance DTS tentera de la restaurer dans un délai de huit heures. Pendant la restauration, elle peut redémarrer la tâche ou ajuster ses paramètres.
RemarqueSeuls les paramètres de la tâche DTS sont modifiés, et non les paramètres de la base de données. Les paramètres susceptibles d'être ajustés incluent ceux répertoriés dans Modifier les paramètres de l'instance.
Si la table PolarDB-X 2,0 de destination a le partitionnement automatique activé (
auto_partition=true), chaque instruction DDL exécutée sur la source ne peut contenir qu'une seulealter_specification. Sinon, DTS signale une erreur (TDDL-4998:Multi alter specifications when create GSI not support yet). Pour exécuter une instruction DDL contenant plusieurs élémentsalter_specification, divisez chaquealter_specificationen une instruction DDL distincte et exécutez-les une par une. Pour plus d'informations, consultez ALTER TABLE (mode DRDS) et ALTER TABLE (mode AUTO).
Facturation
|
Type de migration |
Frais de configuration de la tâche |
Frais de trafic Internet |
|
Migration de schéma et migration complète des données |
Gratuit. |
DTS facture des frais de trafic Internet lorsque la Access Method de la base de données de destination est définie sur Public IP Address. Présentation de la facturation. |
|
Migration incrémentielle des données |
Facturé. Présentation de la facturation. |
Types de migration
-
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 source vers la base de données PolarDB-X de destination.
RemarqueN'écrivez pas de nouvelles données dans la base de données Oracle source pendant la migration complète des données. Cela garantit la cohérence des données.
-
Migration incrémentielle des données
Une fois la migration complète des données terminée, DTS lit les journaux redo de la base de données Oracle source et synchronise les modifications incrémentielles vers la base de données PolarDB-X de destination. Cela minimise les temps d'arrêt de l'application pendant la migration.
RemarqueLa migration incrémentielle des données prend en charge les opérations
INSERT,DELETEetUPDATE. Les opérations DDL ne sont pas synchronisées.
Opérations SQL prises en charge
|
Type |
Instruction SQL |
|
DML |
INSERT, UPDATE, DELETE |
|
DDL |
|
Autorisations des comptes de base de données
|**Base de données**
|
**Migration complète des données**
|
**Migration incrémentielle des données**
|
**Configuration du compte**
| | --- | --- | --- | --- | |
Base de données Oracle auto-gérée
|
Autorisations de propriétaire de schéma
|
Nécessite une autorisation fine
|
[Préparation des comptes de base de données](t2521722.xdita#546a5ab1643wq), [CREATE USER](https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_8003.htm) et [GRANT](https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_9013.htm)
| |
PolarDB-X
|
Autorisation d'écriture sur la base de données de destination
|
Autorisation d'écriture sur la base de données de destination
|
[Gestion des comptes](t1824832.dita#multiTask4677)
|
Pour migrer des données incrémentielles, activez également la journalisation des archives et la journalisation supplémentaire. Pour plus d'informations, consultez 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
Connectez-vous à la console Data Transmission Service (DTS).
Dans le volet de navigation de gauche, cliquez sur Data Migration.
Dans le coin supérieur gauche de la page, sélectionnez la région où se trouve l'instance de migration.
Depuis la console DMS
RemarqueLes opérations réelles peuvent varier en fonction du mode et de 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.
Connectez-vous à la console Data Management (DMS).
Dans la barre de menu supérieure, choisissez .
À droite de Data Migration Tasks, sélectionnez la région où se trouve l'instance de migration.
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.
Catégorie
Paramètre
Description
N/A
Task Name
DTS génère automatiquement un nom de tâche. Nous vous recommandons de spécifier un nom descriptif pour une identification facile. Le nom n'a pas besoin d'être unique.
Source Database
Database Type
Sélectionnez Oracle.
Connection Type
Sélectionnez le type de connexion correspondant au déploiement de votre base de données source. Cette rubrique utilise Self-managed Database on ECS à titre d'exemple.
RemarqueSi l'instance source est une base de données auto-gérée, effectuez également les préparations requises.
Instance Region
Sélectionnez la région où se trouve la base de données Oracle source.
ECS Instance ID
Sélectionnez l'ID de l'instance ECS qui héberge la base de données Oracle auto-gérée.
Port
Saisissez le port de service de la base de données Oracle auto-gérée. Le port par défaut est 1521.
Oracle Type
Cet exemple utilise l'option RAC or PDB Instance.
-
Non-RAC Instance : Cette option nécessite de spécifier le SID.
-
RAC or PDB Instance : Cette option nécessite de spécifier le Service Name.
Database Account
Saisissez le compte de base de données de l'instance Oracle auto-gérée source.
Database Password
Saisissez le mot de passe correspondant au compte de base de données.
Destination Database
Database Type
Sélectionnez PolarDB-X 2.0.
Connection Type
Sélectionnez Alibaba Cloud Instance.
Instance Region
Sélectionnez la région où se trouve l'instance PolarDB-X 2,0 de destination.
Instance ID
Sélectionnez l'ID de l'instance PolarDB-X 2,0 de destination.
Database Account
Saisissez le compte de base de données de l'instance PolarDB-X 2,0 de destination.
Database Password
Saisissez le mot de passe correspondant au compte de base de données.
-
-
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 les adresses IP des serveurs DTS à une liste blanche.
-
Configurez les objets de la tâche.
-
Sur la page Configure Objects, configurez les objets que vous souhaitez migrer.
Paramètre
Description
Synchronization Types
Si vous devez uniquement effectuer une migration complète, sélectionnez à la fois Schema Migration et Full Data Migration.
Pour effectuer une migration sans temps d'arrêt, sélectionnez Schema Migration, Full Data Migration et Incremental Data Migration.
RemarqueSi vous ne sélectionnez pas Schema Migration, assurez-vous 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 Selected Objects selon vos besoins.
Si vous ne sélectionnez pas Incremental Data 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.
Processing Mode for Existing Tables in Destination
Precheck and Report Errors : Vérifie si des tables portant les mêmes noms existent dans la base de données de destination. Si aucune table portant les mêmes noms n'existe, la pré-vérification est réussie. Si des tables portant les mêmes noms 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, modifiez le nom de la table dans la base de données de destination. Pour plus d'informations, consultez Mappage des noms d'objets.
Ignore Errors and Proceed : Ignore la vérification des tables portant les mêmes noms.
AvertissementLa sélection de Ignore Errors and Proceed peut provoquer une incohérence des données et des risques métier. 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 :
Pendant 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é.
Pendant 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. Procédez avec prudence.
Source Objects
Dans le volet Source Objects, sélectionnez les objets à migrer, puis cliquez sur
pour les déplacer vers le volet Selected Objects.Selected Objects
-
Pour modifier le nom d'un seul objet de migration dans l'instance cible, faites un clic droit sur l'objet dans la zone Selected Objects. 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 Selected Objects dans le coin supérieur droit de la zone Batch Edit. Pour plus d'informations, consultez Mapper les noms de schéma, de table et de colonne multiples.
Remarque-
L'utilisation du mappage de noms d'objets peut entraîner l'échec des migrations pour les objets qui dépendent de l'objet renommé.
-
Pour filtrer les données avec des clauses WHERE, faites un clic droit sur la table cible dans le volet Selected Objects et définissez les conditions de filtre dans la boîte de dialogue. Pour plus d'informations, consultez Définir les conditions de filtre.
-
Pour sélectionner les opérations SQL pour la migration incrémentielle au niveau de la base de données ou de la table, faites un clic droit sur l'objet de migration dans le volet Selected Objects et sélectionnez les opérations SQL souhaitées dans la boîte de dialogue.
-
Cliquez sur Next: Advanced Settings pour configurer les paramètres avancés.
Paramètre
Description
Dedicated Cluster for Task Scheduling
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, achetez un cluster dédié pour exécuter les tâches de migration DTS.
Retry Time for Failed Connections
Après le démarrage de la tâche de migration, 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 le délai 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 le délai spécifié, la tâche de migration reprend automatiquement. Sinon, la tâche échoue.
RemarquePour plusieurs instances DTS partageant la même source ou destination, le délai de nouvelle tentative réseau est déterminé par le paramètre de la dernière tâche créée.
Étant donné que la tâche est facturée pendant la période de nouvelle tentative de connexion, nous vous recommandons de personnaliser le délai de nouvelle tentative en fonction de vos besoins métier, 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.
Retry Time for Other Issues
Après le démarrage de la tâche de migration, si un problème autre que de 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 le délai 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 le délai de nouvelle tentative spécifié, la tâche de migration reprend automatiquement. Sinon, la tâche échoue.
ImportantLa valeur de Retry Time for Other Issues doit être inférieure à la valeur de Retry Time for Failed Connections.
Enable Throttling for Full Data Migration
Pendant 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, activez la limitation pour la tâche de migration complète. Définissez Queries per second (QPS) to the source database, RPS of Full Data Migration et Data migration speed for full migration (MB/s) pour réduire la charge sur la base de données de destination.
RemarqueCet élément de configuration n'est disponible que si vous sélectionnez Full Data Migration pour Migration Types.
Vous pouvez également ajuster la vitesse de migration complète une fois que l'instance de migration est en cours d'exécution.
Enable Throttling for Incremental Data Migration
Si nécessaire, définissez également des limites de vitesse pour la tâche de migration incrémentielle. Définissez RPS of Incremental Data Migration et Data migration speed for incremental migration (MB/s) pour réduire la charge sur la base de données de destination.
RemarqueCet élément de configuration n'est disponible que si vous sélectionnez Incremental Data Migration pour Migration Types.
Vous pouvez également ajuster la vitesse de migration incrémentielle une fois que l'instance de migration est en cours d'exécution.
Environment Tag
Sélectionnez éventuellement un tag d'environnement pour identifier l'instance.
Actual Write Code
Sélectionnez le type d'encodage pour les données écrites dans la destination en fonction de vos besoins.
Configure ETL
Choisissez d'activer ou non la fonctionnalité extract, transform, and load (ETL). Pour plus d'informations, consultez Qu'est-ce que l'ETL ? Valeurs valides :
-
Yes : Active la fonctionnalité ETL. Saisissez les instructions de traitement des données dans l'éditeur de code. Pour plus d'informations, consultez Configurer ETL dans une tâche de migration ou de synchronisation de données.
-
No : Désactive la fonctionnalité ETL.
Monitoring and Alerting
Sélectionnez si vous souhaitez définir des alertes et recevoir des notifications d'alerte en fonction de vos besoins métier.
No : Ne définit pas d'alerte.
Yes : Configurez les alertes en définissant un seuil d'alerte et un notifications d'alerte. Si une migration échoue ou si la latence dépasse le seuil, le système envoie une notification d'alerte.
-
-
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 apparaît.
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 selon l'invite, puis exécutez à nouveau 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 selon l'invite, puis exécutez à nouveau la pré-vérification.
Pour les éléments de vérification qui peuvent être ignorés, cliquez sur Confirm Alert Details, Ignore, OK et Precheck Again pour ignorer l'élément d'avertissement et exécuter à nouveau la pré-vérification. Si vous choisissez d'ignorer un avertissement, cela peut provoquer 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 de données. Pour plus d'informations, consultez le tableau suivant.
Catégorie
Paramètre
Description
New Instance Class
Resource Group Settings
Sélectionnez le groupe de ressources auquel appartient l'instance. La valeur par défaut est le groupe de ressources par défaut. Pour plus d'informations, consultez Qu'est-ce que Resource Management ?
Instance Class
DTS fournit des spécifications de migration avec différents niveaux de performance. La spécification de lien affecte la vitesse de migration. Sélectionnez une spécification en fonction de votre scénario métier. Pour plus d'informations, consultez Spécifications de lien de migration de données.
Une fois la configuration terminée, lisez et acceptez les Data Transmission Service (Pay-as-you-go) Service Terms.
-
Cliquez sur Buy and Start. Dans la boîte de dialogue OK qui s'affiche, cliquez sur OK.
Vous pouvez afficher 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.
Étapes suivantes
Les comptes de base de données utilisés pour la migration des données disposent d'autorisations de lecture et d'écriture. Pour garantir la sécurité de la base de données, supprimez ces comptes de la base de données Oracle auto-gérée et de l'instance PolarDB-X une fois la migration des données terminée.