Tous les produits
Search
Centre de documentation

Data Transmission Service:Migrer des données d'une base de données OceanBase compatible MySQL vers un cluster PolarDB pour MySQL

Dernière mise à jour :Aug 10, 2026

Utilisez Data Transmission Service (DTS) pour migrer les données d'une base de données OceanBase (mode compatible MySQL, Community Edition V4.x) vers un cluster PolarDB pour 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 pour ce scénario.

Prérequis

Avant de commencer, assurez-vous de disposer des éléments suivants :

Contraintes

Contraintes relatives à la base de données source

  • La base de données source ne peut pas être une base de données ApsaraDB for OceanBase.

  • Le serveur de la base de données source doit disposer d'une bande passante sortante suffisante. Une bande passante insuffisante réduit la vitesse de migration.

  • Les tables à migrer doivent comporter des contraintes PRIMARY KEY ou UNIQUE, et tous les champs doivent être uniques. Dans le cas contraire, la base de données de destination peut contenir des enregistrements en double.

  • Si vous sélectionnez des tables comme objets de migration et que vous devez renommer des tables ou des colonnes dans la base de données de destination, une seule tâche peut migrer jusqu'à 1 000 tables. La migration de plus de 1 000 tables dans une seule tâche génère une erreur de requête. Dans ce cas, divisez la migration en plusieurs tâches ou migrez la base de données entière.

  • Les données de type GEOMETRY ne peuvent être migrées qu'à l'aide de la migration complète des données. La migration incrémentielle des données n'est pas prise en charge pour ce type.

  • Les noms de colonne dans une base de données MySQL ne sont pas sensibles à la casse. Si la base de données source contient plusieurs colonnes dont les noms ne diffèrent que par la casse, DTS migre les données de ces colonnes vers la même colonne de destination, ce qui peut produire des résultats inattendus.

Autres contraintes

  • DTS ne prend pas en charge la conversion des données du type DATETIME vers le type VARCHAR.

  • La limitation de débit n'est pas disponible pour la migration complète des données.

  • Si le nom de la base de données source ne respecte pas les conventions de nommage de PolarDB pour MySQL, créez la base de données de destination dans le cluster PolarDB pour MySQL avant de configurer la tâche de migration. Utilisez ensuite la fonctionnalité de mappage de nom d'objet pour la renommer à l'étape Configure Objects and Advanced Settings. Pour connaître les conventions de nommage et la procédure de création d'une base de données, consultez la rubrique Gestion des bases de données.

  • Pour les colonnes de type FLOAT ou DOUBLE, DTS applique ROUND(COLUMN,PRECISION) pour récupérer les valeurs. Si aucune précision n'est spécifiée, DTS utilise par défaut 38 chiffres pour FLOAT et 308 chiffres pour DOUBLE. Vérifiez que ces valeurs par défaut répondent aux exigences de votre activité.

  • DTS relance automatiquement les tâches ayant échoué pendant sept jours maximum. Avant de basculer les charges de travail vers la base de données de destination, arrêtez ou libérez toutes les tâches ayant échoué, ou exécutez REVOKE pour supprimer les autorisations d'écriture de DTS sur la base de données de destination. Sinon, une tâche reprise risque d'écraser les données de destination avec les données source.

  • Si l'exécution d'une instruction DDL échoue dans la base de données de destination, la tâche DTS continue de s'exécuter. Consultez les instructions DDL ayant échoué dans les journaux de la tâche. Pour plus de détails, voir Afficher les journaux de tâche.

Restrictions opérationnelles

Appliquez ces restrictions lors de la migration pour éviter toute incohérence des données :

  • Pendant la migration de schéma et la migration complète des données : N'exécutez pas d'opérations de langage de définition de données (DDL) qui modifient les schémas des bases de données ou des tables.

  • Pendant la migration des données uniquement : N'écrivez pas de données dans la base de données source. Pour garantir la cohérence des données tout au long de la migration, sélectionnez conjointement la migration de schéma, la migration complète des données et la migration incrémentielle des données.

  • Pendant la migration complète et incrémentielle des données : DTS désactive temporairement les vérifications de contraintes de clé étrangère et les opérations en cascade au niveau de la session. L'exécution d'opérations en cascade ou de suppression sur la base de données source pendant cette période peut entraîner une incohérence des données.

  • Opérations RENAME TABLE : Le renommage d'une table pendant la migration incrémentielle peut provoquer une incohérence des données. Si vous devez renommer une table, ajoutez les bases de données contenant la table avant et après l'opération de renommage aux objets de migration.

La migration de schéma migre les clés étrangères de la base de données source vers la base de données de destination.

Facturation

Type de migration Frais de configuration de tâche Frais de transfert de données
Migration de schéma et migration complète des données Gratuit Gratuit dans cet exemple
Migration incrémentielle des données Facturé —

Pour connaître les tarifs de la migration incrémentielle des données, consultez la rubrique Présentation de la facturation.

Opérations SQL prises en charge pour la migration incrémentielle

Type d'opération Instructions SQL
DML INSERT, UPDATE, DELETE
DDL ALTER TABLE, ALTER VIEW, CREATE FUNCTION, CREATE INDEX, CREATE PROCEDURE, CREATE TABLE, CREATE VIEW, DROP INDEX, DROP TABLE, RENAME TABLE, TRUNCATE TABLE

Autorisations de compte de base de données requises

Base de données Migration de schéma Migration complète des données Migration incrémentielle des données
OceanBase (niveau utilisateur) SELECT SELECT SELECT
OceanBase (niveau locataire) Locataire standard Locataire standard Locataire standard
PolarDB pour MySQL Lecture et écriture sur la base de données de destination Lecture et écriture sur la base de données de destination Lecture et écriture sur la base de données de destination
Important

Pour la migration incrémentielle des données, installez oblogproxy sur le serveur OceanBase et configurez un locataire système. oblogproxy est un service proxy pour la gestion des journaux incrémentiels. Pour obtenir les instructions d'installation, consultez les rubriques Installer et déployer oblogproxy à l'aide du package d'installation.

Pour obtenir des instructions sur la création de comptes et l'octroi d'autorisations, consultez :

Migrer des données d'OceanBase vers PolarDB pour MySQL

Étape 1 : Accéder à la page Tâches de migration de données

  1. Connectez-vous à la console Data Management (DMS).

  2. Dans la barre de navigation supérieure, cliquez sur DTS.

  3. Dans le volet de navigation de gauche, choisissez DTS (DTS) > Data Migration.

La navigation peut varier selon le mode et la disposition de la console DMS. Pour plus de détails, consultez les rubriques Mode simple et Personnaliser la disposition et le style de la console DMS . Vous pouvez également accéder directement à la page Tâches de migration de données dans la nouvelle console DTS .

Étape 2 : Sélectionner la région

Dans la liste déroulante située à côté de Data Migration Tasks, sélectionnez la région où réside l'instance de migration de données.

Dans la nouvelle console DTS, sélectionnez la région dans le coin supérieur gauche de la page.

Étape 3 : Configurer les bases de données source et de destination

Cliquez sur Create Task. Sur la page de l'assistant de création de tâche, configurez les paramètres suivants.

Base de données source

Paramètre Description
Select an existing DMS database instance (Facultatif) Sélectionnez une instance existante pour remplir automatiquement les paramètres de la base de données source. Si vous ignorez cette étape, configurez manuellement les paramètres ci-dessous.
Database Type Sélectionnez ApsaraDB OceanBase for MySQL.
Access Method Sélectionnez la méthode d'accès en fonction de l'emplacement de déploiement de la base de données source. Cet exemple utilise Public IP Address.
Instance Region Région où réside la base de données source OceanBase.
Domain Name or IP Endpoint de la base de données source OceanBase.
Port Number Port de service de la base de données source OceanBase. Par défaut : 2881.
IP Address in Log Proxy (Domain Name Not Supported) Adresse IP d'oblogproxy pour la base de données source OceanBase.
Port in Log Proxy Port d'écoute d'oblogproxy. Par défaut : 2983.
Database Account Compte de la base de données source OceanBase. Pour connaître les autorisations requises, consultez la section Autorisations de compte de base de données requises.
Database Password Mot de passe du compte de base de données.
Task Name Nom de la tâche. DTS attribue automatiquement un nom ; spécifiez un nom descriptif pour identifier facilement la tâche. Le nom n'a pas besoin d'être unique.
Si la base de données source est autogérée, configurez l'environnement requis avant la migration. Pour plus de détails, consultez la rubrique Présentation de la préparation .

Base de données de destination

Paramètre Description
Select an existing DMS database instance (Facultatif) Sélectionnez une instance existante pour remplir automatiquement les paramètres de la base de données de destination. Si vous ignorez cette étape, configurez manuellement les paramètres ci-dessous.
Database Type Sélectionnez PolarDB for MySQL.
Access Method Sélectionnez Alibaba Cloud Instance.
Instance Region Région où réside le cluster de destination PolarDB pour MySQL.
PolarDB Cluster ID ID du cluster de destination PolarDB pour MySQL.
Database Account Compte de base de données pour le cluster de destination. Pour connaître les autorisations requises, consultez la section Autorisations de compte de base de données requises.
Database Password Mot de passe du compte de base de données.
Encryption (Facultatif) Activez le chiffrement SSL pour la connexion au cluster de destination. Pour plus de détails, consultez la rubrique Configurer le chiffrement SSL.

Étape 4 : Tester la connectivité

Cliquez sur Test Connectivity and Proceed.

Si la base de données source utilise une liste d'autorisation d'adresses IP, ajoutez les plages CIDR des serveurs DTS à la liste d'autorisation avant de cliquer sur Test Connectivity and Proceed.

  • Instances de base de données Alibaba Cloud (telles qu'ApsaraDB RDS for MySQL ou ApsaraDB for MongoDB) : DTS ajoute automatiquement ses plages CIDR.

  • Bases de données autogérées sur ECS : DTS ajoute automatiquement ses plages CIDR aux règles du groupe de sécurité ECS. Assurez-vous que l'instance ECS peut accéder à la base de données. Si la base de données s'étend sur plusieurs instances ECS, ajoutez manuellement les plages CIDR à chaque instance.

  • Bases de données autogérées dans un centre de données ou sur un cloud tiers : Ajoutez manuellement les plages CIDR à la liste d'autorisation d'adresses IP de la base de données.

Pour obtenir la liste des plages CIDR des serveurs DTS, consultez la rubrique Ajouter les plages CIDR des serveurs DTS.

Avertissement

L'ajout des plages CIDR DTS à une liste d'autorisation de base de données ou à un groupe de sécurité ECS introduit une exposition à des risques de sécurité. Avant de poursuivre, prenez des mesures telles que l'utilisation d'identifiants robustes, la restriction des ports exposés, l'authentification des appels API, l'audit régulier des règles de la liste d'autorisation et la connexion via Express Connect, VPN Gateway ou Smart Access Gateway.

Étape 5 : Configurer les objets et les paramètres de migration

Paramètre Description
Migration Types Sélectionnez les types de migration en fonction de votre scénario :
  • Schema Migration + Full Data Migration : migration ponctuelle avec temps d'arrêt.
  • Schema Migration + Full Data Migration + Incremental Data Migration : migration en ligne avec un temps d'arrêt minimal.
Si vous ne sélectionnez pas Incremental Data Migration, n'écrivez pas dans la base de données source pendant la migration.
Processing Mode of Conflicting Tables
  • Precheck and Report Errors : la prévérification échoue si la base de données de destination contient déjà des tables portant les mêmes noms. Résolvez les conflits avant de démarrer la tâche. Si les tables conflictuelles ne peuvent pas être supprimées ou renommées, utilisez la fonctionnalité de mappage de nom d'objet pour renommer les tables migrées. Consultez la rubrique Mapper les noms d'objets.
  • Ignore Errors and Proceed : ignore la vérification des noms de table en double. À utiliser avec prudence, car cela peut entraîner une incohérence des données ou une migration partielle.
Capitalization of Object Names in Destination Instance Contrôle la casse des noms de base de données, de table et de colonne dans la destination. La valeur par défaut est DTS default policy. Pour plus de détails, consultez la rubrique Spécifier la casse des noms d'objets dans l'instance de destination.
Source Objects Sélectionnez des objets dans Source Objects et cliquez sur l'icône de flèche pour les déplacer vers Selected Objects. Vous pouvez sélectionner des colonnes, des tables ou des bases de données. La sélection de tables ou de colonnes exclut les vues, les déclencheurs et les procédures stockées.
Selected Objects Pour renommer un seul objet, faites un clic droit dessus dans Selected Objects. Consultez la rubrique Mapper le nom d'un seul objet. Pour renommer plusieurs objets à la fois, cliquez sur Batch Edit. Consultez la rubrique Mapper plusieurs noms d'objets à la fois. Pour filtrer les lignes, faites un clic droit sur un objet pour spécifier les conditions WHERE. Consultez la rubrique Définir des conditions de filtre. Pour sélectionner des opérations SQL spécifiques pour la migration incrémentielle, faites un clic droit sur un objet et sélectionnez les opérations.
Le mappage de nom d'objet peut entraîner une incohérence des données ou rompre les objets qui dépendent de l'objet renommé. Par exemple, une migration de table non complète avec mappage de colonne peut entraîner une perte de données si les colonnes source sont absentes du schéma de destination.

Étape 6 : Configurer les paramètres avancés

Cliquez sur Next: Advanced Settings et configurez les paramètres suivants.

Paramètre Description
Dedicated Cluster for Task Scheduling Par défaut, DTS planifie les tâches sur un cluster partagé. Pour améliorer la stabilité, achetez un cluster dédié. Consultez la rubrique Qu'est-ce qu'un cluster dédié DTS ?.
Set Alerts Configurez des alertes en cas d'échec de tâche ou si la latence de migration dépasse un seuil. Sélectionnez Yes pour définir un seuil d'alerte et des contacts de notification. Consultez la rubrique Configurer la surveillance et les alertes.
Select the engine type of the destination database Moteur de stockage pour le cluster de destination PolarDB pour MySQL : InnoDB (par défaut) ou X-Engine (un moteur de stockage de traitement transactionnel en ligne (OLTP)).
Retry Time for Failed Connections Durée pendant laquelle DTS retente une connexion échouée avant de marquer la tâche comme ayant échoué. Plage : 10–1440 minutes. Par défaut : 720. Définissez une valeur d'au moins 30 minutes. Si différentes tâches partagent la même base de données source ou de destination, la valeur définie le plus récemment s'applique. Pendant les nouvelles tentatives, les frais d'instance DTS s'appliquent toujours.
Retry Time for Other Issues Durée pendant laquelle DTS retente les opérations DDL ou DML ayant échoué. Plage : 1–1440 minutes. Par défaut : 10. Définissez une valeur d'au moins 10 minutes. Cette valeur doit être inférieure à Retry Time for Failed Connections.
Enable Throttling for Full Data Migration Limitez la vitesse de migration pour réduire la charge sur les bases de données source et de destination. Configurez Queries per second (QPS) to the source database, RPS of Full Data Migration et Data migration speed for full migration (MB/s). Disponible uniquement lorsque Full Data Migration est sélectionné.
Enable Throttling for Incremental Data Migration Limitez la vitesse de migration incrémentielle. Configurez RPS of Incremental Data Migration et Data migration speed for incremental migration (MB/s). Disponible uniquement lorsque Incremental Data Migration est sélectionné.
Environment Tag Tag facultatif pour identifier l'instance DTS.
Configure ETL Activez l'extraction, la transformation et le chargement (ETL) pour traiter les données pendant la migration. Sélectionnez Yes et saisissez les instructions de traitement dans l'éditeur de code. Consultez la rubrique Configurer ETL dans une tâche de migration ou de synchronisation de données.
Pendant la migration complète des données, DTS utilise les ressources de lecture et d'écriture sur les bases de données source et de destination, ce qui augmente la charge du serveur. Exécutez les migrations pendant les heures creuses. Une fois la migration complète des données terminée, les opérations INSERT simultanées peuvent provoquer une fragmentation des tables dans la base de données de destination, de sorte que l'espace de table de destination sera plus grand que celui de la source.

Étape 7 : Exécuter la prévérification

Cliquez sur Next: Save Task Settings and Precheck.

Pour afficher un aperçu des paramètres d'API pour cette configuration de tâche avant l'enregistrement, placez le curseur sur Next: Save Task Settings and Precheck et cliquez sur Preview OpenAPI parameters.

DTS exécute une prévérification avant de démarrer la tâche de migration. La tâche ne peut démarrer qu'après la réussite de la prévérification.

  • Si un élément de prévérification échoue, cliquez sur View Details à côté de l'élément ayant échoué pour voir la cause, corriger le problème et relancer la prévérification.

  • Si un élément de prévérification génère une alerte, gérez-la en fonction du scénario :

    • Si l'alerte ne peut pas être ignorée, cliquez sur View Details à côté de l'élément ayant échoué, résolvez les problèmes et relancez la prévérification.

    • Si l'alerte peut être ignorée en toute sécurité, cliquez sur Confirm Alert Details, puis cliquez sur Ignore dans la boîte de dialogue View Details, cliquez sur OK et cliquez sur Precheck Again.

Avertissement

Ignorer une alerte de prévérification peut entraîner une incohérence des données ou d'autres problèmes. Procédez avec prudence.

Étape 8 : Acheter l'instance DTS

Attendez que le taux de réussite atteigne 100 %, puis cliquez sur Next: Purchase Instance.

Sur la page Purchase Instance, configurez les éléments suivants :

Section Paramètre Description
New Instance Class Resource Group Settings Groupe de ressources pour l'instance de migration. Par défaut : default resource group. Consultez la rubrique Qu'est-ce que Resource Management ?
Instance Class La classe d'instance détermine la vitesse de migration. Sélectionnez-la en fonction de vos besoins. Consultez la rubrique Spécifications des instances de migration de données.

Étape 9 : Démarrer la tâche de migration

Lisez et cochez la case Data Transmission Service (Pay-as-you-go) Service Terms, puis cliquez sur Buy and Start. Surveillez la progression de la tâche dans la liste des tâches.

FAQ

Quelles valeurs dois-je saisir pour les champs oblogproxy si oblogproxy n'est pas installé ?

Utilisez les valeurs par défaut pour IP Address in Log Proxy (Domain Name Not Supported) et Port in Log Proxy. Ne sélectionnez pas Incremental Data Migration pour Migration Types : sa sélection sans installation d'oblogproxy provoque une erreur.

La région de ma base de données source OceanBase ne figure pas dans la liste déroulante Instance Region. Que dois-je sélectionner ?

Sélectionnez la région la plus proche de l'emplacement de votre base de données source OceanBase.

Ma base de données source OceanBase est déployée dans un cluster. Que dois-je saisir pour Domain Name or IP ?

Saisissez la valeur que vous avez spécifiée pour OBServer Node lors de la création du cluster.

Quel numéro de port dois-je saisir pour la base de données source OceanBase ?

  • Déploiement autonome : utilisez la valeur par défaut (2881).

  • Déploiement en cluster : saisissez la valeur que vous avez spécifiée pour SQL Port lors de la création du cluster.

Quel format le champ Database Account utilise-t-il pour la base de données source OceanBase ?

Utilisez le format <Username>@<Tenant name>. Par exemple, si l'utilisateur est dtstest dans le locataire dts, saisissez dtstest@dts.