Utilisez Data Transmission Service (DTS) pour migrer les données d'une base de données Db2 for LUW auto-gérée vers une instance ApsaraDB RDS for MySQL. DTS prend en charge la migration de schéma, la migration complète des données et la migration incrémentielle des données, ce qui vous permet de choisir la combinaison adaptée à votre stratégie de basculement.
Prérequis
Avant de commencer, assurez-vous d'avoir :
Une instance ApsaraDB RDS for MySQL dont l'espace de stockage disponible est supérieur à la taille totale des données source Db2 for LUW. Pour plus d'informations, consultez Créer une instance ApsaraDB RDS for MySQL.
Vérifié les versions de Db2 for LUW prises en charge dans Présentation des scénarios de migration de données.
Uniquement pour la migration incrémentielle des données : Activez la journalisation d'archive sur la base de données source Db2 for LUW à l'aide des paramètres de configuration logarchmeth1 et logarchmeth2 . Consultez la documentation IBM relative à logarchmeth1 et logarchmeth2.
Après avoir modifié la configuration logarchmeth , sauvegardez la base de données source pour que les modifications prennent effet. Dans le cas contraire, une erreur peut survenir lors de la pré-vérification.
Facturation
| Type de migration | Frais de configuration de l'instance | Frais de trafic Internet |
|---|---|---|
| Migration de schéma et migration complète des données | Gratuit | Gratuit |
| Migration incrémentielle des données | Facturé. Consultez Présentation de la facturation. | — |
Autorisations requises
Accordez les autorisations suivantes aux comptes de base de données utilisés par DTS.
| Base de données | Migration complète des données | Migration de schéma | Migration incrémentielle des données |
|---|---|---|---|
| Db2 for LUW | CONNECT et SELECT | CONNECT et SELECT | Administrateur de base de données |
| ApsaraDB RDS for MySQL | Lecture et écriture sur la base de données de destination | — | — |
Pour obtenir des instructions sur la création de comptes et l'attribution d'autorisations, consultez :
Db2 for LUW : Création d'identifiants de groupe et d'utilisateur pour une installation de base de données Db2 et Présentation des autorités
ApsaraDB RDS for MySQL : Créer un compte et Modifier les autorisations d'un compte
Limites
Migration de schéma
DTS migre les clés étrangères de la base de données source vers la base de données de destination.
Lors de la migration complète et incrémentielle des données, DTS désactive temporairement les vérifications de contraintes de clé étrangère et les opérations en cascade au niveau de la session. L'exécution d'opérations en cascade ou de suppression sur la source pendant la migration peut entraîner une incohérence des données.
Base de données source
Le serveur hébergeant la base de données source doit disposer d'une bande passante sortante suffisante. Dans le cas contraire, la vitesse de migration des données diminue.
Les tables doivent comporter des contraintes PRIMARY KEY ou UNIQUE avec tous les champs uniques. Sans ces contraintes, la base de données de destination peut contenir des enregistrements en double.
Lors de la migration de tables individuelles, une seule tâche prend en charge un maximum de 1 000 tables. Le dépassement de cette limite provoque une erreur de requête. Pour migrer plus de 1 000 tables, divisez la migration en plusieurs tâches ou migrez la base de données entière.
Pour la migration incrémentielle des données, la fonctionnalité de journalisation des données doit être activée sur la base de données source. DTS renvoie une erreur lors de la pré-vérification si elle n'est pas activée.
-
Exigences de conservation des journaux : Une conservation insuffisante des journaux peut entraîner l'échec de la tâche, ou provoquer une incohérence ou une perte de données. Une fois la migration complète des données terminée, vous pouvez réduire la période de conservation à plus de 24 heures. Le non-respect de ces exigences signifie que l'accord de niveau de service (SLA) du service DTS ne garantit pas la fiabilité ni les performances.
Migration incrémentielle uniquement : conservez les journaux pendant plus de 24 heures.
Migration complète et incrémentielle combinées : conservez les journaux pendant au moins 7 jours.
Pendant la migration complète des données, évitez les opérations DDL qui modifient les schémas de base de données ou de tables. De telles modifications entraînent l'échec de la tâche de migration.
Lors d'une migration complète uniquement, évitez d'écrire des données dans la base de données source. Pour garantir la cohérence des données, exécutez conjointement la migration complète et la migration incrémentielle des données.
Migration incrémentielle des données
DTS migre les données incrémentielles à l'aide de la technologie de réplication Change Data Capture (CDC) de Db2 for LUW. Cette technologie présente ses propres limites. Consultez Restrictions générales de données pour SQL Replication.
Opérations SQL prises en charge lors de la migration incrémentielle des données :
| Type d'opération | Instructions SQL |
|---|---|
| DML | INSERT, UPDATE et DELETE |
Autres limites
Migrez les données pendant les heures creuses. La migration complète des données utilise les ressources de lecture et d'écriture des bases de données source et de destination, ce qui peut augmenter la charge du serveur.
Les opérations INSERT concurrentes lors de la migration complète des données provoquent une fragmentation dans les tables de destination. Après la migration complète des données, l'espace de table de destination est plus grand que celui de la source.
L'écriture dans la base de données de destination à l'aide d'outils autres que DTS pendant la migration peut entraîner une incohérence des données. Utilisez Data Management (DMS) pour les opérations DDL après la migration. Consultez Effectuer des opérations DDL sans verrouillage.
Si une instruction DDL échoue dans la base de données de destination, DTS continue de s'exécuter. Affichez les instructions DDL ayant échoué dans les journaux des tâches. Consultez Afficher les journaux des tâches.
Db2 for LUW auto-géré
Un basculement primaire/secondaire sur la source pendant l'exécution d'une tâche de migration entraîne l'échec de la tâche.
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 source. Si aucune opération DML n'est exécutée sur la source pendant une période prolongée, les chiffres de latence peuvent être inexacts. Pour actualiser la latence, exécutez une opération DML sur la source. Si vous migrez une base de données entière, créez une table de heartbeat mise à jour chaque seconde.
Migrer des données de Db2 for LUW vers ApsaraDB RDS for MySQL
Étape 1 : Ouvrir les 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.
La disposition et les opérations de la console peuvent varier. Consultez Mode simple et Personnaliser la disposition et le style de la console DMS pour plus de détails. Vous pouvez également accéder directement à la page Tâches de migration de données dans la nouvelle console DTS .
É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 de données.
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 de l'assistant de création de tâche, configurez les paramètres suivants.
Base de données source
| Paramètre | Description |
|---|---|
| Task Name | Le nom de la tâche de migration. DTS attribue un nom automatiquement. Spécifiez un nom descriptif pour identifier facilement la tâche. Le nom n'a pas besoin d'être unique. |
| Select an existing DMS database instance | Facultatif. Sélectionnez une instance de base de données DMS existante pour permettre à DTS de remplir automatiquement les paramètres de la base de données. Si vous ignorez cette étape, configurez les paramètres manuellement. |
| Database Type | Sélectionnez DB2 for LUW. |
| Access Method | La méthode d'accès à la base de données source. Cet exemple utilise Self-managed Database on ECS. Pour les autres méthodes d'accès, 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 pour cet exemple. |
| ECS Instance ID | L'ID de l'instance Elastic Compute Service (ECS) qui héberge la base de données source Db2 for LUW. |
| Port Number | Le port de service de la base de données source Db2 for LUW. |
| 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 plus de détails. |
| Database Password | Le mot de passe du compte de base de données. |
Base de données de destination
| Paramètre | Description |
|---|---|
| Select an existing DMS database instance | Facultatif. Sélectionnez une instance de base de données DMS existante pour permettre à DTS de remplir automatiquement les paramètres de la base de données. Si vous ignorez cette étape, configurez les paramètres manuellement. |
| Database Type | Sélectionnez MySQL. |
| Access Method | Sélectionnez Alibaba Cloud Instance. |
| Instance Region | La région où réside l'instance ApsaraDB RDS for MySQL de destination. |
| Replicate Data Across Alibaba Cloud Accounts | Sélectionnez No pour cet exemple. |
| RDS Instance ID | L'ID de l'instance ApsaraDB RDS for MySQL de destination. |
| Database Account | Le compte de base de données pour la base de données de destination. Consultez la section Autorisations requises pour plus de détails. |
| Database Password | Le mot de passe du compte de base de données. |
| Encryption | Sélectionnez Non-encrypted ou SSL-encrypted. Si vous sélectionnez SSL-encrypted, activez d'abord le chiffrement SSL sur l'instance ApsaraDB RDS for MySQL. Consultez Configurer la fonctionnalité de chiffrement SSL. |
Étape 4 : Tester la connectivité
Cliquez sur Test Connectivity and Proceed.
DTS ajoute automatiquement ses blocs CIDR à la liste d'autorisation d'adresses IP des instances de base de données Alibaba Cloud, ou aux règles du groupe de sécurité des instances ECS. Pour les bases de données auto-gérées dans un centre de données ou hébergées par un fournisseur cloud tiers, ajoutez manuellement les blocs CIDR de DTS à la liste d'autorisation d'adresses IP de la base de données. Consultez Ajouter les blocs CIDR des serveurs DTS aux paramètres de sécurité des bases de données locales.
Si DTS héberge la base de données source sur plusieurs instances ECS, ajoutez manuellement les blocs CIDR de DTS aux règles du groupe de sécurité de chaque instance ECS.
L'ajout de blocs CIDR publics DTS à une liste d'autorisation d'adresses IP de base de données ou aux règles du groupe de sécurité ECS introduit des risques de sécurité. Avant d'utiliser DTS, prenez des mesures préventives, notamment : renforcer la sécurité des comptes et des mots de passe, limiter les ports exposés, authentifier les appels API, auditer régulièrement la liste d'autorisation d'adresses IP et les règles du groupe de sécurité, et connecter la base de données à DTS via Express Connect, VPN Gateway ou Smart Access Gateway.
Étape 5 : Configurer les objets de migration
| Paramètre | Description |
|---|---|
| Migration Types | Sélectionnez les types de migration en fonction de votre stratégie de basculement : <br>- Migration de schéma et migration complète des données uniquement : sélectionnez Schema Migration et Full Data Migration.<br>- Migration sans temps d'arrêt avec continuité de service : sélectionnez Schema Migration, Full Data Migration et Incremental Data Migration.<br><br> Remarque
Si vous ne sélectionnez pas Incremental Data Migration, évitez d'écrire dans la base de données source pendant la migration pour maintenir la cohérence des données. |
| Processing Mode of Conflicting Tables | - Precheck and Report Errors : vérifie la présence de tables portant des noms identiques dans la source et la destination. Si des noms identiques existent, la pré-vérification échoue et la tâche ne peut pas démarrer. Utilisez la fonctionnalité de mappage de noms d'objets pour renommer les tables si nécessaire. Consultez Mapper les noms d'objets.<br>- Ignore Errors and Proceed : ignore la vérification des noms identiques. Avertissement
Cela peut entraîner une incohérence des données. Si les schémas diffèrent entre la source et la destination, seules des colonnes spécifiques sont migrées ou la tâche échoue. |
| Capitalization of Object Names in Destination Instance | Contrôle la casse des noms de bases de données, de tables et de colonnes dans la destination. La valeur par défaut est DTS default policy. Consultez Spécifier la casse des noms d'objets dans l'instance de destination. |
| Source Objects | Sélectionnez des objets dans la section Source Objects et cliquez sur |
| Selected Objects | Cliquez avec le bouton droit sur un objet pour le renommer ou définir des conditions de filtre WHERE. Cliquez sur Batch Edit dans le coin supérieur droit pour renommer plusieurs objets à la fois. Consultez Mapper les noms d'objets et Utiliser des conditions SQL pour filtrer les données. <br><br> Remarque
Le mappage des noms d'objets peut entraîner une incohérence des données si les objets dépendants ne sont pas également migrés. Pour la migration incrémentielle d'opérations SQL spécifiques sur un objet, cliquez avec le bouton droit sur l'objet dans Selected Objects et sélectionnez les opérations SQL à inclure. |
Étape 6 : Configurer les paramètres avancés
Cliquez sur Next: Advanced Settings.
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 planifie la tâche sur le cluster partagé. Achetez et spécifiez un cluster dédié pour exécuter la tâche sur des ressources dédiées. Consultez Qu'est-ce qu'un cluster dédié DTS ?. |
| Set Alerts | Configurez des alertes en cas d'échec de la tâche ou de latence dépassant un seuil. Sélectionnez Yes pour spécifier un seuil d'alerte et des contacts. Consultez Configurer la surveillance et les alertes. |
| Retry Time for Failed Connections | La plage de temps pendant laquelle DTS tente de reconnecter une connexion échouée après le démarrage de la tâche. Valeurs valides : 10–1 440 minutes. Par défaut : 720 minutes. Définissez cette valeur à plus de 30 minutes. Si DTS se reconnecte dans ce délai, la tâche reprend. Sinon, la tâche échoue. <br><br> Remarque
Lorsque plusieurs tâches partagent la même base de données source ou de destination, le délai de nouvelle tentative configuré le plus récemment a la priorité. DTS facture l'instance pendant les nouvelles tentatives. |
| The wait time before a retry when other issues occur in the source and destination databases | La plage de temps pendant laquelle DTS tente de nouveau d'exécuter les opérations DDL ou DML ayant échoué après le démarrage de la tâche. Valeurs valides : 1–1 440 minutes. Par défaut : 10 minutes. Définissez cette valeur à plus de 10 minutes. Cette valeur doit être inférieure à Délai de nouvelle tentative pour les connexions échouées. |
| Enable Throttling for Full Data Migration | Limitez le taux de lecture et d'écriture lors de la migration complète des données pour réduire la charge sur les serveurs de base de données. Configurez Queries per second (QPS) to the source database, RPS of Full Data Migration et Data migration speed for full migration (MB/s). Ce paramètre est disponible uniquement lorsque Full Data Migration est sélectionné. |
| Enable Throttling for Incremental Data Migration | Limitez le taux d'écriture lors de la migration incrémentielle des données. Configurez RPS of Incremental Data Migration et Data migration speed for incremental migration (MB/s). Ce paramètre est disponible uniquement lorsque Incremental Data Migration est sélectionné. |
| Environment Tag | Un tag facultatif pour identifier l'instance DTS par environnement. |
| Configure ETL | Configurez la fonctionnalité extract, transform, and load (ETL) pour traiter les données lors de la migration. Sélectionnez Yes et saisissez les instructions de traitement des données dans l'éditeur de code. Consultez Qu'est-ce qu'ETL ? et Configurer ETL dans une tâche de migration ou de synchronisation de données. |
Étape 7 : Enregistrer les paramètres et exécuter une pré-vérification
Cliquez sur Next: Save Task Settings and Precheck.
Pour afficher un aperçu des paramètres de l'API permettant de configurer la tâche DTS, placez le pointeur sur Next: Save Task Settings and Precheck et cliquez sur Preview OpenAPI parameters avant de continuer.
DTS exécute une pré-vérification avant de démarrer la tâche de migration.
Si la pré-vérification échoue, cliquez sur View Details à côté de l'élément ayant échoué, résolvez le problème et exécutez à nouveau la pré-vérification.
-
Si une alerte s'affiche pour un élément :
Si l'alerte ne peut pas être ignorée, cliquez sur View Details, résolvez le problème et exécutez à nouveau la pré-vérification.
Si l'alerte peut être ignorée, cliquez sur Confirm Alert Details, puis cliquez sur Ignore > OK > Precheck Again. Ignorer les alertes peut entraîner une incohérence des données.
Étape 8 : Acheter l'instance de migration
Attendez que le taux de réussite atteigne 100 %, puis cliquez sur Next: Purchase 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 : default resource group. Consultez Qu'est-ce que Resource Management ? |
| Instance Class | La classe d'instance détermine la vitesse de migration. Sélectionnez une classe en fonction de vos besoins. Consultez Spécifications des instances de migration de données. |
Étape 9 : Démarrer la migration
Cochez la case Data Transmission Service (Pay-as-you-go) Service Terms, puis cliquez sur Buy and Start.
La tâche de migration démarre. Suivez la progression dans la liste des tâches.