Utilisez Data Transmission Service (DTS) pour migrer un cluster PolarDB for PostgreSQL (Compatible with Oracle) vers une base de données Oracle gérée par vos soins.
Prérequis
Un cluster source PolarDB for PostgreSQL (Compatible with Oracle) a été créé. Pour plus d'informations, consultez la page Créer un cluster PolarDB for PostgreSQL (compatible Oracle).
Dans le cluster source PolarDB for PostgreSQL (Compatible with Oracle), 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 de transactions anticipées (WAL). Pour plus d'informations, consultez la page Configurer les paramètres du cluster.
Limites
Pendant la migration complète et incrémentielle des données :
Les mises à jour ou suppressions en cascade dans la base de données source peuvent provoquer des incohérences de données.
Si la base de données de destination contient des clés étrangères ou des déclencheurs, désactivez-les. Sinon, la tâche de migration risque d'échouer.
|
Type |
Description |
|
Limites de la base de données source |
|
|
Autres limites |
|
|
Cas particuliers |
Si la base de données Oracle gérée par vos soins utilise une architecture Real Application Clusters (RAC) et doit se connecter à un VPC Alibaba Cloud, vous devez connecter à la fois l'adresse IP SCAN et l'adresse VIP de chaque nœud au VPC Alibaba Cloud et configurer les routes nécessaires pour que la tâche DTS s'exécute correctement. Pour plus d'informations, consultez les pages Présentation des solutions de connexion d'un centre de données local à Alibaba Cloud et Connecter un centre de données à DTS à l'aide d'une passerelle VPN. Important
Lorsque vous configurez la base de données Oracle source dans la console DTS, saisissez uniquement l'adresse IP SCAN de l'Oracle RAC dans le champ Adresse de la base de données ou Domain Name or IP. |
Facturation
|
Type de migration |
Frais de configuration de l'instance |
Frais de trafic Internet |
|
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 page Présentation de la facturation. |
|
Migration incrémentielle des données |
Facturé. Pour plus d'informations, consultez la page Présentation de la facturation. |
Types de migration
|
Type |
Description |
|
Migration complète des données |
DTS migre toutes les données historiques des objets de migration spécifiés 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 tant que la migration complète des données n'est pas terminée. Sinon, la migration échouera. |
|
Migration incrémentielle des données |
Après une migration complète des données, DTS réplique continuellement les mises à jour incrémentielles vers la base de données de destination en interrogeant et en capturant les journaux redo de la base de données source. La migration incrémentielle des données permet une migration transparente avec un temps d'arrêt de l'application quasi nul. |
Opérations SQL pour la migration incrémentielle
Type d'opération | Instruction SQL |
DML | INSERT, UPDATE et DELETE |
DDL |
|
Autorisations du compte de base de données
|
Base de données |
Autorisations |
|
Cluster PolarDB for PostgreSQL (Compatible with Oracle) |
Compte privilégié. |
|
Base de données Oracle auto-gérée. |
Autorisations de propriétaire de schéma. |
Pour créer des comptes de base de données et accorder les autorisations :
Pour un cluster PolarDB for PostgreSQL (Compatible with Oracle), consultez la rubrique Créer des comptes de base de données.
Pour une base de données Oracle auto-gérée, consultez les documents CREATE USER et GRANT.
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
Depuis la console DMS
RemarqueLes opérations réelles peuvent varier selon le mode et la disposition de la console DMS. Pour plus d'informations, consultez Console en mode simple et Personnaliser la disposition et le style de la console DMS.
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. Dans le cas contraire, la tâche pourrait échouer ou entraîner une incohérence des données.
Section
Paramètre
Description
N/A
Data Migration
DTS génère automatiquement un nom de tâche. Nous vous recommandons de spécifier un nom descriptif pour faciliter l'identification. Le nom n'a pas besoin d'être unique.
Data Migration Tasks
Create Task
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é Task Name.
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.
Source Database
Sélectionnez PolarDB (Compatible with Oracle).
Access Method
Dans cet exemple, Database Type est sélectionné.
Instance Region
Sélectionnez la région où se trouve le cluster PolarDB for PostgreSQL (Compatible with Oracle) source.
Replicate Data Across Alibaba Cloud Accounts
Dans cet exemple, une instance de base de données sous le compte Alibaba Cloud actuel est utilisée. Sélectionnez Alibaba Cloud Instance.
Instance ID
Sélectionnez l'ID du cluster PolarDB for PostgreSQL (Compatible with Oracle) source.
Database Name
Saisissez le nom de la base de données dans le cluster PolarDB for PostgreSQL (Compatible with Oracle) source qui contient les objets à migrer.
No
Saisissez le compte de base de données pour le cluster PolarDB for PostgreSQL (Compatible with Oracle) source. Pour connaître 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 Select Existing Connection.
Select a DMS database instance.
Sélectionnez Public IP Address.
Oracle
Sélectionnez la région où se trouve la base de données Oracle de destination.
Access Method
Saisissez le endpoint du nœud principal de la base de données Oracle de destination.
Port
Saisissez le port de service de la base de données de destination. La valeur par défaut est 1521.
Instance Region
-
Hostname or IP address : Si vous sélectionnez cette option, vous devez également spécifier le SID.
-
Oracle Type : Si vous sélectionnez cette option, vous devez également spécifier le Non-RAC Instance.
Dans cet exemple, Non-RAC Instance est sélectionné.
RAC or PDB Instance
Saisissez le compte de la base de données Oracle de destination. Pour connaître les autorisations requises, consultez la section Autorisations requises pour les comptes de base de données.
Service Name
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. Dans la boîte de dialogue CIDR Blocks of DTS Servers qui s'affiche, cliquez sur Test Connectivity.
RemarqueAssurez-vous que les plages d'adresses IP du service DTS sont ajoutées automatiquement ou manuellement aux paramètres de sécurité des bases de données source et de destination pour autoriser l'accès depuis les serveurs DTS. Pour plus d'informations, consultez Ajouter des adresses IP de serveur DTS à une liste d'autorisation.
-
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 avez uniquement besoin d'effectuer une migration complète, sélectionnez Database Account.
Pour effectuer une migration sans temps d'arrêt, sélectionnez à la fois Database Password et Test Connectivity and Proceed.
RemarqueSi vous ne sélectionnez pas CIDR Blocks of DTS Servers, 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.
Test Connectivity
Configure Objects : 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 des 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 Mappage des noms d'objets.
Ignore Errors and Proceed : Ignore la vérification des tables portant le même nom.
AvertissementLa sélection de Full Data Migration peut entraîner une incohérence des données et des risques commerciaux. 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 de 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. Agissez avec prudence.
Full Data Migration
Vous pouvez configurer la politique de sensibilité à la casse pour les noms des objets migrés, tels que les bases de données, les tables et les colonnes, dans l'instance de destination. Par défaut, Incremental Data Migration est sélectionné. Vous pouvez également choisir de maintenir la sensibilité à la casse conforme à la politique par défaut de la base de données source ou de destination. Pour plus d'informations, consultez Sensibilité à la casse des noms d'objets dans la base de données de destination.
Incremental Data Migration
Dans la zone Processing Mode of Conflicting Tables, cliquez sur les objets à migrer, puis cliquez sur
pour les déplacer vers la zone Precheck and Report Errors.RemarqueLe niveau de granularité pour la sélection des objets de migration est le schéma, la table et la colonne. Si vous sélectionnez uniquement des tables ou des colonnes comme objets de migration, les autres objets tels que les vues, les déclencheurs et les procédures stockées ne sont pas migrés vers la base de données de destination.
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 Ignore Errors and Proceed. Pour plus d'informations, consultez Mapper les noms de schéma, de table et de colonne individuels.
-
Pour modifier les noms de plusieurs objets de migration dans l'instance cible, cliquez sur Capitalization of Object Names in Destination Instance dans le coin supérieur droit de la zone DTS default policy. Pour plus d'informations, consultez Mapper plusieurs noms de schéma, de table et de colonne.
Remarque-
Si vous utilisez la fonctionnalité de mappage des noms d'objets, les autres objets qui dépendent de l'objet renommé peuvent ne pas être migrés.
-
Pour filtrer les données à l'aide d'une clause WHERE, faites un clic droit sur une table dans la zone Source Objects et spécifiez la condition de filtre dans la boîte de dialogue qui s'affiche. Pour plus d'informations, consultez 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 Source 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
Selected Objects
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
Une fois la tâche de migration démarrée, 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 avec une valeur comprise entre 10 et 1440 minutes. Nous vous recommandons de définir la durée à plus de 30 minutes. Si DTS se reconnecte aux bases de données source et de destination dans la durée spécifiée, 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 vous êtes facturé pour la tâche 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 commerciaux, 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.
Selected Objects
Une fois la tâche de migration démarrée, si un problème autre qu'un problème de 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 avec une valeur comprise entre 1 et 1440 minutes. Nous vous recommandons de définir la durée à plus de 10 minutes. Si les opérations associées réussissent dans la durée de nouvelle tentative spécifiée, la tâche de migration reprend automatiquement. Sinon, la tâche échoue.
ImportantLa valeur de Selected Objects doit être inférieure à la valeur de Batch Edit.
Selected Objects
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 Selected Objects, Next: Advanced Settings et Dedicated Cluster for Task Scheduling 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 Retry Time for Other Issues.
Vous pouvez également ajuster la vitesse de migration complète une fois que l'instance de migration est en cours d'exécution.
Retry Time for Other Issues
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 Retry Time for Failed Connections et Enable Throttling for Full Data Migration 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 Queries per second (QPS) to the source database pour RPS of Full Data Migration.
Vous pouvez également ajuster la vitesse de migration incrémentielle une fois que l'instance de migration est en cours d'exécution.
Data migration speed for full migration (MB/s)
Vous pouvez sélectionner une balise d'environnement pour identifier l'instance en fonction de vos besoins commerciaux. Ce paramètre est facultatif.
Configure ETL
En fonction de vos besoins commerciaux, choisissez de configurer ou non la fonctionnalité ETL pour traiter les données.
Migration Types : Configure la fonctionnalité ETL. Vous devez également saisir des instructions de traitement des données dans la zone de texte.
Enable Throttling for Incremental Data Migration : Ne configure pas la fonctionnalité ETL.
RPS of Incremental Data Migration
Choisissez de définir ou non des alertes et de recevoir des notifications d'alerte en fonction de vos besoins commerciaux.
Data migration speed for incremental migration (MB/s) : Ne définit pas d'alerte.
Incremental Data Migration : 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 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 s'affiche.
Si vous n'avez pas besoin d'afficher ou avez terminé d'afficher les paramètres de l'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 qu'une incohérence des données et présenter des risques pour votre activité.
-
Achetez l'instance de migration.
Lorsque le Success Rate atteint 100 %, cliquez sur Next: Purchase Instance.
-
Sur la page Purchase, sélectionnez la spécification de lien pour l'instance de migration de données. Pour plus d'informations, consultez le tableau suivant.
Catégorie
Paramètre
Description
Migration Types
Environment Tag
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 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 lien affecte la vitesse de migration. Vous pouvez sélectionner une spécification en fonction de votre scénario commercial. Pour plus d'informations, consultez Spécifications de lien de migration de données.
Une fois la configuration terminée, lisez et acceptez les Yes.
-
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 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. Pendant l'exécution de la tâche de migration incrémentielle, le Status de la tâche est Running.