Utilisez Data Transmission Service (DTS) pour mettre en place une réplication de données bidirectionnelle entre deux clusters PolarDB for PostgreSQL. La synchronisation bidirectionnelle maintient les deux clusters synchronisés en exécutant simultanément une tâche directe (du cluster A vers le cluster B) et une tâche inverse (du cluster B vers le cluster A).
Pour éviter les conflits de données, partitionnez le trafic d'écriture au niveau de l'application afin que les enregistrements ayant la même clé primaire ne soient mis à jour que dans un seul cluster à la fois. Sans cette partition, les écritures simultanées sur la même clé primaire dans les deux clusters provoquent des conflits que DTS ne peut pas entièrement prévenir.
Prérequis
Avant de commencer, assurez-vous que :
Les clusters source et destination PolarDB for PostgreSQL existent. Consultez Créer un cluster de base de données.
Une base de données existe dans le cluster destination pour recevoir les données. Consultez Gestion des bases de données.
Le paramètre
wal_levelest défini surlogicalsur les deux clusters. Consultez Définir les paramètres du cluster.Les deux clusters prennent en charge et ont activé Logical Replication Slot Failover. Sans cela, un basculement primaire/secondaire dans le cluster source peut entraîner l'échec de l'instance de synchronisation et la rendre irrécupérable.
Si le cluster source PolarDB for PostgreSQL ne prend pas en charge Logical Replication Slot Failover (par exemple, si le Database Engine du cluster est PostgreSQL 14 ), un basculement haute disponibilité (HA) dans la base de données source peut entraîner l'échec de l'instance de synchronisation et la rendre irrécupérable. Pour connaître les versions de base de données prises en charge, consultez Aperçu de la synchronisation . Faites correspondre les spécifications du cluster destination à celles du cluster source.
Facturation
| Type de synchronisation | Tarification |
|---|---|
| Synchronisation du schéma et synchronisation complète des données | Gratuit |
| Synchronisation incrémentielle des données | Payant. Consultez Aperçu de la facturation. |
Limites
Exigences relatives à la base de données source
Les tables doivent avoir une clé primaire ou un index unique non nul.
Évitez les transactions de longue durée sur le cluster source. Les transactions non validées provoquent une accumulation des journaux de transaction anticipés (WAL), ce qui peut épuiser l'espace disque.
Si une seule modification incrémentielle dépasse 256 Mo, l'instance de synchronisation échoue et ne peut pas être récupérée. Reconfigurez la tâche depuis le début.
N'exécutez pas d'opérations DDL pendant la synchronisation du schéma ou la synchronisation complète des données. DTS crée des verrous de métadonnées lors de la synchronisation complète qui peuvent bloquer les opérations DDL sur la source.
Objets non pris en charge
DTS ne synchronise pas :
Les tables d'extension TimescaleDB
Les tables avec héritage inter-schémas
Les tables avec des index uniques basés sur des expressions
Les schémas créés par l'installation de plugins
Tables partitionnées
Incluez à la fois la table parente et toutes les partitions enfants comme objets de synchronisation. Une table partitionnée PostgreSQL ne stocke aucune donnée dans la table parente — toutes les données résident dans les partitions enfants. Si vous omettez une partition enfant, ces données ne seront pas synchronisées.
Colonnes SERIAL et séquences
Si une table synchronisée possède une colonne SERIAL, PostgreSQL crée automatiquement une séquence sous-jacente. Lorsque Schema Synchronization est sélectionné, sélectionnez également Sequence ou synchronisez l'intégralité du schéma pour éviter les échecs de l'instance de synchronisation.
Après un basculement métier vers le cluster destination, les séquences ne reprennent pas automatusement à partir de la valeur maximale de la source. Avant le basculement, exécutez la requête suivante sur le cluster source pour obtenir les valeurs actuelles des séquences, puis appliquez les instructions setval retournées sur le cluster destination :
do language plpgsql $$
declare
nsp name;
rel name;
val int8;
begin
for nsp,rel in select nspname,relname from pg_class t2 , pg_namespace t3 where t2.relnamespace=t3.oid and t2.relkind='S'
loop
execute format($_$select last_value from %I.%I$_$, nsp, rel) into val;
raise notice '%',
format($_$select setval('%I.%I'::regclass, %s);$_$, nsp, rel, val+1);
end loop;
end;
$$;
La requête renvoie des instructions setval pour toutes les séquences de la base de données source. Exécutez uniquement les instructions pertinentes pour les tables que vous avez synchronisées.
Tables nécessitant REPLICA IDENTITY FULL
Exécutez ALTER TABLE schema.table REPLICA IDENTITY FULL; sur les tables sources avant d'écrire des données dans l'une des trois situations suivantes :
Lorsque l'instance de synchronisation s'exécute pour la première fois.
Lors de l'utilisation de la sélection d'objets au niveau du schéma et qu'une nouvelle table est ajoutée au schéma, ou qu'une table existante est reconstruite avec
RENAME.Lors de l'utilisation de la fonctionnalité de modification des objets de synchronisation.
Exécutez cette commande pendant les heures creuses et évitez les verrouillages de table pour prévenir les interblocages. Si vous ignorez les éléments de précontrôle associés, DTS exécute cette commande automatiquement lors de l'initialisation.
Clés étrangères, déclencheurs et déclencheurs d'événements
Pour les tables avec des clés étrangères, des déclencheurs ou des déclencheurs d'événements, DTS définit temporairement session_replication_role sur replica au niveau de la session si le compte de la base de données destination est un compte privilégié ou dispose des autorisations superutilisateur. Si le compte ne dispose pas de ces autorisations, définissez manuellement session_replication_role sur replica sur la destination. Les opérations de mise à jour ou de suppression en cascade sur la source durant cette période peuvent provoquer une incohérence des données. Une fois la tâche DTS libérée, réinitialisez session_replication_role sur origin.
Slots de réplication
DTS crée un slot de réplication avec le préfixe dts_sync_ dans la base de données source pour lire les journaux incrémentiels datant jusqu'à 15 minutes. Lorsqu'une tâche de synchronisation échoue ou que son instance est libérée, DTS tente de nettoyer automatiquement le slot.
Le slot ne peut pas être nettoyé automatiquement si vous modifiez le mot de passe du compte de la base de données source ou si vous supprimez les adresses IP DTS de la liste d'autorisation du cluster source. Dans ces cas, supprimez manuellement le slot de réplication dans la base de données source pour éviter l'épuisement du disque. En cas de basculement, connectez-vous au nœud secondaire pour effacer le slot.

Tables temporaires
DTS crée les tables temporaires suivantes dans la base de données source pour capturer les instructions DDL, les structures de table incrémentielles et les données de pulsation. Ne supprimez pas ces tables tant que la tâche est en cours d'exécution — elles sont supprimées automatiquement lorsque l'instance DTS est libérée :
public.dts_pg_class, public.dts_pg_attribute, public.dts_pg_type, public.dts_pg_enum, public.dts_postgres_heartbeat, public.dts_ddl_command, public.dts_args_session, public.aliyun_dts_instance
Autres limites
Une seule tâche de synchronisation peut synchroniser une seule base de données. Créez une tâche distincte pour chaque base de données supplémentaire.
N'écrivez pas de données dans le cluster destination à partir de sources autres que DTS pendant la synchronisation. Cela provoque une incohérence des données.
Une tâche de synchronisation bidirectionnelle comprend des tâches de synchronisation directe et inverse. Lors de la configuration ou de la réinitialisation de la tâche, si l'objet destination d'une tâche correspond à l'objet de synchronisation de l'autre tâche : une seule tâche peut effectuer une synchronisation complète et incrémentielle ; l'autre prend uniquement en charge la synchronisation incrémentielle. Les données de la source d'une tâche sont synchronisées uniquement vers la destination de cette tâche — elles ne deviennent pas des données source pour l'autre tâche.
La synchronisation complète des données exécute des opérations INSERT concurrentes et consomme des ressources de lecture et d'écriture sur les deux clusters. Exécutez la synchronisation complète pendant les heures creuses lorsque la charge CPU sur les deux clusters est inférieure à 30 %. Attendez-vous à ce que l'espace de table destination soit plus grand que celui de la source après la synchronisation complète en raison de la fragmentation des tables.
DTS valide le contenu des données mais ne valide pas les métadonnées telles que les séquences. Validez les métadonnées manuellement.
Si une tâche échoue, l'assistance DTS tente de la restaurer dans un délai de 8 heures. La restauration peut impliquer le redémarrage de la tâche ou l'ajustement des paramètres de la tâche (et non des paramètres de la base de données). Consultez Modifier les paramètres de l'instance pour la liste des paramètres ajustables.
Détection et résolution des conflits
Dans la synchronisation bidirectionnelle, le même enregistrement peut être modifié simultanément sur les deux clusters. DTS détecte les types de conflits suivants et applique la politique de résolution des conflits que vous configurez :
| Type de conflit | Ce que DTS détecte | Réponse de DTS |
|---|---|---|
| INSERT dupliqué | Deux clusters insèrent une ligne avec la même clé primaire | Applique la politique de résolution des conflits configurée lors de la synchronisation de l'INSERT conflictuel vers le cluster pair |
| UPDATE sans ligne correspondante | La ligne à mettre à jour n'existe pas dans la destination | Convertit l'UPDATE en INSERT ; applique la politique de conflit si un conflit d'unicité en résulte |
| UPDATE avec conflit de clé | L'UPDATE provoque une violation de clé primaire ou unique | Applique la politique de résolution des conflits configurée |
| DELETE sans ligne correspondante | La ligne à supprimer n'existe pas dans la destination | Ignore le DELETE quelle que soit la politique configurée |
DTS ne peut pas garantir une prévention des conflits à 100 % en raison de la latence réseau et des différences d'horloge entre les clusters. Pour assurer la cohérence, mettez à jour les enregistrements ayant la même clé primaire ou unique sur un seul cluster à la fois.
Politiques de résolution des conflits
Sélectionnez une politique lors de la configuration de la tâche de synchronisation bidirectionnelle :
| Politique | Comportement |
|---|---|
| TaskFailed | La tâche s'arrête et passe à l'état d'échec si un conflit se produit. Une intervention manuelle est nécessaire pour reprendre. |
| Ignore | L'instruction conflictuelle est ignorée. L'enregistrement existant dans le cluster destination est conservé. |
| Overwrite | L'enregistrement conflictuel dans le cluster destination est écrasé par les données de la source. |
Ces politiques s'appliquent uniquement lorsque la tâche s'exécute normalement. Si la tâche est mise en pause ou redémarrée avec une latence, DTS écrase par défaut les données de destination quelle que soit la politique configurée.
Objets de synchronisation pris en charge
DTS synchronise les objets SCHEMA et TABLE, y compris PRIMARY KEY, UNIQUE KEY, FOREIGN KEY, les types de données intégrés et DEFAULT CONSTRAINT.
Les objets pris en charge varient selon le type de base de données destination. Vérifiez la console DTS pour plus de détails.
Opérations SQL prises en charge
Les opérations DDL sont synchronisées uniquement dans la tâche directe (de la source vers la destination). La tâche inverse filtre automatiquement les opérations DDL.
| Type d'opération | Instructions prises en charge |
|---|---|
| DML | INSERT, UPDATE, DELETE |
| DDL | CREATE TABLE, DROP TABLE, ALTER TABLE (RENAME TABLE, ADD COLUMN, ADD COLUMN DEFAULT, ALTER COLUMN TYPE, DROP COLUMN, ADD CONSTRAINT, ADD CONSTRAINT CHECK, ALTER COLUMN DROP DEFAULT), TRUNCATE TABLE (nécessite le moteur source PostgreSQL 11 ou version ultérieure), CREATE INDEX ON TABLE |
Conditions de prise en charge des DDL :
La synchronisation DDL est disponible uniquement pour les tâches créées après le 1er octobre 2020.
Pour les tâches créées avant le 12 mai 2023, créez des déclencheurs et des fonctions dans la base de données source pour capturer les instructions DDL avant de configurer la tâche. Consultez Utiliser des déclencheurs et des fonctions pour implémenter la migration DDL incrémentielle pour PostgreSQL.
Les données de type bit ne sont pas prises en charge lors de la synchronisation incrémentielle des données.
Modèles DDL non pris en charge :
Instructions DDL contenant des clauses CASCADE ou RESTRICT
Instructions DDL exécutées dans des sessions où
SET session_replication_role = replicaest actifInstructions DDL invoquées via des fonctions
Transactions mélangeant des instructions DML et DDL (le DDL n'est pas synchronisé)
DDL pour les objets non inclus dans l'étendue de la synchronisation
Autorisations de compte de base de données requises
| Base de données | Autorisation requise | Comment créer et accorder |
|---|---|---|
| Clusters source et destination PolarDB for PostgreSQL | Un compte privilégié propriétaire de la base de données | Créer un compte de base de données et Gestion des bases de données |
Configurer la synchronisation bidirectionnelle
La synchronisation bidirectionnelle nécessite une tâche directe et une tâche inverse. Configurez d'abord la tâche directe (étapes 1 à 7), puis configurez la tâche inverse (étape 8).
Différences de configuration entre les tâches directes et inverses
Avant de commencer, examinez les différences entre les deux tâches. La configuration incorrecte des paramètres dans la tâche inverse est la source d'erreurs la plus courante.
| Paramètre | Tâche directe (A vers B) | Tâche inverse (B vers A) |
|---|---|---|
| Base de données source | Cluster A | Cluster B (identique à la destination de la tâche directe) |
| Base de données destination | Cluster B | Cluster A (identique à la source de la tâche directe) |
| Région de l'instance | Configurable | Ne peut pas être modifiée |
| Synchronisation du schéma | Sélectionnable | Non applicable (moins d'options disponibles) |
| Synchronisation complète des données | Sélectionnable | Non sélectionnable — incrémentiel uniquement |
| Synchronisation DDL | Configurable | Filtré automatiquement |
| Mappage des noms d'objets | Pris en charge | Non recommandé — peut provoquer une incohérence des données |
| Vérification des tables conflictuelles | Vérifie toutes les tables de destination | Ne vérifie pas les tables déjà synchronisées par la tâche directe |
Étape 1 : Ouvrir la liste des tâches de synchronisation des données
Ouvrez la liste des tâches DTS en utilisant soit la console DTS, soit la console DMS.
Console DTS
Connectez-vous à la console DTS.Console DTS
Dans le volet de navigation de gauche, cliquez sur Data Synchronization.
Dans le coin supérieur gauche, sélectionnez la région de l'instance de synchronisation.
Console DMS
Les étapes peuvent varier selon le mode de votre console DMS. Consultez Console en mode simple et Personnaliser la disposition et le style de la console DMS .
Connectez-vous à la console DMS.Console DMS
Dans la barre de menu supérieure, choisissez Data + AI > DTS (DTS) > Data Synchronization.
À droite de Data Synchronization Tasks, sélectionnez la région de l'instance de synchronisation.
Étape 2 : Créer la tâche
Cliquez sur Create Task pour ouvrir la page de configuration de la tâche.
Étape 3 : Configurer les bases de données source et destination
| Champ | Valeur |
|---|---|
| Task Name | DTS génère un nom automatiquement. Saisissez un nom descriptif pour une identification facile. Les noms n'ont pas besoin d'être uniques. |
| Source Database | |
| Select Existing Connection | Sélectionnez une instance de base de données enregistrée dans la liste pour remplir automatiquement les champs ci-dessous. Dans la console DMS, ce champ est intitulé Select a DMS database instance. Si aucune instance enregistrée n'est disponible, remplissez manuellement les champs ci-dessous. |
| Database Type | Sélectionnez PolarDB for PostgreSQL. |
| Access Method | Sélectionnez Alibaba Cloud Instance. |
| Instance Region | Sélectionnez la région du cluster source PolarDB for PostgreSQL. |
| Replicate Data Across Alibaba Cloud Accounts | Sélectionnez No si le cluster source appartient au compte Alibaba Cloud actuel. |
| Instance ID | Sélectionnez l'ID du cluster source PolarDB for PostgreSQL. |
| Database Name | Saisissez le nom de la base de données contenant les objets à synchroniser. |
| Database Account | Saisissez le compte pour le cluster source. Consultez Autorisations de compte de base de données requises. |
| Database Password | Saisissez le mot de passe du compte. |
| Destination Database | |
| Select Existing Connection | Sélectionnez une instance de base de données enregistrée dans la liste. Dans la console DMS, ce champ est intitulé Select a DMS database instance. |
| Database Type | Sélectionnez PolarDB for PostgreSQL. |
| Access Method | Sélectionnez Alibaba Cloud Instance. |
| Instance Region | Sélectionnez la région du cluster destination PolarDB for PostgreSQL. |
| Instance ID | Sélectionnez l'ID du cluster destination PolarDB for PostgreSQL. |
| Database Name | Saisissez le nom de la base de données dans le cluster destination qui recevra les données. |
| Database Account | Saisissez le compte pour le cluster destination. Consultez Autorisations de compte de base de données requises. |
| Database Password | Saisissez le mot de passe du compte. |
Cliquez sur Test Connectivity and Proceed en bas de la page.
DTS doit pouvoir atteindre les deux clusters. Ajoutez les blocs d'adresses IP du service DTS aux paramètres de sécurité des deux clusters — soit automatiquement pendant le test de connectivité, soit manuellement au préalable. Consultez Ajouter la liste d'autorisation d'adresses IP des serveurs DTS .
Étape 4 : Configurer les objets de synchronisation
Sur la page Configure Objects , définissez les options suivantes :
| Option | Description |
|---|---|
| Synchronization Types | Incremental Data Synchronization est toujours sélectionné. Par défaut, Schema Synchronization et Full Data Synchronization sont également sélectionnés. DTS utilise les données complètes des objets source sélectionnés pour initialiser le cluster destination, qui devient la référence pour la synchronisation incrémentielle. |
| Synchronization Topology | Sélectionnez Two-way Synchronization. |
| Exclude DDL Operations | Sélectionnez Yes pour ignorer la synchronisation DDL. Sélectionnez No pour synchroniser les opérations DDL. La synchronisation DDL s'applique uniquement à la tâche directe ; la tâche inverse filtre automatiquement les DDL. |
| Global Conflict Resolution Policy | Sélectionnez l'une des politiques suivantes en fonction de vos besoins métier : TaskFailed — la tâche s'arrête en cas de conflit et nécessite une intervention manuelle ; Ignore — l'instruction conflictuelle est ignorée et l'enregistrement de destination existant est conservé ; Overwrite — l'enregistrement de destination est écrasé par les données de la source. Consultez Politiques de résolution des conflits pour plus de détails. |
| Processing Mode of Conflicting Tables | Precheck and Report Errors : Signale une erreur lors du précontrôle si des tables de destination portant le même nom existent. Utilisez le mappage des noms d'objets pour éviter les conflits de nommage sans renommer les tables. Ignore Errors and Proceed : Ignore cette vérification. Lors de la synchronisation complète, les enregistrements de destination existants sont conservés et les enregistrements source avec la même clé primaire ou unique sont ignorés. Lors de la synchronisation incrémentielle, les enregistrements source écrasent les enregistrements de destination. Si les schémas diffèrent, l'initialisation peut échouer ou entraîner une synchronisation partielle. À utiliser avec prudence. |
| Capitalization of Object Names in Destination Instance | Configurez la politique de sensibilité à la casse pour les noms de base de données, de tables et de colonnes dans la destination. La valeur par défaut est DTS default policy. Consultez Politique de casse pour les noms d'objets de destination. |
| Source Objects | Cliquez sur les objets dans la zone Source Objects , puis cliquez sur la flèche droite pour les déplacer vers Selected Objects . Sélectionnez des schémas ou des tables. Si vous sélectionnez des tables, les vues, les déclencheurs et les procédures stockées sont exclus. Si une table possède une colonne SERIAL et que Schema Synchronization est sélectionné, sélectionnez également Sequence ou synchronisez l'intégralité du schéma. |
| Selected Objects | Pour renommer un objet dans la destination, faites un clic droit dessus dans Selected Objects et modifiez le nom. Consultez Mapper les noms de base de données, de tables et de colonnes. Pour supprimer un objet, cliquez dessus puis cliquez sur la flèche gauche pour le ramener en arrière. Pour filtrer les lignes à l'aide d'une clause WHERE, faites un clic droit sur une table dans Selected Objects et définissez la condition. Consultez Définir les conditions de filtrage. Pour limiter les opérations DML à synchroniser, faites un clic droit sur un objet et sélectionnez les opérations. Remarque
Le mappage des noms d'objets peut provoquer des échecs de synchronisation pour les objets dépendants. |
Cliquez sur Next: Advanced Settings .
Étape 5 : Configurer les paramètres avancés
| Option | Description |
|---|---|
| Dedicated Cluster for Task Scheduling | DTS utilise un cluster partagé par défaut. Pour une stabilité accrue, achetez un cluster dédié. Consultez Qu'est-ce qu'un cluster dédié DTS ? |
| Retry Time for Failed Connections | Durée pendant laquelle DTS réessaie après un échec de connexion. Par défaut : 720 minutes. Plage : 10–1 440 minutes. Définissez 30 minutes ou plus dans la plupart des cas. Si plusieurs instances DTS partagent la même source ou destination, DTS utilise la durée de nouvelle tentative la plus courte configurée parmi ces instances. DTS facture l'exécution de la tâche pendant les nouvelles tentatives, donc libérez l'instance DTS rapidement si vous libérez le cluster source ou destination. |
| Retry Time for Other Issues | Durée pendant laquelle DTS réessaie après des erreurs autres que les échecs de connexion (par exemple, échecs d'exécution DDL ou DML). Par défaut : 10 minutes. Plage : 1–1 440 minutes. Doit être inférieur à Retry Time for Failed Connections . |
| Enable Throttling for Full Data Synchronization | Limitez le taux de synchronisation complète pour réduire la charge sur la destination. Définissez 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 Synchronization est sélectionné. Vous pouvez également ajuster le taux pendant l'exécution de la tâche . |
| Enable Throttling for Incremental Data Synchronization | Limitez le taux de synchronisation incrémentielle. Définissez RPS of Incremental Data Synchronization et Data synchronization speed for incremental synchronization (MB/s) . |
| Environment Tag | Sélectionnez un tag pour identifier l'environnement. |
| Configure ETL | Sélectionnez Yes pour activer l'extraction, la transformation et le chargement (ETL) et saisir les instructions de traitement des données. Sélectionnez No pour ignorer. Consultez Qu'est-ce que l'ETL ? et Configurer l'ETL dans une tâche de migration ou de synchronisation de données . |
| Monitoring and Alerting | Sélectionnez Yes pour recevoir des alertes lorsque la tâche échoue ou que la latence dépasse un seuil. Définissez le seuil et les contacts de notification. Consultez Configurer la surveillance et les alertes lors de la configuration de la tâche . |
Étape 6 : Configurer la vérification des données (facultatif)
Cliquez sur Data Verification pour configurer une tâche de vérification des données. Consultez Configurer la vérification des données .
DTS valide le contenu des données mais ne valide pas les métadonnées telles que les séquences. Validez les métadonnées manuellement après la synchronisation.
Étape 7 : Enregistrer les paramètres, exécuter le précontrôle et acheter l'instance
Pour prévisualiser les paramètres API avant l'enregistrement, survolez Next: Save Task Settings and Precheck et cliquez sur Preview OpenAPI parameters .
-
Cliquez sur Next: Save Task Settings and Precheck . DTS exécute un précontrôle avant de démarrer la tâche.
Si le précontrôle échoue, cliquez sur View Details à côté de l'élément ayant échoué, corrigez le problème et relancez le précontrôle.
-
Si le précontrôle affiche des avertissements :
Pour les avertissements non ignorables : cliquez sur View Details , corrigez le problème et relancez.
Pour les avertissements ignorables : cliquez sur Confirm Alert Details > Ignore > OK > Precheck Again . Ignorer les avertissements peut provoquer des incohérences de données.
Lorsque Success Rate atteint 100% , cliquez sur Next: Purchase Instance .
-
Sur la page Purchase , sélectionnez les options de facturation et d'instance :
Option Description Billing Method Subscription : Payez à l'avance pour une durée fixe. Adapté aux tâches continues à long terme. Pay-as-you-go : Facturé à l'heure. Adapté aux tâches de courte durée ou de test. Resource Group Settings Le groupe de ressources pour l'instance. Par défaut : default resource group . Consultez Qu'est-ce que Resource Management ? Instance Class Sélectionnez en fonction du débit de synchronisation requis. Consultez Spécifications des canaux de synchronisation de données . Subscription Duration Disponible lorsque Subscription est sélectionné. Mensuel : 1 à 9 mois. Annuel : 1, 2, 3 ou 5 ans. Cochez la case Data Transmission Service (Pay-as-you-go) Service Terms , puis cliquez sur Buy and Start > OK .
La tâche de synchronisation directe apparaît sur la page de synchronisation des données.
Étape 8 : Configurer la tâche de synchronisation inverse
Attendez que le Status de la tâche directe indique Running .
Dans la colonne Actions pour la tâche inverse, cliquez sur Configure Task .
-
Répétez les étapes 3 à 6 pour la tâche inverse, avec les différences suivantes :
ImportantLa source et la destination sont inversées : la destination de la tâche directe est la source de la tâche inverse, et vice versa. Vérifiez attentivement les ID d'instance, les noms de base de données, les comptes et les mots de passe.
Instance Region ne peut pas être modifiée pour la tâche inverse. Moins d'options de configuration sont disponibles.
Processing Mode of Conflicting Tables pour la tâche inverse ne vérifie pas les tables déjà synchronisées par la tâche directe.
La tâche inverse ne peut synchroniser que des objets déjà présents dans la liste Selected Objects de la tâche directe.
N'utilisez pas la fonctionnalité de mappage des noms d'objets dans la tâche inverse — cela peut provoquer une incohérence des données.
Lorsque Success Rate indique 100% , cliquez sur Back .
Attendez que les tâches directe et inverse indiquent toutes deux Status comme Running .
La synchronisation bidirectionnelle est désormais active.
Étapes suivantes
Surveillez la latence de synchronisation et configurez des alertes : Configurer la surveillance et les alertes
Validez les données synchronisées : Configurer la vérification des données
Consultez les paramètres de la tâche : Modifier les paramètres de l'instance