Tous les produits
Search
Centre de documentation

Data Transmission Service:Migrer les données d'une base de données Oracle autonome vers un cluster PolarDB pour PostgreSQL

Dernière mise à jour :Aug 10, 2026

Data Transmission Service (DTS) permet de migrer les données d'une base de données Oracle autonome vers un cluster PolarDB pour PostgreSQL. Vous pouvez opter pour la migration de schéma, la migration complète des données ou la migration incrémentielle des données, voire combiner ces trois options pour maintenir la synchronisation entre la source et la destination pendant la migration.

Avant de commencer

Avant de configurer une tâche de migration, suivez les étapes de préparation ci-dessous.

Étape 1 : Évaluer la compatibilité (recommandé)

Utilisez Advanced Database & Application Migration (ADAM) pour évaluer la compatibilité de votre base de données Oracle source avec PolarDB pour PostgreSQL. ADAM identifie les schémas, types de données et syntaxes SQL incompatibles avant la migration, ce qui réduit le risque d'échec des tâches.

Pour obtenir des instructions de configuration et connaître les limites des fonctionnalités DTS spécifiques à Oracle, consultez les rubriques Préparer une base de données Oracle et Vue d'ensemble de DTS.

Étape 2 : Préparer la base de données Oracle source

  • Activez le mode ARCHIVELOG. La base de données Oracle source doit s'exécuter en mode ARCHIVELOG, avec des fichiers journaux d'archive accessibles et une période de rétention appropriée. Consultez la documentation Gestion des fichiers journaux redo archivés.

  • Activez la journalisation supplémentaire. Définissez les paramètres SUPPLEMENTAL_LOG_DATA_PK et SUPPLEMENTAL_LOG_DATA_UI sur Yes. Consultez la documentation Journalisation supplémentaire.

Étape 3 : Préparer le cluster PolarDB pour PostgreSQL de destination

Limites

Comportement des clés étrangères pendant la migration

  • Lors de la migration de schéma, DTS migre les clés étrangères de la source vers la destination.

  • Pendant la migration complète et la migration incrémentielle des données, DTS désactive temporairement les vérifications de contraintes et les opérations en cascade sur les clés étrangères au niveau de la session. Si vous effectuez des opérations en cascade ou de suppression sur la base de données source pendant la migration, des incohérences de données peuvent survenir.

Limites de la base de données source

Connectivité

Scénario Limite
Général Le serveur hébergeant la base de données source doit disposer d'une bande passante sortante suffisante. Une bande passante insuffisante ralentit la migration.
Oracle RAC via Express Connect Spécifiez une adresse IP virtuelle (VIP) pour la base de données source. L'utilisation d'une adresse IP Single Client Access Name (SCAN) n'est pas prise en charge. Le basculement de nœud est désactivé une fois la VIP spécifiée.
Oracle RAC via Express Connect, VPN Gateway, Smart Access Gateway, Database Gateway ou Cloud Enterprise Network (CEN) Utilisez une seule VIP au lieu d'une adresse IP SCAN. Le basculement de nœud n'est pas pris en charge une fois la VIP spécifiée.

Compatibilité des données

  • Si un champ VARCHAR2 de la base de données Oracle source contient une chaîne vide (qu'Oracle interprète comme NULL) et que le champ correspondant dans la destination possède une contrainte NOT NULL, la tâche de migration échoue.

  • Les tables à migrer doivent comporter des contraintes PRIMARY KEY ou UNIQUE, et tous les champs doivent être uniques. Sinon, la base de données de destination peut contenir des enregistrements en double.

  • Pour Oracle 12c et versions ultérieures, les noms de table ne peuvent pas dépasser 30 octets.

  • Si vous sélectionnez des tables comme objets de migration et devez renommer des tables ou des colonnes dans la destination, une seule tâche de migration prend en charge jusqu'à 1 000 tables. Au-delà, une erreur de requête se produit. Exécutez plusieurs tâches par lots ou migrez l'intégralité de la base de données.

Exigences pour la migration incrémentielle

Mode de migration Période de rétention des journaux requise
Migration incrémentielle des données uniquement Plus de 24 heures
Migration complète des données + migration incrémentielle des données Au moins 7 jours. Une fois la migration complète terminée, vous pouvez réduire cette durée à plus de 24 heures.

Si DTS ne peut pas obtenir les journaux redo ou les journaux d'archive en raison d'une rétention insuffisante, la tâche de migration échoue. Dans les cas extrêmes, cela peut entraîner une incohérence ou une perte de données. L'accord de niveau de service (SLA) de DTS ne couvre pas les échecs causés par une rétention insuffisante des journaux.

Opérations à éviter sur la base de données source

  • N'effectuez pas d'opérations DDL modifiant les schémas de base de données ou de table pendant la migration de schéma ou la migration complète des données. La tâche échoue si des modifications DDL sont détectées.

  • Si vous exécutez uniquement la migration complète des données (sans migration incrémentielle), n'écrivez pas de données dans la base de données source pendant la migration. Les écritures effectuées durant la migration complète peuvent entraîner des incohérences de données.

  • Ne mettez pas à jour les champs LONGTEXT pendant la migration. La tâche échoue si des champs LONGTEXT sont mis à jour.

Autres limites

  • Les jeux de caractères des bases de données source et de destination doivent être compatibles. Des jeux de caractères incompatibles peuvent provoquer des incohérences de données ou l'échec de la tâche.

  • Les bases de données source et de destination doivent utiliser le même fuseau horaire.

  • Utilisez la fonctionnalité de migration de schéma de DTS pour migrer les schémas. Une gestion manuelle de la migration de schéma peut entraîner des échecs de tâche en raison de types de données incompatibles.

  • Le caractère de fin \0 ne peut pas être écrit dans le cluster PolarDB pour PostgreSQL de destination. DTS ignore silencieusement ce caractère s'il apparaît dans les données migrées, ce qui peut entraîner des incohérences de données.

  • Exécutez les tâches de migration pendant les heures creuses. La migration complète des données consomme des ressources de lecture et d'écriture sur les deux bases de données.

  • Une fois la migration complète des données terminée, l'espace utilisé par le tablespace du cluster de destination sera plus important que celui de la base de données source en raison de la fragmentation causée par les opérations INSERT concurrentes.

  • DTS tente de relancer les tâches de migration ayant échoué pendant 7 jours maximum. Avant de basculer les charges de travail vers la base de données de destination, arrêtez ou libérez toutes les tâches ayant échoué, ou exécutez la commande REVOKE pour supprimer les autorisations d'écriture des comptes DTS sur la base de données de destination. Sinon, une tâche reprise risque d'écraser les données dans la destination.

  • Pendant la migration, seul DTS doit écrire des données dans la base de données de destination. Des écritures externes peuvent provoquer des incohérences de données.

Facturation

Type de migration Frais de configuration de tâche Frais de trafic Internet
Migration de schéma Gratuit Gratuit (facturé uniquement lors de la migration depuis Alibaba Cloud via Internet — voir la rubrique Vue d'ensemble de la facturation)
Migration complète des données Gratuit Gratuit (facturé uniquement lors de la migration depuis Alibaba Cloud via Internet — voir la rubrique Vue d'ensemble de la facturation)
Migration incrémentielle des données Facturé (voir la rubrique Vue d'ensemble de la facturation) —

Opérations SQL prises en charge pour la migration incrémentielle

Type d'opération Instructions SQL
DML INSERT, UPDATE, DELETE
DDL CREATE TABLE (exclut les instructions avec clauses de partitionnement, sous-partitionnement ou fonctions ; CREATE TABLE AS SELECT n'est pas pris en charge) ; ALTER TABLE (ADD COLUMN, ADD INDEX, DROP COLUMN, DROP INDEX, MODIFY COLUMN, RENAME COLUMN) ; DROP TABLE ; RENAME TABLE ; TRUNCATE TABLE ; CREATE INDEX

Autorisations de compte de base de données requises

Base de données Migration de schéma Migration complète des données Migration incrémentielle des données
Base de données Oracle autonome Autorisations de propriétaire de schéma Autorisations de propriétaire de schéma Autorisations fines
Cluster PolarDB pour PostgreSQL Autorisations de propriétaire de schéma
Remarque

Pour le cluster PolarDB pour PostgreSQL, utilisez le compte database owner créé lors de la configuration de la base de données.

Pour obtenir des instructions sur la création de comptes et l'attribution d'autorisations :

Important

Pour migrer des données incrémentielles depuis une base de données Oracle, vous devez activer la journalisation d'archive et la journalisation supplémentaire sur la base de données Oracle. Consultez la section Configurer une base de données Oracle de la rubrique « Préparer une base de données Oracle ».

Créer une tâche de migration

  1. Accédez à la page Tâches de migration de données.

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

    2. Dans la barre de navigation supérieure, cliquez sur DTS.

    3. Dans le volet de navigation de gauche, choisissez DTS (DTS) > Data Migration.

    Remarque
  2. Dans la liste déroulante située à côté de Tâches de migration de données, sélectionnez la région où réside l'instance de migration.

    Remarque

    Dans la nouvelle console DTS, sélectionnez plutôt la région dans le coin supérieur gauche.

  3. Cliquez sur Create Task. Dans l'assistant de création de tâche, configurez les bases de données source et de destination à l'aide des paramètres ci-dessous.

    Avertissement

    Après avoir configuré les bases de données source et de destination, lisez les limits affichées dans la partie supérieure de la page avant de continuer. Ignorer cette étape peut entraîner l'échec de la tâche ou des incohérences de données.

    Paramètres de la base de données source

    Paramètre Description
    Task Name Nom descriptif de la tâche. DTS attribue automatiquement un nom, mais il est recommandé d'utiliser un nom significatif pour faciliter l'identification. Les noms de tâches n'ont pas besoin d'être uniques.
    Select an existing DMS database instance (facultatif) Sélectionnez une instance DMS existante pour préremplir automatiquement les paramètres de la base de données, ou ignorez cette étape et configurez les paramètres manuellement.
    Database Type Sélectionnez Oracle.
    Access Method Sélectionnez l'option en fonction de l'emplacement de déploiement de la base de données source. Cet exemple utilise Base de données autonome sur ECS. Pour d'autres méthodes d'accès, consultez la rubrique Vue d'ensemble de la préparation.
    Instance Region Région où réside la base de données Oracle source.
    ECS Instance ID ID de l'instance Elastic Compute Service (ECS) hébergeant la base de données Oracle source.
    Port Number Port de service de la base de données Oracle source. Valeur par défaut : 1521.
    Oracle Type Architecture de la base de données Oracle source : Instance non-RAC (configurez le paramètre SID) ou Instance RAC ou PDB (configurez le paramètre Service Name). Cet exemple utilise Instance RAC ou PDB avec le paramètre Service Name.
    Database Account Compte de la base de données Oracle source. Consultez la rubrique Autorisations de compte de base de données requises.
    Database Password Mot de passe du compte de base de données.

    Paramètres de la base de données de destination

    Paramètre Description
    Select an existing DMS database instance (facultatif) Sélectionnez une instance DMS existante pour préremplir automatiquement les paramètres de la base de données, ou ignorez cette étape et configurez les paramètres manuellement.
    Database Type Sélectionnez PolarDB for PostgreSQL.
    Access Method Sélectionnez Alibaba Cloud Instance.
    Instance Region Région où réside le cluster PolarDB pour PostgreSQL de destination.
    Instance ID ID du cluster PolarDB pour PostgreSQL de destination.
    Database Name Nom de la base de données de destination qui recevra les objets migrés.
    Database Account Compte de base de données du cluster de destination. Consultez la rubrique Autorisations de compte de base de données requises.
    Database Password Mot de passe du compte de base de données.
  4. Cliquez sur Test Connectivity and Proceed.

  5. Si votre base de données source comporte une liste d'autorisation d'adresses IP configurée, ajoutez les blocs CIDR des serveurs DTS à la liste d'autorisation. Cliquez ensuite sur Test Connectivity and Proceed.

    Avertissement

    L'ajout des blocs CIDR des serveurs DTS à la liste d'autorisation de votre base de données ou aux règles de groupe de sécurité de votre instance ECS introduit des risques de sécurité. Avant de continuer, prenez des mesures préventives, notamment en imposant des identifiants robustes, en limitant les ports exposés, en authentifiant les appels API et en examinant régulièrement les règles de la liste d'autorisation. Vous pouvez également connecter la base de données à DTS via Express Connect, VPN Gateway ou Smart Access Gateway pour éviter l'exposition sur Internet public.

  6. Configurez les objets à migrer et les paramètres avancés. Mise en majuscule des noms d'objets dans l'instance de destination Par défaut, la stratégie par défaut DTS est appliquée. Sélectionnez une autre option pour aligner la mise en majuscule des noms d'objets avec la base de données source ou de destination. Consultez la rubrique Spécifier la mise en majuscule des noms d'objets dans l'instance de destination. Sélection des objets Dans la section Source Objects, sélectionnez un ou plusieurs objets (colonnes, tables ou bases de données) et cliquez sur l'icône Right arrow icon pour les déplacer vers la section Selected Objects. Dans la section Selected Objects :

    Remarque

    Si vous ne sélectionnez pas Incremental Data Migration, n'écrivez pas de données dans la base de données source pendant la migration afin de maintenir la cohérence des données.

    Remarque

    Le renommage d'un objet via la fonctionnalité de mappage de nom d'objet peut empêcher la migration d'autres objets qui en dépendent.

    Type de migration

    Objectif Types de migration à sélectionner
    Migration complète uniquement (aucune continuité de service nécessaire) Migration de schéma et Migration complète des données
    Migration complète avec continuité de service Migration de schéma, Migration complète des données et Migration incrémentielle des données

    Mode de traitement des tables en conflit

    Mode Comportement
    Vérification préalable et signalement des erreurs Vérifie la présence de tables portant des noms identiques dans les bases de données source et de destination. La vérification préalable réussit uniquement s'il n'existe aucun conflit de nom. En cas de conflits, la tâche ne peut pas démarrer. Pour résoudre les conflits, utilisez la fonctionnalité de mappage de nom d'objet pour renommer les objets migrés. Consultez la rubrique Mapper les noms d'objets.
    Ignorer les erreurs et continuer Ignore la vérification des conflits de nom. À utiliser avec prudence : si la source et la destination ont le même schéma, les enregistrements avec des clés primaires correspondantes ne sont pas migrés ; si les schémas diffèrent, seules certaines colonnes peuvent être migrées ou la tâche peut échouer.
  7. Cliquez sur Next: Advanced Settings pour configurer les paramètres avancés. Paramètres de vérification des données Pour activer la vérification des données après la migration, consultez la rubrique Configurer la vérification des données.

    Paramètres avancés

    Paramètre Description
    Select the dedicated cluster used to schedule the task Par défaut, DTS planifie les tâches sur un cluster partagé. Pour utiliser un cluster dédié, vous devez d'abord en acheter un. Consultez la rubrique Qu'est-ce qu'un cluster dédié DTS ?
    Retry Time for Failed Connections Durée pendant laquelle DTS retente une connexion après un échec. Valeurs valides : 10–1 440 minutes. Valeur par défaut : 720 minutes. Il est recommandé de définir ce paramètre sur une valeur supérieure à 30 minutes. Si DTS se reconnecte dans la fenêtre de nouvelle tentative, la tâche de migration reprend ; sinon, elle échoue.
    Remarque

    Lorsque plusieurs tâches partagent la même source ou destination, le délai de nouvelle tentative défini le plus récemment s'applique à toutes. Les frais de l'instance DTS continuent de s'appliquer pendant les nouvelles tentatives. Libérez l'instance rapidement après la mise hors service de la source et de la destination.

    The wait time before a retry when other issues occur in the source and destination databases Durée pendant laquelle DTS retente les opérations DDL ou DML qui échouent après le démarrage de la tâche. Valeurs valides : 1–1 440 minutes. Valeur par défaut : 10 minutes. Il est recommandé de définir ce paramètre sur une valeur supérieure à 10 minutes. Cette valeur doit être inférieure à celle du paramètre Retry Time for Failed Connections.
    Enable Throttling for Full Data Migration Limite la charge de lecture/écriture sur les bases de données source et de destination pendant la migration complète des données. Lorsqu'elle est activée, configurez les paramètres Queries per second (QPS) to the source database, RPS de la migration complète des données et Vitesse de migration des données pour la migration complète (Mo/s). Disponible uniquement lorsque l'option Migration complète des données est sélectionnée.
    Enable Throttling for Incremental Data Migration Limite la charge pendant la migration incrémentielle des données. Lorsqu'elle est activée, configurez les paramètres RPS of Incremental Data Migration et Vitesse de migration des données pour la migration incrémentielle (Mo/s). Disponible uniquement lorsque l'option Migration incrémentielle des données est sélectionnée.
    Environment Tag Tag facultatif permettant d'identifier l'instance DTS par type d'environnement.
    Actual Write Code Format d'encodage pour l'écriture des données dans la base de données de destination. Sélectionnez l'option adaptée à vos besoins.
    Configure ETL Indique s'il faut activer l'extraction, la transformation et le chargement (ETL). Sélectionnez Yes pour saisir des instructions de traitement des données dans l'éditeur de code. Consultez la rubrique Configurer ETL dans une tâche de migration ou de synchronisation de données. Sélectionnez No pour ignorer la configuration ETL. Pour une vue d'ensemble, consultez la rubrique Qu'est-ce que ETL ?
    Monitoring and Alerting Indique s'il faut configurer des alertes pour la tâche de migration. Sélectionnez Yes pour définir un seuil d'alerte et des contacts d'alerte. Les contacts reçoivent des notifications si la tâche échoue ou si la latence de migration dépasse le seuil. Consultez la rubrique Configurer la surveillance et les alertes pour une nouvelle tâche DTS.
  8. Cliquez sur Next: Save Task Settings and Precheck.

    Remarque
    • Pour afficher un aperçu des paramètres API utilisés pour configurer cette instance, placez le curseur sur Suivant : Enregistrer les paramètres de la tâche et effectuer la vérification préalable et cliquez sur Preview API Call.

    • DTS exécute une vérification préalable avant de démarrer la tâche de migration. La tâche démarre uniquement après la réussite de la vérification préalable.

    • Si la vérification préalable échoue pour un élément, cliquez sur View Details à côté de l'élément ayant échoué, corrigez le problème, puis relancez la vérification préalable.

    • Si un élément de vérification préalable génère un avertissement : corrigez le problème s'il ne peut pas être ignoré. S'il peut être ignoré en toute sécurité, cliquez sur Confirm Alert Details > Ignore > OK > Precheck Again. Ignorer un avertissement peut entraîner des incohérences de données ou exposer votre système à des risques.

  9. Attendez que le taux de réussite atteigne 100 %, puis cliquez sur Next: Purchase Instance.

  10. Sur la page Purchase Instance, configurez la classe d'instance.

    Paramètre Description
    Resource Group Groupe de ressources pour l'instance de migration. Valeur par défaut : groupe de ressources par défaut. Consultez la rubrique Qu'est-ce que Resource Management ?
    Instance Class La classe d'instance détermine la vitesse de migration. Sélectionnez l'option adaptée à vos besoins. Consultez la rubrique Spécifications des instances de migration de données.
  11. Lisez et acceptez les Conditions de service Data Transmission Service (Paiement à l'utilisation) en cochant la case.

  12. Cliquez sur Buy and Start. Surveillez la progression de la migration sur la page Gestion des tâches.