Utilisez DTS pour migrer les données d'une instance ApsaraDB RDS for PPAS vers un cluster PolarDB for Oracle. DTS prend en charge la migration de schéma, la migration complète des données et la migration incrémentielle des données. En combinant ces types de migration, vous migrez votre base de données de manière transparente sans interrompre vos applications.
Prérequis
Nous vous recommandons d'utiliser la nouvelle console pour la migration. Pour obtenir des instructions, consultez la rubrique Migrer depuis ApsaraDB RDS for PPAS vers PolarDB for PostgreSQL (Compatible avec Oracle).
Vous devez disposer d'un cluster PolarDB for PostgreSQL (Compatible with Oracle) actif. Pour plus d'informations, consultez la rubrique Créer un cluster PolarDB for PostgreSQL (Compatible with Oracle).
Assurez-vous que le cluster PolarDB for PostgreSQL (Compatible with Oracle) dispose d'un espace de stockage supérieur au volume de données de l'instance source ApsaraDB RDS for PPAS.
Si les noms de bases de données, de tables ou de colonnes de l'instance source ApsaraDB RDS for PPAS contiennent des lettres majuscules, entourez-les de guillemets doubles ("") lors de leur création dans le cluster PolarDB for PostgreSQL (Compatible with Oracle).
Pour effectuer une migration incrémentielle des données, accordez des autorisations de superutilisateur au compte de base de données utilisé pour la migration sur l'instance source ApsaraDB RDS for PPAS.
Remarques relatives à l'utilisation
Lors d'une migration complète des données, DTS consomme des ressources de lecture et d'écriture sur les bases de données source et de destination, ce qui augmente leur charge. Si vos bases de données présentent de mauvaises performances, des spécifications faibles ou des charges de travail élevées (par exemple, si la base de données source contient de nombreuses requêtes SQL lentes ou des tables sans clés primaires, ou si des interblocages se produisent dans la base de données de destination), cette augmentation de la charge peut saturer vos bases de données, voire provoquer des interruptions de service. Effectuez la migration des données pendant les heures creuses, par exemple lorsque l'utilisation du CPU des deux bases de données est inférieure à 30 %.
Si une table source ne possède ni clé primaire ni contrainte unique et contient des données non uniques, des doublons peuvent être créés dans la base de données de destination.
Une tâche de migration de données ne gère qu'une seule base de données à la fois. Pour migrer plusieurs bases de données, créez une tâche distincte pour chacune d'elles.
DTS tente automatiquement de reprendre une tâche de migration de données ayant échoué. Pour éviter qu'une reprise automatique n'écrase les données de l'instance de destination, arrêtez ou libérez la tâche avant d'effectuer le basculement de votre activité.
-
Les séquences de la base de données de destination ne continuent pas à partir de la valeur maximale source après le basculement. Avant de basculer, interrogez la valeur maximale de chaque séquence dans la source et définissez-la comme valeur de départ dans la destination. Interrogez les valeurs de séquence :
do language plpgsql $$ declare nsp name; rel name; val int8; begin for nsp,rel in select nspname,relname from pg_class t2 , pg_namespace t3 where t2.relnamespace=t3.oid and t2.relkind='S' loop execute format($_$select last_value from %I.%I$_$, nsp, rel) into val; raise notice '%', format($_$select setval('%I.%I'::regclass, %s);$_$, nsp, rel, val+1); end loop; end; $$; -
Lorsque vous migrez des données d'une instance ApsaraDB RDS for PPAS vers un cluster PolarDB for Oracle, tenez compte des éléments suivants :
Assurez-vous que le cluster PolarDB for Oracle dispose de spécifications égales ou supérieures à celles de l'instance ApsaraDB RDS for PPAS. Cela permet d'éviter les requêtes SQL lentes ou les erreurs de mémoire insuffisante (OOM) pouvant être causées par des ressources CPU et mémoire insuffisantes dans le cluster PolarDB for Oracle après la migration. Pour connaître les spécifications recommandées pour le cluster PolarDB for Oracle, consultez la rubrique Correspondance entre les spécifications ApsaraDB RDS for PPAS et les spécifications PolarDB for Oracle recommandées.
Si votre activité nécessite un nombre spécifique de connexions ou d'IOPS après la migration, reportez-vous aux rubriques et Spécifications des nœuds de calcul pour sélectionner un cluster PolarDB for Oracle approprié.
Utilisez le point de terminaison du cluster pour les connexions de votre application afin d'activer la répartition lecture/écriture automatique. Cette fonctionnalité achemine les requêtes de lecture vers les nœuds en lecture seule et réduit la charge du cluster PolarDB for Oracle. Pour plus de détails sur l'obtention d'un point de terminaison de cluster, consultez la rubrique Afficher ou demander un point de terminaison.
Tableau de correspondance pour RDS PPAS et les types d'instance de cluster PolarDB for PostgreSQL (Compatible with Oracle) recommandés
Nous recommandons que les spécifications du cluster PolarDB for Oracle soient supérieures ou égales aux spécifications RDS PPAS afin d'éviter les requêtes SQL lentes ou les erreurs OOM causées par une insuffisance de CPU et de mémoire dans le cluster PolarDB for Oracle après la migration.
|
Types d'instance RDS for PPAS |
Types d'instance PolarDB for Oracle recommandés |
||
|
Type d'instance |
CPU et mémoire |
Type d'instance |
CPU et mémoire |
|
rds.ppas.t1.small |
1 cœur, 1 Go |
polar.o.x4.medium |
2 cœurs, 8 Go |
|
ppas.x4.small.2 |
1 cœur, 4 Go |
polar.o.x4.medium |
2 cœurs, 8 Go |
|
ppas.x4.medium.2 |
2 cœurs, 8 Go |
polar.o.x4.medium |
2 cœurs, 8 Go |
|
ppas.x8.medium.2 |
2 cœurs, 16 Go |
polar.o.x4.large |
4 cœurs, 16 Go |
|
ppas.x4.large.2 |
4 cœurs, 16 Go |
polar.o.x4.large |
4 cœurs, 16 Go |
|
ppas.x8.large.2 |
4 cœurs, 32 Go |
polar.o.x4.xlarge |
8 cœurs, 32 Go |
|
ppas.x4.xlarge.2 |
8 cœurs, 32 Go |
polar.o.x4.xlarge |
8 cœurs, 32 Go |
|
ppas.x8.xlarge.2 |
8 cœurs, 64 Go |
polar.o.x8.xlarge |
8 cœurs, 64 Go |
|
ppas.x4,2xlarge.2 |
16 cœurs, 64 Go |
polar.o.x8,2xlarge |
16 cœurs, 128 Go |
|
ppas.x8,2xlarge.2 |
16 cœurs, 128 Go |
polar.o.x8,2xlarge |
16 cœurs, 128 Go |
|
ppas.x4,4xlarge.2 |
32 cœurs, 128 Go |
polar.o.x8,4xlarge |
32 cœurs, 256 Go |
|
ppas.x8,4xlarge.2 |
32 cœurs, 256 Go |
polar.o.x8,4xlarge |
32 cœurs, 256 Go |
|
rds.ppas.st.h43 |
60 cœurs, 470 Go |
polar.o.x8,8xlarge |
64 cœurs, 512 Go |
Types de migration
|
Type |
Description |
|
Migration de schéma |
DTS migre les définitions de schéma des objets de migration vers le cluster PolarDB de destination. Les objets pris en charge incluent les tables, les vues, les synonymes, les déclencheurs (incompatibles), les procédures stockées, les fonctions stockées, les packages et les types définis par l'utilisateur. Important
Étant donné que les déclencheurs sont incompatibles, la migration d'objets qui en contiennent peut entraîner une incohérence des données. |
|
Migration complète des données |
DTS migre toutes les données existantes des objets de migration de la base de données source vers le cluster PolarDB de destination. Important
N'effectuez pas d'opérations DDL sur les objets de migration tant que la migration du schéma et la migration complète des données ne sont pas terminées. Cela pourrait entraîner l'échec de la migration. |
|
Migration incrémentielle des données |
Après la migration complète des données, DTS interroge et capture les journaux redo de la base de données source et migre les mises à jour incrémentielles vers le cluster PolarDB de destination en temps réel. DTS prend uniquement en charge les opérations DML (INSERT, UPDATE et DELETE), et non les opérations DDL. La migration incrémentielle des données vous permet de migrer votre base de données sans interrompre les applications. |
Facturation
|
Type de migration |
Frais de configuration de la tâche |
Frais de trafic Internet |
|
Migration de schéma et migration complète des données |
Gratuit. |
DTS facture des frais de trafic Internet lorsque la Access Method de la base de données de destination est définie sur Public IP Address. Présentation de la facturation. |
|
Migration incrémentielle des données |
Facturé. Présentation de la facturation. |
Autorisations des comptes de base de données
Connectez-vous aux bases de données source et de destination, créez des comptes pour la migration des données et accordez les autorisations requises.
|
Base de données |
Migration de schéma |
Migration complète des données |
Migration incrémentielle des données |
|
ApsaraDB RDS for PPAS |
Autorisation de lecture |
Autorisation de lecture |
Autorisation de superutilisateur |
|
Cluster PolarDB for Oracle |
Propriété du schéma |
Propriété du schéma |
Propriété du schéma |
Pour créer des comptes et accorder des autorisations pour un cluster PolarDB for PostgreSQL (Compatible with Oracle), consultez la rubrique Créer un compte.
Procédure
-
Connectez-vous à la console DTS.
RemarqueSi vous êtes redirigé automatiquement vers la console Data Management (DMS), cliquez sur l'icône
en bas à droite, puis sur
pour revenir à la console DTS classique. Dans le volet de navigation de gauche, cliquez sur Data Migration.
-
En haut de la page Migration Tasks, sélectionnez la région du cluster de destination.
Dans le coin supérieur droit de la page, cliquez sur Create Data Migration Task.
-
Configurez les paramètres de connexion pour les bases de données source et de destination.
Catégorie
Paramètre
Description
N/A
Nom de la tâche
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.
Base de données source
Type d'instance
Étant donné que DTS ne prend pas directement en charge une instance RDS for PPAS en tant que base de données source, sélectionnez base de données auto-gérée avec Express Connect/VPN Gateway/Smart Access Gateway.
Région
Sélectionnez la région où se trouve l'instance RDS for PPAS.
VPC connecté à la base de données source
Sélectionnez l'ID du cloud privé virtuel (VPC) de l'instance RDS for PPAS.
Type de base de données
Sélectionnez PPAS.
Version
Sélectionnez la version de votre instance RDS for PPAS.
Adresse IP
Saisissez l'adresse IP privée de l'instance RDS for PPAS.
Port
Saisissez le port de service de l'instance RDS for PPAS. Le port par défaut est 3433.
Nom de la base de données
Saisissez le nom de la base de données à migrer.
Compte de base de données
Saisissez le compte de base de données de l'instance RDS for PPAS. Pour connaître les autorisations requises, consultez la section Autorisations des comptes de base de données.
Mot de passe de la base de données
Saisissez le mot de passe du compte de base de données.
RemarqueAprès avoir saisi les informations de la base de données source, vous pouvez cliquer sur Test Connectivity à côté de Database Password pour vérifier que les informations sont correctes. Si les informations sont correctes, le message Passed s'affiche. Si le message Failed s'affiche, cliquez sur Diagnose à côté du message Failed et ajustez les informations de la base de données source selon les instructions.
Base de données de destination
Type d'instance
Sélectionnez PolarDB.
Région
Sélectionnez la région du cluster PolarDB for Oracle de destination.
ID de l'instance PolarDB
Sélectionnez l'ID du cluster PolarDB for Oracle de destination.
Nom de la base de données
Saisissez le nom de la base de données de destination.
Compte de base de données
Saisissez le compte de base de données du cluster PolarDB for Oracle de destination. Pour connaître les autorisations requises, consultez la section Autorisations des comptes de base de données.
Mot de passe de la base de données
Saisissez le mot de passe du compte de base de données.
RemarqueAprès avoir saisi les informations de la base de données de destination, vous pouvez cliquer sur Test Connectivity après Database Password pour vérifier que les informations saisies sont correctes. Si les informations sont correctes, un message Passed s'affiche. Si un message Failed s'affiche, cliquez sur Diagnose après Failed et ajustez les informations de la base de données de destination selon les instructions.
-
Une fois les paramètres configurés, cliquez sur Set whitelist and next en bas à droite de la page.
Si la base de données source ou de destination est une instance de base de données Alibaba Cloud (telle que ApsaraDB RDS for MySQL ou ApsaraDB for MongoDB), DTS ajoute automatiquement les adresses IP des serveurs DTS de la région correspondante à la liste blanche de l'instance. Si la base de données est une base de données auto-gérée sur une instance ECS, DTS ajoute automatiquement les adresses IP aux règles de sécurité de l'instance ECS. Vous devez également vous assurer que la base de données auto-gérée autorise l'accès depuis l'instance ECS. Pour les clusters de bases de données sur plusieurs instances ECS, ajoutez manuellement les adresses IP des serveurs DTS de la région aux règles de sécurité de chaque instance. Si la base de données est une base de données auto-gérée dans un centre de données local ou sur un autre cloud, vous devez ajouter manuellement les adresses IP des serveurs DTS de la région correspondante pour autoriser l'accès depuis les serveurs DTS. Pour connaître les adresses IP des serveurs DTS, consultez la rubrique Adresses IP des serveurs DTS.
AvertissementL'ajout des blocs CIDR publics des serveurs DTS, qu'il soit automatique ou manuel, peut introduire des risques de sécurité. En utilisant ce produit, vous reconnaissez et acceptez ces risques potentiels. Il vous incombe de mettre en œuvre des mesures de sécurité de base, notamment, mais sans s'y limiter, l'utilisation de mots de passe forts, la restriction des ports ouverts, l'utilisation de l'authentification pour les appels API internes, la révision et la restriction régulières des segments réseau inutiles, ou la connexion via des réseaux privés tels qu'Express Connect, VPN Gateway ou Smart Access Gateway.
-
Sélectionnez les types de migration et les objets.
Sélectionnez les types de migration en fonction de vos besoins métier, puis déplacez les objets à migrer vers la liste Selected Objects. Par défaut, DTS mappe les noms de bases de données en majuscules vers des minuscules. Pour conserver les noms en majuscules, modifiez manuellement les noms mappés dans la liste Selected Objects.
Paramètre
Description
Types de migration
-
Si vous devez effectuer uniquement une migration complète, sélectionnez à la fois Schema Migration et full data migration.
-
Si vous devez effectuer une migration sans temps d'arrêt, sélectionnez Schema Migration, full data migration et incremental data migration.
Important-
Si vous ne sélectionnez pas incremental data migration, n'écrivez pas de nouvelles données dans la base de données source pendant la migration du schéma ou la migration complète des données afin de garantir la cohérence des données.
-
N'effectuez pas d'opérations DDL sur les objets de migration tant que la migration du schéma et la migration complète des données ne sont pas terminées. Sinon, la tâche de migration peut échouer.
Objets de migration
Dans la zone Migration Objects, cliquez sur les objets que vous souhaitez migrer, puis cliquez sur l'icône
pour les déplacer vers la zone Selected Objects.Remarque-
Vous pouvez sélectionner des objets au niveau de la base de données, de la table ou de la colonne.
-
Par défaut, les noms des objets dans la base de données de destination sont identiques à ceux de la source. Pour renommer un objet, utilisez la fonctionnalité de mappage des noms d'objets. Pour plus d'informations, consultez la rubrique Mappage des noms d'objets.
-
Si vous utilisez la fonctionnalité de mappage des noms d'objets, la migration des objets dépendants peut échouer.
Modifier le nom mappé
Pour renommer un objet de migration dans la base de données de destination, utilisez la fonctionnalité de mappage des noms d'objets. Pour plus d'informations, consultez la rubrique Mappage des noms d'objets.
Durée de nouvelle tentative de connexion
Par défaut, DTS tente de se reconnecter à la base de données source ou de destination pendant 12 heures. Vous pouvez également spécifier une durée personnalisée. Si DTS se reconnecte dans le délai spécifié, la tâche de migration reprend automatiquement. Sinon, la tâche échoue.
RemarqueLa tâche DTS est facturée pendant la période de nouvelle tentative de connexion. Nous vous recommandons de spécifier une durée personnalisée en fonction de vos besoins métier, ou de libérer l'instance DTS lorsque les instances source et de destination sont libérées.
-
-
Une fois la configuration terminée, cliquez sur Precheck and Start en bas à droite de la page.
RemarqueAvant le démarrage de la tâche de migration, DTS exécute une pré-vérification. La tâche ne peut démarrer qu'après avoir réussi la pré-vérification.
-
Si la pré-vérification échoue, cliquez sur l'icône
à côté de l'élément ayant échoué pour afficher les détails.Corrigez les problèmes selon les instructions et relancez la pré-vérification.
Si vous n'avez pas besoin de corriger les éléments d'avertissement, vous pouvez sélectionner Ignore puis cliquer sur Ignore Warnings and Rerun Precheck pour relancer la pré-vérification.
Une fois la tâche passée avec succès à la pré-vérification, cliquez sur Next.
Dans la boîte de dialogue Confirm Settings qui s'affiche, sélectionnez une Instance Class et cochez la case Data Transmission Service (pay-as-you-go) Service Terms.
-
Cliquez sur Buy and Start pour commencer la migration.
-
Migration de schéma + Migration complète des données
Laissez la tâche se terminer automatiquement. L'arrêter manuellement peut entraîner des données incomplètes.
-
Migration de schéma + Migration complète des données + Migration incrémentielle des données
La tâche de migration ne s'arrête pas automatiquement. Vous devez l'arrêter manuellement.
ImportantChoisissez un moment approprié pour arrêter la tâche manuellement, par exemple pendant les heures creuses ou lorsque vous êtes prêt à basculer votre activité vers le cluster de destination.
Attendez que la tâche de migration entre dans la phase Incremental Data Migration et que le statut indique Undelayed. Ensuite, cessez d'écrire des données dans la base de données source pendant plusieurs minutes. Pendant ce temps, le statut de Incremental Data Migration peut afficher une latence.
Attendez que le statut Incremental Data Migration indique à nouveau Undelayed. Ensuite, arrêtez manuellement la tâche de migration. Sélectionnez la case à cocher de la tâche de migration cible et cliquez sur Pause dans la barre d'opérations par lot en bas de la page.
-