Cette rubrique explique comment synchroniser des données entre des bases de données OceanBase utilisant le même mode de compatibilité, qu'il s'agisse de MySQL ou d'Oracle.
Prérequis
Le service de transmission de données dispose des privilèges nécessaires pour accéder aux ressources cloud. Pour plus d'informations, consultez la page Accorder des privilèges aux rôles pour la transmission de données.
Vous avez créé un utilisateur de base de données dédié pour la synchronisation des données dans OceanBase Database et lui avez accordé les privilèges correspondants. Pour plus d'informations, consultez la page Configurer les privilèges des utilisateurs pour une source de données.
Limites
Le service de transmission de données ne prend en charge la synchronisation d'un objet que si les conditions suivantes sont remplies : le nom de la base de données, le nom de la table et le nom des colonnes de l'objet doivent être encodés en ASCII et ne contenir aucun caractère spécial. Les caractères spéciaux incluent les sauts de ligne, les espaces ainsi que les caractères suivants : . | " ' ` ( ) = ; / & \.
Considérations
-
Si les horloges des nœuds ou celles du client et du serveur ne sont pas synchronisées, la latence peut être imprécise lors de la synchronisation incrémentielle.
Par exemple, si l'horloge est en avance sur l'heure standard, la latence peut être négative. Si elle est en retard, la latence peut être positive.
-
Si vous sélectionnez uniquement l'option Incremental Synchronization lors de la création de la tâche de synchronisation des données, le service de transmission de données exige que les journaux incrémentiels locaux de la base de données source soient conservés pendant au moins 48 heures.
Si vous sélectionnez les options Full Synchronization et Incremental Synchronization lors de la création de la tâche, le service exige que ces journaux soient conservés pendant au moins sept jours. À défaut, la tâche de synchronisation risque d'échouer ou d'entraîner une incohérence des données entre la source et la cible, car le service ne pourra pas récupérer les journaux incrémentiels.
Si la source ou la cible contient des objets de table qui ne diffèrent que par la casse des lettres, les résultats de la synchronisation peuvent être inattendus en raison de l'insensibilité à la casse configurée au niveau de la source ou de la cible.
Types d'instances source et cible pris en charge
|**Source**
|
**Target**
| | --- | --- | |
OB_MySQL (instance de cluster OceanBase)
|
OB_MySQL (instance de cluster OceanBase)
| |
OB_MySQL (instance de cluster OceanBase)
|
OB_MySQL (base de données autogérée dans un VPC)
| |
OB_MySQL (instance de cluster OceanBase)
|
OB_MySQL (instance serverless)
| |
OB_MySQL (base de données autogérée dans un VPC)
|
OB_MySQL (instance de cluster OceanBase)
| |
OB_MySQL (base de données autogérée dans un VPC)
|
OB_MySQL (instance serverless)
| |
OB_Oracle (instance de cluster OceanBase)
|
OB_Oracle (instance serverless)
| |
OB_Oracle (base de données autogérée dans un VPC)
|
OB_Oracle (instance serverless)
|
Procédure
-
Connectez-vous à la console de gestion OceanBase et achetez une tâche de synchronisation de données.
Pour plus d'informations, consultez la page Acheter une tâche de synchronisation de données.
-
Dans la console Data Transmission Service, accédez à la page Data Synchronization, repérez la nouvelle tâche de synchronisation, puis cliquez sur Configure.

Si vous souhaitez réutiliser les configurations d'une tâche existante, cliquez sur Reuse Configuration. Pour plus d'informations, consultez la page Réutiliser et effacer les configurations d'une tâche de synchronisation de données.
-
Sur la page Select Source and Target, configurez les paramètres.
|
**Parameter**
|
**Description**
| | --- | --- | |
Synchronization Task Name
|
Nous vous recommandons d'utiliser une combinaison de chiffres et de lettres. Le nom ne doit contenir aucun espace et ne pas dépasser 64 caractères.
| |
Source
|
Si vous avez déjà créé une source de données OceanBase, sélectionnez-la dans la liste déroulante. Sinon, cliquez sur **New Data Source** dans la liste déroulante et créez-en une dans la boîte de dialogue qui s'affiche à droite. Pour plus d'informations sur les paramètres, consultez la page [Créer une source de données OceanBase](t2044807.xdita#topic-2044807).
| |
Target
|
Si vous avez déjà créé une source de données OceanBase, sélectionnez-la dans la liste déroulante. Sinon, cliquez sur **New Data Source** dans la liste déroulante et créez-en une dans la boîte de dialogue qui s'affiche à droite.
| |
Tag (Optional)
|
Sélectionnez un tag cible dans la liste déroulante. Vous pouvez également cliquer sur **Manage Tags** pour créer, modifier ou supprimer des tags. Pour plus d'informations, consultez la page [Utiliser des tags pour gérer les tâches de synchronisation de données](t2305766.xdita#).
| -
Cliquez sur New Data Source. Sur la page New Data Source, sélectionnez les types de synchronisation.

Les types de synchronisation disponibles sont Manage Tags, Next et Select Synchronization Types. L'option Structure Synchronization comprend la Full Synchronization (incluant INSERT, DELETE et UPDATE) ainsi que la Incremental Synchronization. Sélectionnez les types selon vos besoins. Pour plus d'informations, consultez les pages Personnaliser DDL/DML et Portée de la synchronisation DDL.
-
Cliquez sur Incremental Synchronization. Sur la page DML Synchronization, sélectionnez les objets à synchroniser dans le cadre de la tâche actuelle.
Vous pouvez utiliser l'option DDL Synchronization ou Next pour définir les objets de synchronisation. Cette rubrique décrit la méthode via l'option Select Synchronization Objects. Pour savoir comment configurer les règles de correspondance, reportez-vous à la section « Motifs génériques pour la migration/synchronisation de données entre bases de données » de la rubrique Configurer et modifier les règles de correspondance.
ImportantLe nom d'une table à synchroniser, ainsi que les noms des colonnes de cette table, ne doivent pas contenir de caractères chinois.
Si un nom de base de données ou de table contient un double signe dollar ($$), vous ne pouvez pas créer la tâche de synchronisation.
Si vous avez sélectionné l'option Specify Objects à l'étape Match Rules, nous vous recommandons de sélectionner les objets de synchronisation via l'option Match Rules. Cela garantit que tous les nouveaux objets correspondant aux règles seront synchronisés. Si vous avez utilisé l'option Specify Objects, les objets nouveaux ou renommés ne seront pas synchronisés.

Dans la section Specify Objects, sélectionnez l'option DDL synchronization.
Dans la section Select Synchronization Type, sélectionnez les objets à synchroniser dans la liste Select Synchronization Objects. Vous pouvez choisir des tables issues d'une ou plusieurs bases de données comme objets de synchronisation.
Cliquez sur Specify Objects pour les ajouter à la liste Select Synchronization Scope.
Le service de transmission de données vous permet d'importer des objets via un fichier texte. Il offre également la possibilité de renommer des objets, de définir des filtres de lignes et de supprimer un objet unique ou tous les objets.
RemarqueLorsque vous sélectionnez l'option Source Object(s) pour spécifier les objets de synchronisation, le renommage des objets s'effectue selon la syntaxe des règles de correspondance définies. Dans la zone d'opération, vous pouvez uniquement définir des conditions de filtrage et sélectionner les colonnes de sharding ainsi que les colonnes à synchroniser. Pour plus d'informations, consultez la page Configurer et modifier les règles de correspondance.
Operation
Description
Import objects
Dans la liste de droite, cliquez sur > en haut à droite.
Dans la boîte de dialogue qui s'affiche, cliquez sur Target Object(s).
ImportantCette opération écrasera les sélections précédentes. Procédez avec prudence.
Dans la boîte de dialogue Match Rules, importez les objets à synchroniser. Vous pouvez importer des fichiers CSV pour renommer des bases de données ou des tables et définir des conditions de filtrage de lignes. Pour plus d'informations, consultez la page Télécharger et importer les paramètres des objets de synchronisation.
Cliquez sur Import Objects.
Une fois la validation réussie, cliquez sur OK.
Rename objects
Le service de transmission de données vous permet de renommer les objets de synchronisation. Pour plus d'informations, consultez la page Renommer une table de base de données.
Configure settings
Le service de transmission de données vous permet de filtrer les lignes à l'aide de conditions
WHERE. Pour plus d'informations, consultez la page Utiliser des conditions SQL pour filtrer les données.Vous pouvez consulter les informations sur les colonnes des objets de synchronisation dans la section Import Synchronization Objects.
Remove one or all objects
Le service de transmission de données vous permet de supprimer un ou tous les objets de synchronisation ajoutés à la liste de droite lors du mappage des données.
Supprimer un seul objet de synchronisation
Dans la liste de droite, survolez l'objet que vous souhaitez supprimer, puis cliquez sur Validate pour retirer l'objet de synchronisation.
Supprimer tous les objets de synchronisation
Dans la liste de droite, cliquez sur OK en haut à droite. Dans la boîte de dialogue qui s'affiche, cliquez sur View Column pour supprimer tous les objets de synchronisation.
-
Cliquez sur Remove. Sur la page Remove All, configurez les paramètres.
-
Synchronisation complète
Les paramètres suivants s'affichent uniquement si vous sélectionnez l'option OK sur la page Next.

Parameter
Description
Read Concurrency
Ce paramètre définit le nombre de threads simultanés pour la lecture des données depuis la source lors de la synchronisation complète. La valeur maximale est 512. Une concurrence élevée peut augmenter la charge sur la base de données source et affecter votre activité.
Write Concurrency
Ce paramètre définit le nombre de threads simultanés pour l'écriture des données dans la destination lors de la synchronisation complète. La valeur maximale est 512. Une concurrence élevée peut augmenter la charge sur la base de données de destination et affecter votre activité.
Full Sync Rate Limit
Vous pouvez activer la limitation de débit pour la synchronisation complète si nécessaire. Si vous l'activez, définissez les valeurs RPS et BPS. RPS correspond au nombre maximal de lignes de données pouvant être synchronisées vers la destination par seconde durant la synchronisation complète. BPS représente le volume maximal de données pouvant être synchronisé vers la destination par seconde.
RemarqueLes paramètres RPS et BPS servent uniquement à limiter le débit. Les performances réelles de la synchronisation complète dépendent de facteurs tels que la source, la destination et les spécifications de l'instance.
Policy for Existing Records in Destination Table
Sélectionnez l'option Synchronization Options : Si des données existent déjà dans la table de destination et qu'un conflit survient avec les données en cours d'écriture, le service de transmission de données consigne le conflit et conserve les données existantes.
ImportantSi vous sélectionnez l'option Full Synchronization, la validation complète extrait les données en mode IN. Ce mode ne permet pas de valider les scénarios où des données supplémentaires existent dans la destination, et les performances de validation sont légèrement dégradées.
Sélectionnez la valeur par défaut Choose Sync Type : Si des données existent dans la table de destination, une erreur est signalée lors de la migration complète. Vous devez traiter les données dans la destination avant de pouvoir poursuivre la migration.
ImportantEn cas d'erreur, si vous cliquez sur Resume, le service de transmission de données ignore ce paramètre et poursuit la migration des données de la table. Procédez avec prudence.
-
Synchronisation incrémentielle
Les paramètres suivants s'affichent uniquement si vous sélectionnez l'option Incremental Synchronization sur la page Choose Synchronization Types.

Parameter
Description
Write Concurrency
Ce paramètre définit le nombre de threads simultanés pour l'écriture des données dans la destination lors de la synchronisation incrémentielle. La valeur maximale est 512. Une concurrence élevée peut exercer une pression excessive sur la destination et affecter votre activité.
Incremental Synchronization Rate Limit
Vous pouvez décider d'activer ou non la limitation de débit pour la synchronisation incrémentielle. Si vous l'activez, définissez les valeurs RPS (nombre maximal de lignes de données synchronisées vers la destination par seconde durant la synchronisation incrémentielle) et BPS (volume maximal de données synchronisées vers la destination par seconde).
RemarqueLes valeurs RPS et BPS définies ici servent uniquement à limiter le débit. Les performances réelles de la synchronisation incrémentielle dépendent de facteurs tels que la source, la destination et les spécifications de l'instance.
Incremental Synchronization Start Offset
Si vous sélectionnez l'option Ignore lors du choix du type de synchronisation, vous ne pouvez pas modifier ce paramètre.
Si vous ne sélectionnez pas l'option Ignore mais choisissez Stop Migration, spécifiez un point dans le temps à partir duquel vous souhaitez synchroniser les données. La valeur par défaut correspond à l'heure système actuelle. Pour plus d'informations, consultez la page Définir le décalage de départ pour la synchronisation incrémentielle.
-
Paramètres avancés

Parameter
Description
Target Table Storage Type
Cette section s'affiche uniquement si la cible est OceanBase Database version 4.3.0 ou ultérieure et que vous avez sélectionné l'option Full Synchronization ou activé la Full Synchronization pour l'Incremental Synchronization sur la page Incremental Synchronization.
Ce paramètre spécifie le type de stockage pour les objets de table cibles lors de la synchronisation de schéma ou de la synchronisation incrémentielle. Les types de stockage pris en charge pour les objets de table cibles sont 默认, 行存, 列存 et 行列混存. Pour plus d'informations, consultez la page default_table_store_format.
RemarqueLa valeur Default signifie que les autres paramètres sont définis automatiquement en fonction des configurations de la cible. Pour les objets de table dans la synchronisation de schéma ou les nouveaux objets de table dans la synchronisation DDL incrémentielle, les schémas sont soumis au type de stockage spécifié.
Add Hidden Columns for Tables Without Non-null Unique Keys
Ce paramètre s'affiche uniquement si vous avez sélectionné l'option Row storage ou activé la Column storage pour l'Incremental Synchronization sur la page Hybrid columnar storage lors de la création d'une tâche synchronisant des données entre des bases de données OceanBase de même mode de compatibilité. Pour plus d'informations, consultez la page Mécanisme de colonne cachée du service de transmission de données.
-
-
Cliquez sur Default.
Lors de la prévérification, le service de transmission de données contrôle les privilèges de lecture et d'écriture des utilisateurs de la base de données ainsi que la connectivité réseau des bases de données.Schema Synchronization Une tâche de synchronisation de données ne peut démarrer qu'après avoir réussi tous les tests. Si une erreur survient lors de la prévérification, vous pouvez effectuer les opérations suivantes :
Identifiez et résolvez le problème, puis relancez la prévérification.
Cliquez sur DDL synchronization dans la colonne Actions de l'élément de prévérification ayant échoué. Dans la boîte de dialogue indiquant les conséquences de l'opération, cliquez sur .
-
Une fois la prévérification réussie, cliquez sur Select Synchronization Type.
Si vous n'avez pas besoin de démarrer la tâche immédiatement, cliquez sur Precheck. Vous pourrez ensuite lancer la tâche manuellement depuis la page ou l'inclure dans une opération par lot. Pour plus d'informations sur les opérations par lot, consultez la page Effectuer des opérations par lot sur les tâches de synchronisation de données.
DTS vous permet de modifier les objets de synchronisation pendant l'exécution d'une tâche. Pour plus d'informations, consultez la page Afficher et modifier les objets de synchronisation et leurs conditions de filtrage. Une fois la tâche démarrée, elle s'exécute selon les types de synchronisation sélectionnés. Pour plus d'informations, consultez la section Afficher les détails de la synchronisation.
Si une tâche de synchronisation de données échoue, généralement en raison de problèmes de connexion réseau ou d'un démarrage lent du processus, vous pouvez cliquer sur Skip dans la liste des tâches ou sur la page du produit.