Data Transmission Service (DTS) permet la migration de données entre les clusters PolarDB for PostgreSQL (Compatible with Oracle).
Prérequis
Les clusters PolarDB for PostgreSQL (Compatible with Oracle) source et de destination doivent exister. Pour plus d'informations, consultez la rubrique Créer un cluster PolarDB for PostgreSQL (Compatible with Oracle).
Dans le cluster PolarDB for PostgreSQL (Compatible with Oracle) source, le paramètre wal_level doit être défini sur logical. Ce paramètre ajoute les informations nécessaires au décodage logique dans les journaux WAL (Write-Ahead Logging). Pour plus d'informations, consultez la rubrique Configurer les paramètres du cluster.
Notes d'utilisation
DTS migre les clés étrangères lors de la migration du schéma.
Lors des migrations complètes et incrémentielles, DTS désactive temporairement les vérifications de contraintes et les cascades de clés étrangères au niveau de la session. Les mises à jour ou suppressions en cascade effectuées sur la base de données source pendant l'exécution de la tâche peuvent entraîner des incohérences de données.
|
Type |
Description |
|
Limitations de la base de données source |
|
|
Autres limitations |
|
Facturation
|
Type de migration |
Frais de configuration de l'instance |
Frais de trafic Internet |
|
Migration du schéma et migration complète des données |
Gratuit. |
Lorsque le paramètre Access Method de la base de données de destination est défini sur Public IP Address, des frais de trafic Internet vous sont facturés. Pour plus d'informations, consultez la rubrique Présentation de la facturation. |
|
Migration incrémentielle des données |
Facturé. Pour plus d'informations, consultez la rubrique Présentation de la facturation. |
Types de migration
Type de migration | Description |
Migration du schéma | DTS migre les schémas d'objets vers la base de données de destination. DTS prend en charge la migration du schéma pour les types d'objets suivants : tables, vues, synonymes, procédures stockées, fonctions stockées, packages et types définis par l'utilisateur. Remarque DTS ne prend pas en charge la migration du schéma pour les déclencheurs. Nous vous recommandons de supprimer les déclencheurs de la base de données source pour éviter les incohérences de données. Pour plus d'informations, consultez la rubrique Configurer une tâche de synchronisation ou de migration de données pour une base de données source contenant un déclencheur. |
Migration complète des données | DTS migre les données historiques de la base de données source vers la base de données de destination. Remarque N'effectuez pas d'opérations DDL sur les objets de migration avant que la migration du schéma et la migration complète des données ne soient terminées. Sinon, la tâche de migration risque d'échouer. |
Migration incrémentielle des données | Après la migration complète des données, DTS capture les mises à jour incrémentielles des données à partir du journal redo de la base de données source et les migre vers la base de données de destination. La migration incrémentielle des données permet une migration fluide avec un temps d'arrêt minimal de l'application. |
Objets pris en charge
| Objet | Détails |
|---|---|
| SCHEMA, TABLE | Inclut PRIMARY KEY, UNIQUE KEY, FOREIGN KEY, types de données intégrés et DEFAULT CONSTRAINT |
| VIEW, PROCEDURE | Nécessite PostgreSQL version 11 ou ultérieure. La prise en charge varie selon le type de base de données de destination — consultez la console pour plus de détails |
Instructions SQL prises en charge pour la migration incrémentielle
Type d'opération | Instruction SQL |
DML | INSERT, UPDATE et DELETE |
DDL |
|
Exigences en matière d'autorisations pour les comptes de base de données
Base de données | Exigences en matière d'autorisations |
Cluster PolarDB for PostgreSQL (Compatible with Oracle) source | Un compte privilégié. |
Cluster PolarDB for PostgreSQL (Compatible with Oracle) de destination | Autorisation Database owner. Important Vous spécifiez le database owner lors de la création de la base de données. |
Pour créer un compte de base de données et accorder des autorisations :
Pour un cluster PolarDB for PostgreSQL (Compatible with Oracle), consultez la rubrique Créer un compte de base de données.
Procédure
-
Accédez à la page de liste des tâches de migration pour la région de destination en utilisant l'une des méthodes suivantes.
Depuis la console DTS
Connectez-vous à la console Data Transmission Service (DTS).
Dans le volet de navigation de gauche, cliquez sur Data Migration.
Dans le coin supérieur gauche de la page, sélectionnez la région où se trouve l'instance de migration.
Depuis la console DMS
RemarqueLes opérations réelles peuvent varier en fonction du mode et de la disposition de la console DMS. Pour plus d'informations, consultez les rubriques Console en mode simple et Personnaliser la disposition et le style de la console DMS.
Connectez-vous à la console Data Management (DMS).
Dans la barre de menu supérieure, choisissez .
À droite de Data Migration Tasks, sélectionnez la région où se trouve l'instance de migration.
Cliquez sur Create Task pour accéder à la page de configuration de la tâche.
-
Configurez les bases de données source et de destination.
AvertissementAprès avoir sélectionné les instances source et de destination, nous vous recommandons de lire attentivement les limites affichées en haut de la page. Sinon, la tâche risque d'échouer ou des incohérences de données peuvent survenir.
Section
Paramètre
Description
N/A
Task Name
DTS génère automatiquement un nom de tâche. Nous vous recommandons de spécifier un nom descriptif pour une identification facile. Le nom n'a pas besoin d'être unique.
Source Database
Select Existing Connection
Pour utiliser une instance de base de données qui a été ajoutée au système (créée ou enregistrée), sélectionnez l'instance de base de données souhaitée dans la liste déroulante. Les informations de la base de données ci-dessous seront configurées automatiquement.
RemarqueDans la console DMS, ce paramètre est nommé Select a DMS database instance..
Si vous n'avez pas enregistré l'instance de base de données auprès du système ou si vous n'avez pas besoin d'utiliser une instance enregistrée, configurez manuellement les informations de la base de données ci-dessous.
Database Type
Sélectionnez PolarDB (Compatible with Oracle).
Access Method
Sélectionnez Public IP Address.
Instance Region
Sélectionnez la région où se trouve le cluster PolarDB for PostgreSQL (Compatible with Oracle) source.
Data Sources
Single Data Source : Cette option nécessite de spécifier le Domain Name or IP Address et le Port Number du nœud principal du cluster PolarDB for PostgreSQL (Compatible with Oracle) source.
Multiple Data Sources : Cette option nécessite également de saisir les adresses IP et les numéros de port de plusieurs nœuds, y compris le nœud principal, du cluster PolarDB for PostgreSQL (Compatible with Oracle) source dans le champ IP:Port of Data Sources.
RemarqueSi vous sélectionnez Multiple Data Sources et configurez le paramètre IP:Port of Data Sources, DTS peut basculer automatiquement vers un nouveau nœud principal en cas de basculement primaire/secondaire dans le cluster PolarDB for PostgreSQL (Compatible with Oracle). Cette fonctionnalité prend en charge les scénarios de reprise après sinistre.
Dans cet exemple, Single Data Source est sélectionné.
Domain Name or IP Address
Saisissez le point de terminaison du nœud principal du cluster PolarDB for PostgreSQL (Compatible with Oracle) source.
RemarqueVous pouvez exécuter la commande
pingsur votre ordinateur pour obtenir l'adresse IP du point de terminaison de connexion directe du cluster PolarDB for PostgreSQL (Compatible with Oracle) cible.Port Number
Saisissez le port de service de la base de données source. La valeur par défaut est 1521.
RemarqueDans cet exemple, ce port de service doit être accessible depuis Internet.
IP:Port of Data Sources
Saisissez les adresses IP et les numéros de port de plusieurs nœuds du cluster PolarDB for PostgreSQL (Compatible with Oracle) source. Séparez les différentes entrées par des virgules (,).
Oracle Type
Non-RAC Instance : Cette option nécessite de spécifier le SID.
RAC or PDB Instance : Cette option nécessite de spécifier le Service Name.
Dans cet exemple, Non-RAC Instance est sélectionné.
Database Name
Saisissez le nom de la base de données contenant l'objet de migration dans le cluster PolarDB for PostgreSQL (Oracle Compatible) source.
Database Account
Saisissez le compte de base de données pour le cluster PolarDB for PostgreSQL (Compatible with Oracle) source. Pour plus d'informations sur les autorisations requises, consultez la section Autorisations requises pour les comptes de base de données.
Database Password
Saisissez le mot de passe du compte de base de données.
Destination Database
Select Existing Connection
Pour utiliser une instance de base de données qui a été ajoutée au système (créée ou enregistrée), sélectionnez l'instance de base de données souhaitée dans la liste déroulante. Les informations de la base de données ci-dessous seront configurées automatiquement.
RemarqueDans la console DMS, ce paramètre est nommé Select a DMS database instance..
Si vous n'avez pas enregistré l'instance de base de données auprès du système ou si vous n'avez pas besoin d'utiliser une instance enregistrée, configurez manuellement les informations de la base de données ci-dessous.
Database Type
Sélectionnez PolarDB (Compatible with Oracle).
Access Method
Sélectionnez Public IP Address.
Instance Region
Sélectionnez la région où se trouve le cluster PolarDB for PostgreSQL (Compatible with Oracle) de destination.
Data Sources
Single Data Source : Cette option nécessite de spécifier le Domain Name or IP Address et le Port Number du nœud principal du cluster PolarDB for PostgreSQL (Compatible with Oracle) de destination.
Multiple Data Sources : Cette option nécessite également de saisir les adresses IP et les numéros de port de plusieurs nœuds, y compris le nœud principal, du cluster PolarDB for PostgreSQL (Compatible with Oracle) de destination dans le champ IP:Port of Data Sources.
RemarqueSi vous sélectionnez Multiple Data Sources et configurez le paramètre IP:Port of Data Sources, DTS peut basculer automatiquement vers un nouveau nœud principal en cas de basculement primaire/secondaire dans le cluster PolarDB for PostgreSQL (Compatible with Oracle). Cette fonctionnalité prend en charge les scénarios de reprise après sinistre.
Dans cet exemple, Single Data Source est sélectionné.
Domain Name or IP Address
Saisissez le point de terminaison du nœud principal du cluster PolarDB for PostgreSQL (Compatible with Oracle) de destination.
RemarqueVous pouvez exécuter la commande
pingsur votre ordinateur pour obtenir l'adresse IP du point de terminaison de connexion directe du cluster PolarDB for PostgreSQL (Compatible with Oracle) cible.Port Number
Saisissez le port de service de la base de données de destination. La valeur par défaut est 1521.
IP:Port of Data Sources
Saisissez les adresses IP et les numéros de port de plusieurs nœuds du cluster PolarDB for PostgreSQL (Compatible with Oracle) de destination. Séparez les différentes entrées par des virgules (,).
Database Name
Saisissez le nom de la base de données du cluster PolarDB for PostgreSQL (Compatible with Oracle) de destination vers lequel les objets seront migrés.
Database Account
Saisissez le compte de base de données pour le cluster PolarDB for PostgreSQL (Compatible with Oracle) de destination. Pour plus d'informations sur les autorisations requises, consultez la section Autorisations requises pour les comptes de base de données.
Database Password
Saisissez le mot de passe du compte de base de données.
-
Une fois la configuration terminée, cliquez sur Test Connectivity and Proceed en bas de la page.
RemarqueAssurez-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. Cela peut être fait automatiquement ou manuellement. Pour plus d'informations, consultez la rubrique Ajouter les blocs CIDR d'adresses IP des serveurs DTS à une liste d'autorisation.
Si la base de données source ou de destination est une base de données gérée par l'utilisateur (où la Access Method n'est pas Alibaba Cloud Instance), vous devez également cliquer sur Test Connectivity dans la boîte de dialogue CIDR Blocks of DTS Servers.
-
Configurez les objets de la tâche.
-
Sur la page Configure Objects, configurez les objets que vous souhaitez migrer.
Paramètre
Description
Migration Types
Si vous devez uniquement effectuer une migration complète, sélectionnez à la fois Schema Migration et Full Data Migration.
Pour effectuer une migration sans temps d'arrêt, sélectionnez Schema Migration, Full Data Migration et Incremental Data Migration.
RemarqueSi vous ne sélectionnez pas Schema Migration, vous devez vous assurer qu'une base de données et des tables destinées à recevoir les données existent dans la base de données de destination. Vous pouvez également utiliser la fonctionnalité de mappage de noms d'objets dans la zone Selected Objects si nécessaire.
Si vous ne sélectionnez pas Incremental Data Migration, n'écrivez pas de nouvelles données dans l'instance source pendant la migration des données afin de garantir la cohérence des données.
Processing Mode of Conflicting Tables
Precheck and Report Errors : Vérifie si des tables portant le même nom existent dans la base de données de destination. Si aucune table portant le même nom n'existe, la pré-vérification est réussie. Si des tables portant le même nom existent, une erreur est signalée lors de la pré-vérification et la tâche de migration de données ne démarre pas.
RemarqueSi une table de la base de données de destination porte le même nom mais ne peut pas être facilement supprimée ou renommée, vous pouvez modifier le nom de la table dans la base de données de destination. Pour plus d'informations, consultez la rubrique Mappage de noms d'objets.
Ignore Errors and Proceed : Ignore la vérification des tables portant le même nom.
AvertissementLa sélection de l'option Ignore Errors and Proceed peut entraîner des incohérences de données et des risques métier. Par exemple :
Si les schémas de table sont cohérents et qu'un enregistrement de la base de données de destination possède la même valeur de clé primaire qu'un enregistrement de la base de données source :
Lors de la migration complète, DTS conserve l'enregistrement dans la base de données de destination. L'enregistrement de la base de données source n'est pas migré.
Lors de la migration incrémentielle, DTS ne conserve pas l'enregistrement dans la base de données de destination. L'enregistrement de la base de données source écrase l'enregistrement dans la base de données de destination.
Si les schémas de table sont incohérents, seules certaines colonnes de données peuvent être migrées, ou la migration peut échouer. Procédez avec prudence.
Source Objects
Dans la zone Source Objects, cliquez sur les objets à migrer, puis cliquez sur
pour les déplacer vers la zone Selected Objects.Remarque-
Vous pouvez sélectionner des objets au niveau du schéma ou de la table. Si vous sélectionnez des tables, d'autres objets tels que les vues, les déclencheurs et les procédures stockées ne sont pas migrés.
-
Si une table à migrer contient des colonnes de type SERIAL et que vous avez sélectionné les Migration Types pour la Schema Migration, sélectionnez également Séquence ou migrez le schéma entier.
Selected Objects
-
Pour modifier le nom d'un seul objet de migration dans l'instance cible, faites un clic droit sur l'objet dans la zone Selected Objects. Pour plus d'informations, consultez la rubrique Mapper les noms individuels de schéma, de table et de colonne.
-
Pour modifier les noms de plusieurs objets de migration dans l'instance cible, cliquez sur Selected Objects dans le coin supérieur droit de la zone Batch Edit. Pour plus d'informations, consultez la rubrique Mapper plusieurs noms de schéma, de table et de colonne.
RemarqueSi vous utilisez la fonctionnalité de mappage de noms d'objets, la migration d'autres objets dépendant de l'objet renommé risque d'échouer.
Pour définir des conditions WHERE afin de filtrer les données, faites un clic droit sur une table dans la zone Selected Objects et spécifiez les conditions de filtre dans la boîte de dialogue qui s'affiche. Pour plus d'informations, consultez la rubrique Définir des conditions de filtre.
Pour sélectionner les opérations SQL à migrer au niveau de la base de données ou de la table, faites un clic droit sur un objet de migration dans la zone Selected Objects et sélectionnez les opérations SQL souhaitées dans la boîte de dialogue qui s'affiche.
-
Cliquez sur Next: Advanced Settings pour configurer les paramètres avancés.
Paramètre
Description
Dedicated Cluster for Task Scheduling
Par défaut, DTS planifie les tâches sur un cluster partagé. Vous n'avez pas besoin d'en sélectionner un. Si vous souhaitez des tâches plus stables, vous pouvez acheter un cluster dédié pour exécuter les tâches de migration DTS.
Retry Time for Failed Connections
Après le démarrage de la tâche de migration, 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 personnaliser la durée de nouvelle tentative sur une valeur comprise entre 10 et 1440 minutes. Nous vous recommandons de définir la durée sur plus de 30 minutes. Si DTS se reconnecte aux bases de données source et de destination dans le délai spécifié, la tâche de migration reprend automatiquement. Sinon, la tâche échoue.
RemarquePour plusieurs instances DTS partageant la même source ou la même destination, la durée de nouvelle tentative réseau est déterminée par le paramètre de la dernière tâche créée.
Étant donné que la tâche vous est facturée 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.
Retry Time for Other Issues
Après le démarrage de la tâche de migration, si un problème autre que la connectivité, tel qu'une exception d'exécution DDL ou DML, se produit dans la base de données source ou de destination, DTS signale une erreur et commence immédiatement à retenter l'opération. La durée de nouvelle tentative par défaut est de 10 minutes. Vous pouvez personnaliser la durée de nouvelle tentative sur une valeur comprise entre 1 et 1440 minutes. Nous vous recommandons de définir la durée sur plus de 10 minutes. Si les opérations associées réussissent dans le délai de nouvelle tentative spécifié, la tâche de migration reprend automatiquement. Sinon, la tâche échoue.
ImportantLa valeur de Retry Time for Other Issues doit être inférieure à la valeur de Retry Time for Failed Connections.
Enable Throttling for Full Data Migration
Lors de la migration complète, DTS consomme des ressources de lecture et d'écriture sur les bases de données source et de destination, ce qui peut augmenter la charge de la base de données. Si nécessaire, vous pouvez activer la limitation de débit pour la tâche de migration complète. Vous pouvez définir les Queries per second (QPS) to the source database, le RPS of Full Data Migration et la Data migration speed for full migration (MB/s) pour réduire la charge sur la base de données de destination.
RemarqueCet élément de configuration est disponible uniquement si vous sélectionnez Full Data Migration pour les Migration Types.
Vous pouvez également ajuster la vitesse de migration complète une fois que l'instance de migration est en cours d'exécution.
Enable Throttling for Incremental Data Migration
Si nécessaire, vous pouvez également choisir de définir des limites de vitesse pour la tâche de migration incrémentielle. Vous pouvez définir le RPS of Incremental Data Migration et la Data migration speed for incremental migration (MB/s) pour réduire la charge sur la base de données de destination.
RemarqueCet élément de configuration est disponible uniquement si vous sélectionnez Incremental Data Migration pour les Migration Types.
Vous pouvez également ajuster la vitesse de migration incrémentielle une fois que l'instance de migration est en cours d'exécution.
Environment Tag
Vous pouvez sélectionner une balise d'environnement pour identifier l'instance en fonction de vos besoins métier. Dans cet exemple, vous n'avez pas besoin de configurer ce paramètre.
Configure ETL
Choisissez d'activer ou non la fonctionnalité extract, transform and load (ETL). Pour plus d'informations, consultez la rubrique Qu'est-ce que l'ETL ? Valeurs valides :
-
Yes : Active la fonctionnalité ETL. Saisissez les instructions de traitement des données dans l'éditeur de code. Pour plus d'informations, consultez la rubrique Configurer l'ETL dans une tâche de migration ou de synchronisation de données.
-
No : Désactive la fonctionnalité ETL.
Monitoring and Alerting
Sélectionnez si vous souhaitez définir des alertes et recevoir des notifications d'alerte en fonction de vos besoins métier.
No : Ne définit pas d'alerte.
Yes : Configurez les alertes en définissant un seuil d'alerte et un notifications d'alerte. Si une migration échoue ou si la latence dépasse le seuil, le système envoie une notification d'alerte.
-
Cliquez sur Next: Data Validation pour configurer une tâche de validation des données.
Pour plus d'informations sur la fonctionnalité de validation des données, consultez la rubrique Configurer la validation des données.
-
-
Enregistrez la tâche et exécutez une pré-vérification.
Pour afficher les paramètres de configuration de cette instance lors de l'appel de l'opération API, placez le pointeur sur le bouton Next: Save Task Settings and Precheck et cliquez sur Preview OpenAPI parameters dans la bulle qui apparaît.
Si vous n'avez pas besoin d'afficher ou si vous avez terminé l'affichage des paramètres API, cliquez sur Next: Save Task Settings and Precheck en bas de la page.
RemarqueAvant le démarrage de la tâche de migration, DTS effectue une pré-vérification. La tâche ne démarre qu'après avoir réussi la pré-vérification.
Si la pré-vérification échoue, cliquez sur View Details à côté de l'élément de vérification ayant échoué, corrigez le problème en suivant les instructions, puis relancez la pré-vérification.
-
Si un avertissement est signalé lors de la pré-vérification :
Pour les éléments de vérification qui ne peuvent pas être ignorés, cliquez sur View Details à côté de l'élément ayant échoué, corrigez le problème en suivant les instructions, puis relancez la pré-vérification.
Pour les éléments de vérification qui peuvent être ignorés, vous pouvez cliquer sur Confirm Alert Details, Ignore, OK et Precheck Again pour ignorer l'élément d'avertissement et relancer la pré-vérification. Si vous choisissez d'ignorer un avertissement, cela peut entraîner des problèmes tels que des incohérences de données et présenter des risques pour votre activité.
-
Achetez l'instance.
Lorsque le Success Rate est de 100 %, cliquez sur Next: Purchase Instance.
-
Sur la page Purchase, sélectionnez la spécification de liaison pour l'instance de migration de données. Pour plus d'informations, consultez le tableau suivant.
Catégorie
Paramètre
Description
New Instance Class
Resource Group Settings
Sélectionnez le groupe de ressources auquel l'instance appartient. La valeur par défaut est le groupe de ressources par défaut. Pour plus d'informations, consultez la rubrique Qu'est-ce que la gestion des ressources ?
Instance Class
DTS propose des spécifications de migration avec différents niveaux de performance. La spécification de liaison affecte la vitesse de migration. Vous pouvez sélectionner une spécification en fonction de votre scénario métier. Pour plus d'informations, consultez la rubrique Spécifications de liaison pour la migration de données.
Une fois la configuration terminée, lisez et acceptez les Data Transmission Service (Pay-as-you-go) Service Terms.
-
Cliquez sur Buy and Start. Dans la boîte de dialogue OK qui s'affiche, cliquez sur OK.
Vous pouvez consulter la progression de la tâche de migration sur la page de liste des Data Migration Tasks.
RemarqueSi la tâche de migration n'inclut pas de migration incrémentielle, elle s'arrête automatiquement une fois la migration complète terminée. Une fois la tâche arrêtée, son Status passe à Completed.
Si la tâche de migration inclut une migration incrémentielle, elle ne s'arrête pas automatiquement. La tâche de migration incrémentielle continue de s'exécuter. Tant que la tâche de migration incrémentielle est en cours d'exécution, le Status de la tâche est Running.