Utilisez Data Transmission Service (DTS) pour synchroniser en continu les données d'une base de données PostgreSQL auto-gérée vers une instance ApsaraDB RDS for PostgreSQL. DTS prend en charge la synchronisation du schéma, la synchronisation complète des données et la synchronisation incrémentielle des données, ce qui vous permet d'effectuer une migration avec un temps d'arrêt minimal.
Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :
Une base de données PostgreSQL auto-gérée et une instance ApsaraDB RDS for PostgreSQL. Pour créer une instance RDS, consultez Créer une instance.
Une version de la base de données de destination égale ou supérieure à celle de la base de données source. Des versions de destination antérieures peuvent entraîner des problèmes de compatibilité. Pour connaître les combinaisons de versions prises en charge, consultez Présentation des scénarios de synchronisation des données.
Un espace de stockage libre suffisant sur l'instance RDS pour contenir toutes les données de la base de données PostgreSQL auto-gérée.
Un compte superuser sur la base de données PostgreSQL auto-gérée et un compte propriétaire du schéma sur l'instance RDS. Consultez Autorisations requises pour les comptes de base de données.
Facturation
|
Type de synchronisation |
Coût |
|
Synchronisation du schéma et synchronisation complète des données |
Gratuit |
|
Synchronisation incrémentielle des données |
Facturé. Consultez Présentation de la facturation. |
Topologies de synchronisation prises en charge
Synchronisation unidirectionnelle un-à-un
Synchronisation unidirectionnelle un-à-plusieurs
Synchronisation en cascade unidirectionnelle
Synchronisation unidirectionnelle plusieurs-à-un
Pour plus de détails, consultez Topologies de synchronisation.
Objets pris en charge
|
Catégorie |
Objets |
|
Schéma et table |
SCHEMA, TABLE (y compris PRIMARY KEY, UNIQUE KEY, FOREIGN KEY, types de données intégrés et DEFAULT CONSTRAINT) |
|
Autres objets de base de données |
VIEW, PROCEDURE (PostgreSQL 11 ou version ultérieure), FUNCTION, RULE, SEQUENCE, EXTENSION, TRIGGER, AGGREGATE, INDEX, OPERATOR, DOMAIN |
Opérations SQL pouvant être synchronisées
|
Type |
Instructions |
|
DML |
INSERT, UPDATE, DELETE |
|
DDL |
Uniquement pour les tâches créées après le 1er octobre 2020. Consultez Limites de la synchronisation DDL. |
Autorisations requises pour les comptes de base de données
|
Base de données |
Autorisations requises |
Référence |
|
Base de données PostgreSQL auto-gérée |
superuser |
CREATE USER et GRANT |
|
Instance RDS |
Autorisations de propriétaire de schéma |
Limites
Limites de la base de données source
-
Les tables à synchroniser 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 créez une tâche de synchronisation des données sans sélectionner Schema Synchronization , assurez-vous que la table de destination possède les mêmes contraintes PRIMARY KEY ou NOT NULL UNIQUE que la table source.
Si vous sélectionnez des tables comme objets de synchronisation et que vous devez renommer des tables ou des colonnes dans la base de données de destination, une seule tâche prend en charge jusqu'à 5 000 tables. Pour plus de 5 000 tables, configurez plusieurs tâches ou synchronisez plutôt la base de données entière.
DTS ne peut pas synchroniser les tables temporaires, les déclencheurs internes ni les procédures et fonctions internes écrites en C. DTS peut synchroniser les paramètres personnalisés des types COMPOSITE, ENUM et RANGE. Les tables doivent comporter des contraintes PRIMARY KEY, FOREIGN KEY, UNIQUE ou CHECK.
-
Exigences relatives aux journaux WAL :
Définissez
wal_levelsurlogical.Pour la synchronisation incrémentielle uniquement : conservez les journaux de pré-écriture (WAL) pendant plus de 24 heures.
Pour la synchronisation complète + incrémentielle : conservez les journaux WAL pendant au moins 7 jours. Une fois la synchronisation complète terminée, vous pouvez réduire la période de conservation à plus de 24 heures.
Si les journaux WAL ne sont pas conservés pendant la durée requise, DTS peut échouer à les lire, ce qui entraîne l'échec de la tâche ou une perte de données.
Les valeurs
max_wal_sendersetmax_replication_slotsdoivent chacune être supérieures à la somme suivante : le nombre d'emplacements de réplication actuellement utilisés dans la base de données source, plus le nombre d'instances DTS dont la source est cette base de données.Si un basculement primaire/secondaire se produit sur la base de données source pendant l'exécution d'une tâche de synchronisation, la tâche échoue. Après le basculement, connectez-vous à la base de données secondaire pour supprimer l'emplacement de réplication préfixé par
dts_sync_.Si la base de données source exécute des transactions de longue durée pendant la synchronisation incrémentielle, les journaux WAL générés avant la validation de ces transactions peuvent s'accumuler et épuiser l'espace disque.
-
Si la source est une instance Cloud SQL for PostgreSQL sur Google Cloud Platform, vous devez définir le paramètre Database Account sur un compte de base de données disposant de l'autorisation
cloudsqlsuperuser. Lorsque vous sélectionnez les objets à synchroniser, vous ne devez sélectionner que les objets que le compte spécifié est autorisé à gérer. Sinon, vous devez accorder l'autorisation OWNER sur les objets sélectionnés au compte spécifié.Un compte
cloudsqlsuperuserne peut pas gérer les données appartenant à d'autres comptescloudsqlsuperuser. Si une modification unique des données incrémentielles dépasse 256 Mo, la tâche de synchronisation échoue et ne peut pas être récupérée. Reconfigurez la tâche.
Pendant la synchronisation du schéma et la synchronisation complète des données, n'exécutez pas d'instructions DDL modifiant les schémas de base de données ou de tables. La tâche échouerait.
Si la base de données source fait l'objet d'une mise à niveau majeure de version pendant l'exécution d'une tâche, la tâche échoue et ne peut pas être récupérée. Reconfigurez la tâche.
Autres limites
Une seule tâche de synchronisation des données peut synchroniser les données d'une seule base de données. Pour synchroniser à partir de plusieurs bases de données, créez une tâche distincte pour chacune.
DTS ne peut pas synchroniser les tables ayant des relations d'héritage inter-schémas.
-
Si vous sélectionnez un schéma comme objet de synchronisation : lorsque vous créez une table dans le schéma ou renommez une table avec RENAME, exécutez l'instruction suivante avant d'écrire des données dans la table :
ALTER TABLE schema.table REPLICA IDENTITY FULL;Remplacez
schemaettablepar les noms réels. Exécutez cette instruction pendant les heures creuses sans verrouiller la table afin d'éviter les interblocages. DTS ne valide pas les métadonnées telles que les séquences. Vérifiez manuellement la validité des séquences avant et après la tâche.
Après avoir basculé vos charges de travail vers la base de données de destination, les nouvelles séquences écrites ne continuent pas à partir de la valeur maximale de la source. Mettez à jour la valeur de départ des séquences dans la base de données de destination avant le basculement.
-
DTS crée les tables temporaires suivantes dans la base de données source pendant la synchronisation. Ne les supprimez pas pendant l'exécution de la tâche. Elles sont automatiquement supprimées lors de la libération de l'instance DTS :
public.dts_pg_classpublic.dts_pg_attributepublic.dts_pg_typepublic.dts_pg_enumpublic.dts_postgres_heartbeatpublic.dts_ddl_commandpublic.dts_args_session
DTS ajoute une table de heartbeat nommée
dts_postgres_heartbeatà la base de données source pour suivre la latence de synchronisation.-
DTS crée un emplacement de réplication préfixé par
dts_sync_sur la base de données source et l'utilise pour lire les journaux incrémentiels des 15 dernières minutes. L'emplacement est automatiquement supprimé lorsque la tâche est libérée ou échoue. Si un basculement primaire/secondaire se produit, supprimez manuellement l'emplacement de la base de données secondaire.
Évaluez l'impact sur les performances des deux bases de données avant de démarrer la synchronisation et planifiez la tâche pendant les heures creuses. Lors de la synchronisation complète initiale, DTS utilise les ressources de lecture et d'écriture des deux bases de données, ce qui augmente la charge du serveur.
Lors de la synchronisation complète initiale, les opérations INSERT concurrentes provoquent une fragmentation des tables dans la base de données de destination. L'espace de tablespace utilisé par la base de données de destination sera plus grand que celui de la base de données source une fois la synchronisation complète terminée.
Si DTS est la seule source écrivant dans la base de données de destination, vous pouvez utiliser Data Management Service (DMS) pour exécuter des opérations DDL en ligne sur les tables sources pendant la synchronisation. Consultez Modifier les schémas sans verrouiller les tables.
Si des données provenant d'autres sources sont écrites dans la base de données de destination pendant la synchronisation, une incohérence des données peut survenir. L'exécution d'instructions DDL en ligne dans DMS pendant que d'autres sources écrivent dans la destination peut entraîner une perte de données.
Si vous utilisez un compte privilégié ou superuser pour la base de données de destination et que les tables en cours de synchronisation contiennent des clés étrangères, des déclencheurs ou des déclencheurs d'événements, DTS définit temporairement
session_replication_rolesurreplicaau niveau de la session. Si le compte de destination ne dispose pas des autorisations suffisantes, définissez manuellementsession_replication_rolesurreplica. Les opérations UPDATE ou DELETE en cascade sur la source pendant cette période peuvent provoquer une incohérence des données. Une fois la tâche libérée, réinitialisezsession_replication_rolesurorigin.En cas d'échec d'une tâche DTS, le support technique DTS tentera de la restaurer dans un délai de 8 heures. Pendant la restauration, la tâche peut être redémarrée et certains paramètres de tâche peuvent être modifiés (les paramètres de base de données ne sont pas modifiés). Pour connaître les paramètres susceptibles d'être modifiés, consultez Modifier les paramètres de l'instance.
Limites de la synchronisation 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 avant de configurer la tâche. Consultez Utiliser des déclencheurs et des fonctions pour implémenter la migration DDL incrémentielle pour les bases de données PostgreSQL.
Pour utiliser une tâche de synchronisation des données créée avant le 12 mai 2023 afin de synchroniser des opérations DDL, vous devez créer des déclencheurs et des fonctions dans la base de données source pour capturer les informations DDL avant de configurer la tâche de synchronisation des données. Pour plus d'informations, 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 peuvent pas être synchronisées lors de la synchronisation incrémentielle.
Pour la synchronisation DDL, le compte de la base de données source doit être un compte privilégié et la version mineure de la base de données doit être 20210228 ou ultérieure. Instructions DDL prises en charge :
CREATE TABLEetDROP TABLEALTER TABLE: RENAME TABLE, ADD COLUMN, ADD COLUMN DEFAULT, ALTER COLUMN TYPE, DROP COLUMN, ADD CONSTRAINT, ADD CONSTRAINT CHECK, ALTER COLUMN DROP DEFAULTTRUNCATE TABLE(PostgreSQL 11 ou version ultérieure)CREATE INDEX ON TABLE
Instructions DDL qui ne peuvent pas être synchronisées :
Instructions avec les modificateurs CASCADE ou RESTRICT
DDL provenant de sessions ayant exécuté
SET session_replication_role = replicaDDL exécutées en invoquant des fonctions
DDL mélangées avec DML dans la même validation
DDL pour des objets non sélectionnés pour la synchronisation
Préparer la base de données source
Les exemples de cette section utilisent une base de données PostgreSQL auto-gérée s'exécutant sur Linux.
DTS utilise la réplication logique de PostgreSQL pour capturer les modifications de la base de données source. La réplication logique nécessitewal_level = logicalafin que le journal de pré-écriture inclue suffisamment d'informations pour reconstruire les modifications au niveau des lignes. Les paramètresmax_wal_sendersetmax_replication_slotscontrôlent le nombre de connexions de réplication et d'emplacements simultanés que la base de données source peut maintenir.
Étape 1 : Vérifier et configurer les paramètres WAL
Connectez-vous au serveur hébergeant la base de données PostgreSQL auto-gérée.
-
Interrogez le nombre d'emplacements de réplication actuellement utilisés :
SELECT count(1) FROM pg_replication_slots; -
Ouvrez
postgresql.confet définissez les paramètres suivants. Les valeurs demax_wal_sendersetmax_replication_slotsdoivent chacune dépasser la somme suivante : le nombre actuel d'emplacements de réplication utilisés plus le nombre d'instances DTS ciblant cette base de données.# Replication settings wal_level = logical # Change requires restart max_wal_senders = 10 # Max number of walsender processes; change requires restart max_replication_slots = 10 # Max number of replication slots; change requires restartRedémarrez la base de données après avoir enregistré ces modifications.
Étape 2 : Autoriser l'accès au serveur DTS
Ajoutez les blocs CIDR des serveurs DTS à pg_hba.conf. Ajoutez uniquement les blocs CIDR des serveurs DTS situés dans la même région que la base de données de destination. Consultez Ajouter les blocs CIDR des serveurs DTS.
Après avoir mis à jour pg_hba.conf, exécutez l'instruction suivante ou redémarrez la base de données pour appliquer les modifications :
SELECT pg_reload_conf();
Ignorez cette étape sipg_hba.confcontient déjà0.0.0.0/0. Pour obtenir des références sur le format du fichier, consultez Le fichier pg_hba.conf .

Étape 3 : Créer la base de données et le schéma de destination
Dans l'instance RDS, créez une base de données et un schéma correspondant à la source. Les noms des schémas dans les bases de données source et de destination doivent être identiques. Consultez Créer une base de données et Gérer les comptes à l'aide de schémas.
Étapes supplémentaires pour PostgreSQL 9.4.8 à 10.0
Si la version de votre base de données source se situe entre PostgreSQL 9.4.8 et 10.0, effectuez les étapes suivantes avant de configurer la tâche de synchronisation.
1. Compiler et installer PostgreSQL à partir du code source
Connectez-vous au serveur.
Téléchargez le code source de votre version PostgreSQL depuis le site Web officiel de PostgreSQL.
-
Exécutez les commandes suivantes pour configurer, compiler et installer :
Important- La version du système d'exploitation doit être compatible avec la version de GNU Compiler Collection (GCC) utilisée. - Si
sudo ./configureéchoue avec une erreur telle quereadline library not found, ajoutez l'indicateur--without-readline:sudo ./configure --without-readline. - Si vous installez PostgreSQL à l'aide d'une autre méthode, compilezali_decodingdans un environnement de test avec les mêmes versions de système d'exploitation et de GCC.sudo ./configure sudo make sudo make install
2. Compiler et installer l'extension ali_decoding
Téléchargez ali_decoding.
-
Copiez le répertoire
ali_decodingdans le répertoirecontribde l'installation PostgreSQL compilée.
-
Dans le répertoire
ali_decoding, remplacez le contenu duMakefilepar ce qui suit :# contrib/ali_decoding/Makefile MODULE_big = ali_decoding MODULES = ali_decoding OBJS = ali_decoding.o DATA = ali_decoding--0.0.1.sql ali_decoding--unpackaged--0.0.1.sql EXTENSION = ali_decoding NAME = ali_decoding ifdef USE_PGXS PG_CONFIG = pg_config PGXS := $(shell $(PG_CONFIG) --pgxs) include $(PGXS) else subdir = contrib/ali_decoding top_builddir = ../.. include $(top_builddir)/src/Makefile.global include $(top_srcdir)/contrib/contrib-global.mk endif -
Dans le répertoire
ali_decoding, compilez et installez l'extension :sudo make sudo make install -
Copiez les fichiers générés dans les répertoires indiqués ci-dessous.

Créez la base de données et le schéma de destination dans l'instance RDS, comme décrit dans Étape 3 : Créer la base de données et le schéma de destination.
Configurer la tâche de synchronisation
Étape 1 : Accéder à la page Data Synchronization
Utilisez la console DTS ou la console DMS.
Console DTS :
Connectez-vous à la console DTS.
Dans le volet de navigation de gauche, cliquez sur Data Synchronization.
Dans le coin supérieur gauche, sélectionnez la région où l'instance de synchronisation sera hébergée.
Console DMS :
La disposition peut varier selon le mode de votre console DMS. Consultez les rubriques Simple mode et Customize the layout and style of the DMS console.
Connectez-vous à la console DMS.
Dans la barre de navigation supérieure, placez le pointeur sur Data + AI, puis choisissez DTS (DTS) > Data Synchronization.
Dans la liste déroulante située à côté de Data Synchronization Tasks, sélectionnez la région cible.
Étape 2 : Créer la tâche
Cliquez sur Create Task pour ouvrir la page de configuration de la tâche.
Si la page affiche un bouton New Configuration Page dans le coin supérieur droit, cliquez dessus pour basculer vers la nouvelle version.
Si Back to Previous Version s'affiche à la place, vous êtes déjà sur la nouvelle page de configuration. La nouvelle version est recommandée.
Étape 3 : Configurer les bases de données source et de destination
Après avoir configuré les deux bases de données, prenez connaissance des Limits affichées sur la page. Ignorer cette étape peut entraîner l'échec de la tâche ou provoquer une incohérence des données.
Section | Parameter | Description |
N/A | Task name | Nom de la tâche DTS. DTS en génère un automatiquement. Spécifiez un nom descriptif pour faciliter l'identification. Les noms n'ont pas besoin d'être uniques. |
Source database | Database type | Sélectionnez Data Synchronization. |
Access method | Sélectionnez DTS (DTS). | |
Instance region | Région où réside la base de données PostgreSQL autogérée. | |
CEN instance ID | ID de l'instance Cloud Enterprise Network (CEN) connectée à la base de données source. | |
Connected VPC | Réseau privé virtuel (VPC) connecté à la base de données source. | |
Domain name or IP | Adresse IP du serveur de la base de données source. | |
Port number | Port de service de la base de données source. Valeur par défaut : Data Synchronization. | |
Database name | Nom de la base de données source. | |
Database account | Compte de la base de données source. Pour connaître les autorisations requises, consultez la section Permissions required for database accounts. | |
Database password | Mot de passe du compte de la base de données. | |
Encryption | Indique si la connexion doit être chiffrée. Pour cet exemple, sélectionnez Create Task. Pour utiliser le chiffrement SSL : sélectionnez New Configuration Page, téléchargez le CA certificate et, éventuellement, le Client certificate, la Private key of client certificate, puis spécifiez le Private key password of client certificate. Pour configurer SSL sur RDS, consultez la rubrique SSL encryption. | |
Destination database | Database type | Sélectionnez PostgreSQL. |
Access method | Sélectionnez Cloud Enterprise Network (CEN). | |
Instance region | Région où réside l'instance RDS. | |
Instance ID | ID de l'instance RDS. | |
Database name | Nom de la base de données de destination dans l'instance RDS. | |
Database account | Compte de la base de données de destination. Pour connaître les autorisations requises, consultez la section Permissions required for database accounts. | |
Database password | Mot de passe du compte de la base de données. | |
Encryption | Indique si la connexion doit être chiffrée. La configuration est identique aux paramètres de chiffrement de la base de données source décrits ci-dessus. |
Étape 4 : Tester la connectivité
Cliquez sur Test Connectivity and Proceed en bas de la page.
Les blocs CIDR du serveur DTS doivent être ajoutés aux paramètres de sécurité des bases de données source et de destination. Consultez la rubrique Add the CIDR blocks of DTS servers.
Si la méthode d'accès à la base de données source n'est pas Alibaba Cloud Instance, cliquez sur Test Connectivity dans la boîte de dialogue CIDR Blocks of DTS Servers qui s'affiche.
Étape 5 : Configurer les objets de synchronisation
À l'étape Configure Objects, définissez les paramètres suivants.
Parameter | Description |
3433 | Incremental Data Synchronization est sélectionné par défaut. Sélectionnez également Non-encrypted et Full Data Synchronization pour effectuer une migration complète avec un temps d'arrêt minimal. Après la prévérification, DTS synchronise d'abord les données historiques, puis passe à la synchronisation incrémentielle continue. Remarque La sélection de SSL-encrypted entraîne la synchronisation par DTS des schémas de table, y compris les clés étrangères, de la source vers la destination. |
PostgreSQL | Precheck and report errors (par défaut) : vérifie qu'aucune table portant le même nom n'existe dans la destination avant le démarrage. Si des noms correspondants sont trouvés, la prévérification échoue et la tâche ne peut pas démarrer. Utilisez le mappage des noms d'objets pour renommer les tables de destination si leur suppression ou leur renommage n'est pas possible. Ignore errors and proceed : ignore la vérification des doublons de noms de tables. Avertissement Cela peut provoquer une incohérence des données. Lors de la synchronisation complète, les enregistrements existants dans la destination ayant des clés primaires ou uniques correspondantes sont conservés. Lors de la synchronisation incrémentielle, ils sont écrasés. Si les schémas diffèrent, la synchronisation peut échouer ou ne synchroniser que certaines colonnes. |
Alibaba Cloud Instance | Sélectionnez Test Connectivity and Proceed. |
Test Connectivity | Contrôle la casse des noms de bases de données, de tables et de colonnes dans la destination. La valeur par défaut est DTS default policy. Consultez la rubrique Specify the capitalization of object names. |
CIDR Blocks of DTS Servers | Sélectionnez des objets dans la liste Synchronization types et cliquez sur l'icône |
Schema Synchronization | Pour renommer un seul objet : faites un clic droit dessus et suivez les instructions de la rubrique Map the name of a single object. Pour renommer plusieurs objets : cliquez sur Processing mode of conflicting tables dans le coin supérieur droit. Consultez la rubrique Map multiple object names at a time. Pour filtrer les opérations SQL pour un objet spécifique : faites un clic droit dessus et sélectionnez les opérations SQL à synchroniser. Pour filtrer les lignes selon une condition : faites un clic droit sur une table et spécifiez les conditions WHERE. Consultez la rubrique Specify filter conditions. Remarque Le renommage d'un objet peut empêcher la synchronisation des objets dépendants. |
Étape 6 : Configurer les paramètres avancés
Cliquez sur Next: Advanced Settings et configurez les paramètres suivants.
Parameter | Description |
Synchronization topology | Par défaut, DTS planifie la tâche sur le cluster partagé. Pour améliorer la stabilité, achetez un cluster dédié. Consultez la rubrique What is a DTS dedicated cluster. |
One-way Synchronization | Durée pendant laquelle DTS effectue des nouvelles tentatives après un échec de connexion. Valeurs valides : 10 à 1 440 minutes. Valeur par défaut : 720 minutes. Définissez une valeur supérieure à 30 minutes. Si DTS se reconnecte dans ce délai, la tâche reprend. Sinon, elle échoue. Remarque Si plusieurs tâches partagent la même base de données source ou de destination, le délai de nouvelle tentative le plus court parmi elles est prioritaire. La facturation de l'instance DTS se poursuit pendant les nouvelles tentatives. |
Capitalization of object names in destination instance | Durée pendant laquelle DTS effectue des nouvelles tentatives après des échecs DDL ou DML. Valeurs valides : 1 à 1 440 minutes. Valeur par défaut : 10 minutes. Définissez une valeur supérieure à 10 minutes et inférieure au délai de nouvelle tentative pour les échecs de connexion. |
Source objects | Limite le nombre de requêtes par seconde (QPS) vers la base de données source, le nombre de requêtes par seconde (RPS) pour la synchronisation complète et la vitesse de synchronisation des données (Mo/s) afin de réduire la charge sur la destination. Cette option n'est affichée que lorsque Full Data Synchronization est sélectionné. |
Source Objects | Limite le RPS et la vitesse de synchronisation des données (Mo/s) pour la synchronisation incrémentielle afin de réduire la charge sur la destination. |
Selected Objects | Tag permettant d'identifier l'instance DTS. Sélectionnez-le en fonction de votre environnement (par exemple, production ou développement). |
Selected objects | Indique s'il faut activer l'extraction, la transformation et le chargement (ETL). Sélectionnez Batch Edit pour saisir des instructions de traitement des données. Consultez la rubrique Configure ETL in a data migration or data synchronization task. Sélectionnez Next: Advanced Settings pour ignorer cette étape. |
Dedicated cluster for task scheduling | Sélectionnez Retry time for failed connections pour recevoir des alertes en cas d'échec de la tâche ou si la latence de synchronisation dépasse un seuil. Configurez le seuil d'alerte et les paramètres de notification. Consultez la rubrique Configure monitoring and alerting. |
Étape 7 : Configurer la vérification des données
Cliquez sur Next Step: Data Verification pour configurer la vérification. Consultez la rubrique Configure a data verification task.
Étape 8 : Exécuter la prévérification
Cliquez sur Next: Save Task Settings and Precheck.
Pour afficher un aperçu des paramètres API pour cette configuration, placez le pointeur sur Next: Save Task Settings and Precheck et cliquez sur Preview OpenAPI parameters.
DTS exécute une prévérification avant que la tâche ne puisse démarrer. La tâche ne commence qu'après la réussite de la prévérification.
Si la prévérification échoue, cliquez sur View Details à côté de chaque élément ayant échoué, résolvez les problèmes, puis cliquez sur Precheck Again.
Pour les éléments d'alerte qui peuvent être ignorés en toute sécurité : cliquez sur Confirm Alert Details, puis sur Ignore et confirmez. Ensuite, cliquez sur Precheck Again. Ignorer les alertes peut entraîner une incohérence des données.
Étape 9 : Acheter l'instance de synchronisation
Attendez que le Success Rate atteigne 100 %, puis cliquez sur Next: Purchase Instance.
Sur la page Buy, configurez les paramètres suivants.
Section | Parameter | Description |
New instance class | Billing method | Subscription : paiement anticipé ; plus rentable pour une utilisation à long terme. Pay-as-you-go : facturation horaire ; adapté à une utilisation à court terme. Libérez l'instance lorsqu'elle n'est plus nécessaire pour éviter des frais inutiles. |
Instance class | DTS propose différentes classes d'instances avec des vitesses de synchronisation variables. Sélectionnez-en une en fonction de votre volume de données et de vos exigences en matière de débit. Consultez la rubrique Instance classes of data synchronization instances. | |
Subscription duration | Disponible lorsque Subscription est sélectionné. Options : 1 à 9 mois, 1 an, 2 ans, 3 ans ou 5 ans. | |
Resource group settings | Groupe de ressources | Groupe de ressources pour l'instance. Par défaut : default resource group. Consultez la rubrique What is Resource Management? |
Sélectionnez Data Transmission Service (Pay-as-you-go) Service Terms, puis cliquez sur Buy and Start. Dans la boîte de dialogue, cliquez sur OK.
Une fois l'instance achetée, la tâche démarre automatiquement. Surveillez sa progression dans la liste des tâches.
Vérifier et effectuer le basculement
Vérifier la cohérence des données
Une fois que la tâche atteint la phase de synchronisation incrémentielle, vérifiez que les données des bases de données source et de destination sont cohérentes avant de basculer vos charges de travail.
Pour une vérification complète, utilisez la fonctionnalité de vérification des données DTS. Consultez la rubrique Configure a data verification task.
Basculer les charges de travail vers la base de données de destination
Avant de basculer les charges de travail, assurez-vous que la latence de synchronisation est égale ou proche de 0. Vous pouvez surveiller la latence depuis la liste des tâches dans la console DTS.
Avant le basculement :
Arrêtez les écritures dans la base de données source pour permettre la synchronisation des modifications restantes.
Attendez que la latence de synchronisation atteigne 0.
Mettez à jour la valeur de départ des séquences dans la base de données de destination. Les nouvelles séquences écrites ne continuent pas à partir de la valeur maximale de la source après le basculement.
Après le basculement, si session_replication_role était défini sur replica pendant la synchronisation, réinitialisez-le sur origin.