Tous les produits
Search
Centre de documentation

Data Transmission Service:Synchroniser PolarDB for MySQL vers une base de données Oracle auto-gérée

Dernière mise à jour :Oct 13, 2026

Utilisez DTS pour synchroniser les données d'un cluster PolarDB for MySQL vers une base de données Oracle auto-gérée.

Prérequis

Instructions

Remarques d'utilisation

Remarque

Pendant la synchronisation complète et la synchronisation incrémentielle :

  • Les opérations de mise à jour et de suppression en cascade dans la base de données source peuvent entraîner une incohérence des données.

  • Si la base de données de destination contient des clés étrangères ou des déclencheurs, désactivez-les. Sinon, la tâche de synchronisation peut échouer.

Type

Description

Limites de la base de données source

  • Les tables à synchroniser doivent disposer d'une clé primaire ou d'une contrainte UNIQUE, et tous les champs doivent être uniques. Sinon, des données en double peuvent apparaître dans la base de données de destination.

  • Si vous synchronisez des données au niveau de la table et devez modifier les tables (par exemple, mapper les noms de colonnes), une seule tâche de synchronisation prend en charge jusqu'à 1 000 tables. Si vous dépassez cette limite, une erreur est signalée lors de l'envoi de la tâche. Pour résoudre ce problème, répartissez les tables sur plusieurs tâches de synchronisation ou synchronisez la base de données entière.

  • Journaux binaires :

    • Vous devez activer la journalisation binaire et définir le paramètre loose_polar_log_bin sur ON. Sinon, une erreur est signalée lors de la prévérification et l'instance DTS ne démarre pas. Pour plus d'informations sur l'activation de la journalisation binaire et la modification des paramètres, consultez Activer la journalisation binaire et Définir les paramètres du cluster et les paramètres des nœuds.

      Remarque

      L'activation de la journalisation binaire pour un cluster PolarDB for MySQL consomme de l'espace de stockage et entraîne des frais.

    • Les journaux binaires du cluster PolarDB for MySQL doivent être conservés pendant au moins 3 jours. Nous vous recommandons de les conserver pendant 7 jours. Sinon, la tâche DTS peut échouer car DTS ne peut pas obtenir les journaux binaires. Dans les cas extrêmes, cela peut provoquer une incohérence ou une perte de données. Les problèmes causés par une période de rétention des journaux binaires inférieure à la période requise ne sont pas couverts par l'accord de niveau de service (SLA) du service DTS.

      Remarque

      Pour plus d'informations sur la définition de la période de rétention des journaux binaires d'un cluster PolarDB for MySQL, consultez Modifier la période de rétention.

  • N'exécutez pas d'opérations DDL modifiant les schémas de base de données ou de tables pendant la synchronisation des schémas ou la synchronisation complète. Sinon, la tâche de synchronisation échoue.

    Remarque

    Pendant la synchronisation 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.

Autres limites

  • Vous ne pouvez pas synchroniser les données depuis un nœud en lecture seule du cluster PolarDB for MySQL source.

  • Vous ne pouvez pas synchroniser les tables externes OSS depuis le cluster PolarDB for MySQL source.

  • La synchronisation des données de type VECTOR n'est pas prise en charge.

  • Le basculement principal/secondaire de l'instance de base de données n'est pas pris en charge lors de la synchronisation initiale des données complètes. En cas de basculement, reconfigurez la tâche de synchronisation.

  • Si votre base de données source utilise des opérations DDL en ligne en mode table temporaire, y compris mais sans s'y limiter, les scénarios de fusion de plusieurs tables, ou ajoute des index basés sur des fonctions aux colonnes de clé unique, une perte de données ou un échec de la tâche peut se produire dans la base de données de destination.

  • En cas de conflit de clé primaire ou de clé unique pendant l'exécution de la tâche :

    • Si les schémas de table sont identiques et qu'un enregistrement de la base de données de destination possède la même valeur de clé primaire ou de clé unique qu'un enregistrement de la base de données source :

      • Pendant la synchronisation complète, DTS conserve l'enregistrement dans le cluster de destination. L'enregistrement correspondant de la base de données source n'est pas synchronisé.

      • Pendant la synchronisation incrémentielle, 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 différents, la synchronisation initiale des données peut échouer. Cela peut entraîner la synchronisation uniquement des données de certaines colonnes ou un échec complet de la synchronisation. Agissez avec prudence.

  • Pendant l'exécution de l'instance DTS, désactivez les déclencheurs et les clés étrangères dans la base de données de destination. Sinon, l'instance DTS échoue.

  • Avant de synchroniser les données, évaluez les performances des bases de données source et de destination. Nous vous recommandons de synchroniser les données pendant les heures creuses. Sinon, la synchronisation initiale des données complètes consomme des ressources de lecture et d'écriture sur les deux bases de données, ce qui peut augmenter la charge de la base de données.

  • La synchronisation initiale des données complètes exécute des opérations INSERT concurrentes, ce qui provoque une fragmentation dans les tables de la base de données de destination. Par conséquent, l'espace de table de l'instance de destination est plus grand que celui de l'instance source après la synchronisation initiale des données complètes.

  • Pour la synchronisation des données au niveau de la table, n'utilisez pas d'outils tels que pt-online-schema-change pour effectuer des opérations DDL en ligne sur les objets de synchronisation dans la base de données source. Sinon, la synchronisation échoue.

  • Pour la synchronisation des données au niveau de la table, si aucune donnée autre que celles provenant de DTS n'est écrite dans la base de données de destination, vous pouvez utiliser Data Management (DMS) pour effectuer des opérations DDL en ligne. Pour plus d'informations, consultez Modifier les schémas sans verrouiller les tables.

  • Pendant la synchronisation DTS, n'écrivez pas de données autres que les données DTS dans la base de données de destination. Sinon, une incohérence des données entre les bases de données source et de destination peut se produire. Par exemple, si vous utilisez DMS pour effectuer des opérations DDL en ligne pendant que d'autres données sont écrites dans la base de données de destination, des données peuvent être perdues.

  • Si la base de données Oracle gérée en interne utilise une architecture Real Application Clusters (RAC), vous ne pouvez pas configurer une adresse IP Single Client Access Name (SCAN). Vous ne pouvez configurer qu'une seule des adresses IP virtuelles (VIP) dans les informations de connexion. Avec cette configuration, le changement de nœud dans le RAC n'est pas pris en charge.

  • En cas d'échec d'une tâche, l'équipe support 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.

    Remarque

    Seuls 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.

Autres remarques

DTS exécute périodiquement la commande CREATE DATABASE IF NOT EXISTS test sur la base de données source pour faire avancer le décalage du journal binaire.

Facturation

Type de synchronisation

Tarification

Synchronisation du schéma et synchronisation complète des données

Gratuit.

Synchronisation incrémentielle des données

Payant. Pour plus d'informations, consultez la rubrique Présentation de la facturation.

Topologies prises en charge

  • Synchronisation unidirectionnelle un-à-un

  • Synchronisation unidirectionnelle un-à-plusieurs

  • Synchronisation unidirectionnelle en cascade

  • Synchronisation unidirectionnelle plusieurs-à-un

Pour obtenir des détails sur les topologies disponibles et les considérations associées, consultez la rubrique Topologies de synchronisation.

Opérations SQL prises en charge

Type d'opération

Opérations SQL

DML

INSERT, UPDATE et DELETE

DDL

  • CREATE TABLE, ALTER TABLE, DROP TABLE, RENAME TABLE et TRUNCATE TABLE

  • ADD COLUMN, DROP COLUMN, MODIFY COLUMN et RENAME COLUMN

  • CREATE INDEX et DROP INDEX

Procédure

  1. Accédez à la page de liste des tâches de synchronisation de la région de destination. Vous pouvez utiliser l'une des deux méthodes suivantes :

    Depuis la console DTS

    1. Connectez-vous à la console Data Transmission Service (DTS).

    2. Dans le volet de navigation de gauche, cliquez sur Data Synchronization.

    3. Dans le coin supérieur gauche de la page, sélectionnez la région où se trouve l'instance de synchronisation.

    Depuis la console DMS

    Remarque

    Les opérations réelles peuvent varier selon le mode et la disposition de la console DMS. Pour plus d'informations, consultez les rubriques Mode simple et Personnaliser la disposition et le style de l'interface DMS.

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

    2. Dans la barre de menu supérieure, choisissez Data + AI > Data Transmission (DTS) > Data Synchronization.

    3. À droite de Data Synchronization Tasks pour ouvrir la page de configuration de la tâche.

    4. Configurez les bases de données source et de destination.

      Catégorie

      Paramètre

      Description

      N/A

      Create Task

      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.

      Task Name

      Source Database

      • Pour utiliser une instance de base de données ajoutée au système (nouvellement créée ou enregistrée), sélectionnez l'instance de base de données dans la liste déroulante. Les informations de la base de données sont configurées automatiquement.

        Remarque

        Dans la console DMS, cet élément de configuration est nommé Select a DMS database instance..

      • Si vous n'avez pas ajouté l'instance de base de données au système ou si vous n'avez pas besoin d'utiliser une instance déjà ajoutée, configurez manuellement les informations de base de données suivantes.

      Database Type

      Sélectionnez PolarDB for MySQL.

      Connection Type

      Sélectionnez Alibaba Cloud Instance.

      Instance Region

      Sélectionnez la région du cluster PolarDB for MySQL source.

      Cross-account

      Cet exemple utilise le même compte Alibaba Cloud. Sélectionnez No.

      PolarDB Cluster ID

      Sélectionnez l'ID du cluster PolarDB for MySQL source.

      Database Account

      Saisissez le compte de base de données pour le cluster PolarDB for MySQL source. Le compte doit disposer d'autorisations de lecture sur les objets à synchroniser.

      Database Password

      Saisissez le mot de passe correspondant au compte de base de données.

      Encryption

      Sélectionnez une option en fonction de vos besoins. Pour plus d'informations, consultez la rubrique Configurer le chiffrement SSL.

      Destination Database

      Select Existing Connection

      • Pour utiliser une instance de base de données ajoutée au système (nouvellement créée ou enregistrée), sélectionnez l'instance de base de données dans la liste déroulante. Les informations de la base de données sont configurées automatiquement.

        Remarque

        Dans la console DMS, cet élément de configuration est nommé Select Existing Connection.

      • Si vous n'avez pas ajouté l'instance de base de données au système ou si vous n'avez pas besoin d'utiliser une instance déjà ajoutée, configurez manuellement les informations de base de données suivantes.

      Select a DMS database instance.

      Sélectionnez Database Type.

      Oracle

      Sélectionnez un type de connexion pour la base de données de destination. Cet exemple utilise Connection Type.

      Remarque

      D'autres types de connexion nécessitent une préparation supplémentaire. Consultez la rubrique Présentation de la préparation.

      Self-managed Database on ECS

      Sélectionnez la région de l'instance Oracle de destination.

      Instance Region

      Sélectionnez l'instance ECS qui héberge la base de données Oracle gérée en interne.

      ECS Instance ID

      Saisissez le port de service de la base de données Oracle gérée en interne. Valeur par défaut : 1521.

      Port Number

      • Oracle Type : Si vous sélectionnez cette option, vous devez également saisir le Non-RAC Instance.

      • SID : Si vous sélectionnez cette option, vous devez également saisir le RAC or PDB Instance.

      Service Name

      Saisissez le compte de base de données pour la base de données Oracle gérée en interne.

      Database Account

      Saisissez le mot de passe correspondant au compte de base de données.

    5. Une fois la configuration terminée, cliquez sur Database Password en bas de la page. Dans la boîte de dialogue Test Connectivity and Proceed.

      Remarque

      Assurez-vous que les blocs CIDR d'adresses IP des serveurs DTS sont ajoutés aux paramètres de sécurité des bases de données source et de destination pour autoriser l'accès depuis les serveurs DTS. Cette opération peut être effectuée automatiquement ou manuellement. Pour plus d'informations, consultez la rubrique Ajouter les blocs CIDR d'adresses IP des serveurs DTS à une liste d'autorisation.

    6. Configurez les objets de la tâche.

      1. Sur la page CIDR Blocks of DTS Servers pour configurer les paramètres avancés.

        Paramètre

        Description

        Test Connectivity

        Par défaut, DTS planifie les tâches sur un cluster partagé et vous n'avez pas besoin de sélectionner un cluster. Pour des performances plus stables, vous pouvez acheter un cluster dédié pour exécuter les tâches de synchronisation DTS. Pour plus d'informations, consultez la rubrique Qu'est-ce qu'un cluster dédié DTS ?.

        Configure Objects

        Après le démarrage d'une tâche de synchronisation, 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 également spécifier une durée de nouvelle tentative personnalisée comprise entre 10 et 1 440 minutes. Nous vous recommandons de définir la durée à 30 minutes ou plus. Si DTS se reconnecte avec succès à la base de données dans la durée spécifiée, la tâche de synchronisation reprend automatiquement. Sinon, la tâche échoue.

        Remarque
        • Si vous disposez de plusieurs instances DTS (par exemple, l'instance A et l'instance B) qui partagent la même source ou destination, et que vous définissez la durée de nouvelle tentative réseau à 30 minutes pour l'instance A et à 60 minutes pour l'instance B, la durée la plus courte de 30 minutes est utilisée pour les deux.

        • Étant donné que DTS facture le temps d'exécution de 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 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.

        Synchronization Types

        Après le démarrage de la tâche de synchronisation, si d'autres problèmes non liés à la connectivité surviennent avec la base de données source ou de destination (tels que des exceptions d'exécution DDL ou DML), DTS signale une erreur et commence immédiatement des opérations de nouvelle tentative continues. La durée de nouvelle tentative par défaut est de 10 minutes. Vous pouvez également personnaliser la durée de nouvelle tentative dans la plage de 1 à 1 440 minutes. Nous vous recommandons de la définir à 10 minutes ou plus. Si les opérations pertinentes aboutissent dans la durée de nouvelle tentative définie, la tâche de synchronisation reprend automatiquement. Sinon, la tâche échoue.

        Important

        La valeur de Incremental Data Synchronization doit être inférieure à celle de Schema Synchronization.

        Full Data Synchronization

        Pendant l'étape de synchronisation complète, DTS consomme des ressources de lecture et d'écriture des bases de données source et de destination, ce qui peut augmenter la charge de la base de données. Pour réduire la charge sur les bases de données source et de destination, vous pouvez définir une limite de débit pour la tâche de synchronisation complète en configurant les paramètres Processing Mode for Existing Tables in Destination, Precheck and Report Errors et Ignore Errors and Proceed.

        Remarque
        • Cet élément de configuration est disponible uniquement lorsque Ignore Errors and Proceed est défini sur Case Sensitivity Policy for Destination Object Names.

        • Vous pouvez également ajuster le débit de synchronisation complète après le démarrage de l'instance de synchronisation.

        DTS default policy

        Vous pouvez également définir une limite de débit pour la tâche de synchronisation incrémentielle. Pour soulager la pression sur la base de données de destination, définissez les paramètres Source Objects et Source Objects.

        Selected Objects

        Facultatif. Sélectionnez une balise d'environnement pour identifier l'instance.

        Selected Objects

        Choisissez si vous souhaitez écrire les informations SQL de pulsation dans la base de données source lorsque l'instance DTS est en cours d'exécution.

        • Selected Objects : Les informations SQL de pulsation ne sont pas écrites dans la base de données source. Cela peut entraîner un retard signalé par l'instance DTS.

        • Batch Edit : Écrit les informations SQL de pulsation dans la base de données source. Cela peut interférer avec des fonctionnalités telles que la sauvegarde physique et le clonage de la base de données source.

        Selected Objects

        Choisissez si vous souhaitez activer la fonctionnalité extract, transform, and load (ETL). Pour plus d'informations, consultez la rubrique Qu'est-ce que l'ETL ? Valeurs valides :

        Retry Time for Failed Connections

        Spécifiez si vous souhaitez configurer des alertes. Si la synchronisation échoue ou si la latence dépasse le seuil spécifié, une notification est envoyée à un contact d'alerte.

      2. Cliquez sur Retry Time for Failed Connections pour configurer une tâche de validation des données.

        Si vous souhaitez utiliser la fonctionnalité de validation des données, consultez la rubrique Configurer la validation des données pour obtenir des instructions de configuration.

    7. Enregistrez la tâche et exécutez une prévérification.

      • Pour afficher les paramètres API de configuration de cette instance, placez le curseur sur le bouton Enable Throttling for Full Data Synchronization et cliquez sur Queries per second (QPS) to the source database dans la bulle.

      • Une fois que vous avez terminé de consulter les paramètres API, cliquez sur RPS of Full Data Migration en bas de la page.

      Remarque
      • Avant le démarrage de la tâche de synchronisation, DTS exécute une prévérification. La tâche ne peut démarrer qu'après la réussite de tous les éléments de prévérification.

      • Si la prévérification échoue, cliquez sur Data migration speed for full migration (MB/s) pour l'élément ayant échoué. Corrigez le problème comme indiqué, puis exécutez à nouveau la prévérification.

      • Si la prévérification renvoie un avertissement :

        • Si un élément de vérification échoue et ne peut pas être ignoré, cliquez sur Synchronization Types à côté de l'élément. Suivez les instructions pour corriger le problème, puis exécutez à nouveau la prévérification.

        • Pour les éléments de vérification qui peuvent être ignorés, vous pouvez cliquer successivement sur Full Data Synchronization et Enable Throttling for Incremental Data Synchronization pour ignorer l'avertissement et relancer la prévérification. Si vous choisissez de masquer l'élément d'avertissement, cela peut entraîner des problèmes tels que l'incohérence des données et présenter des risques pour votre activité.

    8. Achetez l'instance DTS.

      1. Lorsque le RPS of Incremental Data Synchronization atteint 100 %, cliquez sur Data synchronization speed for incremental synchronization (MB/s).

      2. Sur la page Environment Tag.

      3. Cliquez sur Whether to delete SQL operations on heartbeat tables of forward and reverse tasks. Dans la boîte de dialogue Yes.

        Vous pouvez consulter la progression de la tâche sur la page Data Synchronization.