Utilisez Data Transmission Service (DTS) pour migrer les données d'une base de données IBM Db2 for Linux, UNIX et Windows (LUW) auto-hébergée vers un cluster PolarDB for MySQL. DTS prend en charge la migration du schéma, la migration complète des données et la migration incrémentielle des données, ce qui vous permet de choisir l'approche la mieux adaptée à votre tolérance aux temps d'arrêt.
Prérequis
Avant de commencer, assurez-vous que :
Le cluster PolarDB for MySQL de destination dispose d'un espace de stockage disponible suffisant pour accueillir toutes les données de la base de données source Db2 for LUW. Pour obtenir des instructions sur la création d'un cluster, consultez Acheter un cluster à la demande et Acheter un cluster par abonnement
Pour la migration incrémentielle des données : l'archivage des journaux est activé sur la base de données source Db2 for LUW. Consultez logarchmeth1 - Paramètre de configuration de la méthode principale d'archivage des journaux et logarchmeth2 - Paramètre de configuration de la méthode secondaire d'archivage des journaux
Après avoir modifié la configuration logarchmeth, sauvegardez la base de données source pour appliquer la modification. Sans sauvegarde, une erreur de précontrôle se produit au démarrage de la tâche de migration.
Pour connaître les versions prises en charge de Db2 for LUW, consultez Présentation des scénarios de migration de données.
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 | Gratuit |
| Migration incrémentielle des données | Payant — voir Présentation de la facturation | — |
Autorisations requises
Accordez les autorisations suivantes aux comptes de base de données utilisés pour la tâche de migration.
| Base de données | Migration du schéma | Migration complète des données | Migration incrémentielle des données |
|---|---|---|---|
| Db2 for LUW | CONNECT et SELECT | CONNECT et SELECT | Autorisations d'administrateur de base de données |
| PolarDB for MySQL | — | Lecture et écriture sur la base de données de destination | — |
Utilisez un compte privilégié pour la base de données de destination PolarDB for MySQL.
Pour obtenir des instructions sur la création de comptes et l'octroi d'autorisations :
Limites
Migration du schéma
DTS migre les clés étrangères de la base de données source vers la base de données de destination.
Migration complète des données et 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.
Exigences relatives à la base de données source
Le serveur de la base de données source doit disposer d'une bande passante sortante suffisante. Une bande passante insuffisante réduit la vitesse de migration.
Les tables à migrer doivent comporter des contraintes PRIMARY KEY ou UNIQUE, et tous les champs doivent être uniques. Les tables sans ces contraintes peuvent produire des enregistrements en double dans la base de données de destination.
Si vous sélectionnez des tables comme objets de migration et que vous devez renommer des tables ou des colonnes dans la destination, une seule tâche de migration prend en charge jusqu'à 1 000 tables. Pour plus de 1 000 tables, créez plusieurs tâches ou migrez plutôt la base de données entière.
Exigences relatives à la migration incrémentielle des données
La journalisation des données doit être activée sur la base de données source. Dans le cas contraire, le précontrôle échoue et la tâche de migration ne peut pas démarrer.
-
Exigences de rétention des journaux : si DTS ne peut pas récupérer les journaux de données en raison d'une rétention insuffisante, la tâche échoue et une perte ou une incohérence des données peut survenir. L'accord de niveau de service (SLA) ne garantit pas la fiabilité ou les performances si la rétention des journaux ne respecte pas ces exigences.
Migration incrémentielle uniquement : les journaux doivent être conservés pendant plus de 24 heures
Migration complète des données combinée à la migration incrémentielle des données : les journaux doivent être conservés pendant au moins sept jours
Une fois la migration complète des données terminée, définissez la période de rétention sur plus de 24 heures
DTS migre les données incrémentielles à l'aide de la technologie de réplication Change Data Capture (CDC) de Db2 for LUW. Pour les restrictions spécifiques à CDC, consultez Restrictions générales de données pour la réplication SQL.
Opérations sur la base de données source pendant la migration
Pendant la migration complète des données : n'effectuez pas d'opérations DDL qui modifient les schémas de la base de données ou des tables. De telles opérations entraînent l'échec de la tâche de migration.
Pendant la migration complète des données (sans migration incrémentielle) : n'écrivez pas de données dans la base de données source. Pour garantir la cohérence des données, sélectionnez à la fois la migration complète des données et la migration incrémentielle des données.
Autres limites
Planifiez les tâches de migration pendant les heures creuses. La migration complète des données utilise les ressources de lecture et d'écriture sur les bases de données source et de destination, ce qui augmente la charge du serveur.
Après la migration complète des données, l'espace tablespace utilisé dans la base de données de destination est plus grand que dans la base de données source. Les opérations INSERT concurrentes pendant la migration provoquent une fragmentation des tables.
N'écrivez pas de données provenant de l'extérieur de la base de données source vers la base de données de destination pendant la migration. Les données provenant d'autres sources entraînent une incohérence. Pour les opérations DDL post-migration, utilisez Data Management (DMS).
Si une instruction DDL échoue lors de son exécution dans la base de données de destination, DTS continue d'exécuter la tâche. Consultez les instructions DDL ayant échoué dans les journaux de la tâche. Voir Afficher les journaux de tâche.
Cas particuliers pour les bases de données Db2 for LUW auto-hébergées
Si un basculement primaire/secondaire se produit sur la base de données source pendant l'exécution de la tâche de migration, la tâche échoue.
-
DTS calcule la latence de migration en comparant l'horodatage des dernières données migrées dans la base de données de destination avec l'horodatage actuel de la base de données source. Si aucune opération DML n'est effectuée sur la base de données source pendant une période prolongée, la lecture de la latence peut être inexacte. Pour actualiser la latence, effectuez une opération DML sur la base de données source.
RemarqueSi vous sélectionnez la base de données entière comme objet de migration, créez une table de pulsation (heartbeat). DTS met à jour la table de pulsation chaque seconde, ce qui maintient la précision de la lecture de la latence.
Opérations SQL prises en charge pour la migration incrémentielle des données
| Type d'opération | Instructions SQL |
|---|---|
| DML | INSERT, UPDATE et DELETE |
Migrer des données de Db2 for LUW vers PolarDB for MySQL
Étape 1 : Accéder à la page Tâches de migration de données
Connectez-vous à la console Data Management (DMS).
Dans la barre de navigation supérieure, cliquez sur DTS.
Dans le volet de navigation de gauche, choisissez DTS (DTS) > Data Migration.
Vous pouvez également accéder directement à la page Tâches de migration de données de la nouvelle console DTS. La disposition de la console et les options disponibles peuvent varier selon votre mode DMS. Consultez Mode simple et Personnaliser la disposition et le style de la console DMS.
Étape 2 : Sélectionner la région
Dans la liste déroulante à côté de Tâches de migration de données, sélectionnez la région où réside l'instance de migration.
Dans la nouvelle console DTS, sélectionnez la région dans le coin supérieur gauche.
Étape 3 : Configurer les bases de données source et de destination
Cliquez sur Create Task. Sur la page Create Task, configurez les paramètres suivants.
Base de données source (Db2 for LUW)
| Paramètre | Description |
|---|---|
| Task Name | Un nom descriptif pour la tâche. DTS attribue automatiquement un nom ; modifiez-le pour rendre la tâche facilement identifiable. Le nom n'a pas besoin d'être unique. |
| Select an existing DMS database instance | (Facultatif) Sélectionnez une instance enregistrée existante pour remplir automatiquement les paramètres ci-dessous. Si vous ignorez cette étape, configurez les paramètres manuellement. |
| Database Type | Sélectionnez DB2 for LUW. |
| Access Method | Sélectionnez Express Connect, VPN Gateway, or Smart Access Gateway. Pour les étapes de préparation requises pour accéder à une base de données auto-hébergée, consultez Présentation de la préparation. |
| Instance Region | La région où réside la base de données source Db2 for LUW. |
| Replicate Data Across Alibaba Cloud Accounts | Sélectionnez No. |
| Connected VPC | L'ID du cloud privé virtuel (VPC) auquel appartient la base de données source. |
| IP Address or Domain Name | L'adresse IP du serveur de la base de données source Db2 for LUW. |
| Port Number | Le port de service de la base de données source. Par défaut : 50000. |
| Database Name | Le nom de la base de données source Db2 for LUW contenant les objets à migrer. |
| Database Account | Le compte de base de données pour la base de données source. Consultez la section Autorisations requises pour connaître les autorisations nécessaires. |
| Database Password | Le mot de passe du compte de base de données. |
Base de données de destination (PolarDB for MySQL)
| Paramètre | Description |
|---|---|
| Select an existing DMS database instance | (Facultatif) Sélectionnez une instance enregistrée existante pour remplir automatiquement les paramètres ci-dessous. |
| Database Type | Sélectionnez PolarDB for MySQL. |
| Access Method | Sélectionnez Alibaba Cloud Instance. |
| Instance Region | La région où réside le cluster PolarDB for MySQL de destination. |
| PolarDB Cluster ID | L'ID du cluster PolarDB for MySQL de destination. |
| Database Account | Le compte de base de données pour le cluster de destination. Consultez la section Autorisations requises pour connaître les autorisations nécessaires. |
| Database Password | Le mot de passe du compte de base de données. |
| Encryption | Indique s'il faut chiffrer la connexion à l'aide de SSL. Configurez en fonction de vos exigences de sécurité. Consultez Configurer le chiffrement SSL. |
Étape 4 : Tester la connectivité
Cliquez sur Test Connectivity and Proceed.
DTS ajoute automatiquement ses blocs CIDR de serveur à la liste d'autorisation d'adresses IP ou aux règles de groupe de sécurité des instances de base de données Alibaba Cloud et des bases de données hébergées sur ECS. Pour les bases de données auto-hébergées sur plusieurs instances ECS, ajoutez manuellement les blocs CIDR DTS aux règles de groupe de sécurité de chaque instance. Pour les bases de données locales ou hébergées par des fournisseurs tiers, ajoutez manuellement les blocs CIDR DTS à la liste d'autorisation de la base de données.
Pour la liste complète des blocs CIDR des serveurs DTS, consultez la section « Blocs CIDR des serveurs DTS » dans Ajouter les blocs CIDR des serveurs DTS aux paramètres de sécurité des bases de données locales.
L'ajout de blocs CIDR DTS à une liste d'autorisation de base de données ou à un groupe de sécurité ECS introduit une exposition sécuritaire. Avant de poursuivre, prenez des mesures préventives : renforcez les identifiants de compte, limitez les ports exposés, authentifiez les appels API, auditez régulièrement la liste d'autorisation ou les règles de groupe de sécurité pour supprimer les blocs CIDR non autorisés, et connectez-vous à DTS via Express Connect, VPN Gateway ou Smart Access Gateway lorsque cela est possible.
Étape 5 : Configurer les objets de migration
Configurez les paramètres suivants.
| Paramètre | Description |
|---|---|
| Migration Types | Sélectionnez les types de migration en fonction de vos exigences en matière de temps d'arrêt :
|
| Processing Mode of Conflicting Tables |
|
| Capitalization of Object Names in Destination Instance | Contrôle la casse des noms de base de données, de tables et de colonnes dans la destination. Par défaut : Stratégie par défaut de DTS. Consultez Spécifier la casse des noms d'objets dans l'instance de destination. |
| Source Objects | Sélectionnez des objets dans Source Objects et cliquez sur l'icône de flèche pour les ajouter à Selected Objects. Sélectionnez des colonnes, des tables ou des bases de données. Si vous sélectionnez des tables ou des colonnes, DTS ne migre pas les vues, les déclencheurs ni les procédures stockées. |
| Selected Objects |
Remarque L'utilisation du mappage des noms d'objets peut entraîner l'échec de la migration des objets dépendants. Si vous ne migrez pas toutes les tables ou si les schémas source et destination diffèrent, les données des colonnes que la destination ne contient pas sont perdues. |
Étape 6 : Configurer les paramètres avancés
Cliquez sur Next: Advanced Settings et configurez les paramètres suivants.
Vérification des données
Pour configurer la vérification des données, consultez Activer 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 exécute la tâche de migration sur le cluster partagé. Pour utiliser un cluster dédié, achetez-en un et spécifiez-le. Consultez Qu'est-ce qu'un cluster dédié DTS. |
| Set Alerts | Indique s'il faut configurer l'alerte. Sélectionnez Yes pour recevoir des notifications lorsque la tâche échoue ou lorsque la latence de migration dépasse un seuil. Spécifiez le seuil d'alerte et les contacts. Consultez Configurer la surveillance et l'alerte. |
| Select the engine type of the destination database | Le moteur de stockage pour la base de données de destination : InnoDB (par défaut) ou X-Engine (un moteur de stockage de traitement transactionnel en ligne (OLTP)). |
| Retry Time for Failed Connections | Durée pendant laquelle DTS retente les connexions échouées après le démarrage de la tâche. Valeurs valides : 10–1440. Unité : minutes. Par défaut : 720. Définissez cette valeur sur plus de 30. Si DTS se reconnecte dans ce délai, la tâche reprend ; sinon, la tâche échoue. Remarque Lorsque plusieurs tâches partagent une base de données source ou de destination, le délai de nouvelle tentative défini le plus récemment s'applique à toutes. DTS facture l'instance pendant les périodes de nouvelle tentative. Nous vous recommandons de spécifier la plage de délai de nouvelle tentative en fonction de vos besoins métier. Vous pouvez également libérer l'instance DTS dès que possible après la libération des instances source et de 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 ayant échoué. Valeurs valides : 1–1440. Unité : minutes. Par défaut : 10. Définissez cette valeur sur plus de 10. Cette valeur doit être inférieure à Délai de nouvelle tentative pour les connexions échouées. |
| Enable Throttling for Full Data Migration | Indique s'il faut limiter le taux de migration pendant la migration complète des données. Configurez 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) pour réduire la charge sur la base de données de destination. Ce paramètre n'apparaît que lorsque Migration complète des données est sélectionné. |
| Enable Throttling for Incremental Data Migration | Indique s'il faut limiter le taux de migration pendant la migration incrémentielle des données. Configurez RPS of Incremental Data Migration et Vitesse de migration des données pour la migration incrémentielle (Mo/s). Ce paramètre n'apparaît que lorsque Migration incrémentielle des données est sélectionné. |
| Environment Tag | Le tag d'environnement utilisé pour identifier l'instance DTS. Vous pouvez sélectionner un tag d'environnement en fonction de vos besoins métier. |
| Configure ETL | Indique s'il faut utiliser le traitement extract, transform, load (ETL). Sélectionnez Yes pour saisir les instructions de traitement des données. Consultez Configurer ETL dans une tâche de migration ou de synchronisation de données. |
Étape 7 : Enregistrer les paramètres et exécuter le précontrôle
Cliquez sur Next: Save Task Settings and Precheck.
Pour prévisualiser les paramètres API pour cette configuration de tâche, survolez Next: Save Task Settings and Precheck et cliquez sur Preview OpenAPI parameters avant de continuer.
DTS exécute un précontrôle avant de démarrer la tâche de migration. La tâche ne peut démarrer qu'après la réussite du précontrôle.
Si un élément de vérification échoue, cliquez sur View Details à côté de l'élément ayant échoué, corrigez le problème en vous basant sur le message d'erreur, puis cliquez sur Precheck Again.
-
Si un élément de vérification déclenche une alerte :
Si l'alerte ne peut pas être ignorée, cliquez sur View Details à côté de l'élément ayant échoué et résolvez les problèmes. Ensuite, cliquez sur Precheck Again.
Si l'alerte peut être ignorée en toute sécurité, cliquez sur Confirm Alert Details. Dans la boîte de dialogue View Details, cliquez sur Ignore, puis sur OK, et enfin sur Precheck Again. Ignorer une alerte peut entraîner une incohérence des données.
Étape 8 : Attendre la fin du précontrôle
Attendez que le taux de réussite atteigne 100 %, puis cliquez sur Next: Purchase Instance.
Étape 9 : Configurer la classe d'instance
Sur la page Purchase Instance, configurez les paramètres suivants.
| Paramètre | Description |
|---|---|
| Resource Group | Le groupe de ressources pour l'instance de migration. Par défaut : groupe de ressources par défaut. Consultez Qu'est-ce que Resource Management ? |
| Instance Class | La classe d'instance détermine la vitesse de migration. Sélectionnez en fonction de votre volume de données et de vos exigences temporelles. Consultez Spécifications des instances de migration de données. |
Étape 10 : Accepter les conditions de service
Lisez et acceptez les Conditions de service Data Transmission Service (Paiement à l'utilisation) en cochant la case.
Étape 11 : Démarrer la tâche de migration
Cliquez sur Buy and Start. La tâche de migration démarre. Suivez sa progression dans la liste des tâches.