This topic describes how to migrate data from a user-created Db2 database to an ApsaraDB RDS for MySQL database by using Data Transmission Service (DTS). DTS supports schema migration, full data migration, and incremental data migration. To migrate data from a user-created Db2 database, you can select all of the supported migration types to ensure service continuity.

Supported instance types

A source Db2 database supports the following instance types:

  • User-Created Database with Public IP Address
  • User-Created Database in ECS Instance
  • User-Created Database Connected Over Express Connect, VPN Gateway, or Smart Access Gateway

This topic takes User-Created Database with Public IP Address as an example to describe how to configure a data migration task. You can follow a similar procedure for other instance types of Db2 databases.

Prerequisites

  • The Db2 database is deployed on Linux.
  • The version of the Db2 database is 9.7 or 10.5.
  • The available storage space of the destination ApsaraDB RDS for MySQL database is larger than the total space of the data in the user-created Db2 database.
  • The service port of the user-created Db2 database is open to the Internet.

Notes

  • DDL operations cannot be synchronized.
  • If the name of the source database is invalid, you must create a database in the ApsaraDB RDS for MySQL instance before configuring a data migration task.
    Note For more information about how to create a database and the database naming conventions, see Create databases and accounts.
  • DTS automatically resumes a failed data migration task. Before switching your workloads to the destination instance, you must stop or release the data migration task. Otherwise, the data from the source database will overwrite the data in the destination instance after the task is resumed.

Billing

Migration type Migration channel fee Public network traffic fee
Schema migration or full data migration Free of charge Migrating data from Alibaba Cloud over the Internet incurs fees. For more information, see Pricing.
Incremental data migration Billed. For more information, see Pricing.

Migration types

  • Schema migration

    DTS migrates the schemas of the required objects to the destination instance. DTS supports schema migration for the following types of objects: table, index, and foreign key.

  • Full data migration

    DTS migrates historical data of the required objects from the source Db2 database to the destination ApsaraDB RDS for MySQL database.

  • Incremental data migration

    After full data migration is complete, DTS synchronizes incremental data from the user-created Db2 database to the destination ApsaraDB RDS for MySQL database. Incremental data migration helps you ensure service continuity when you migrate data from a user-created Db2 database.

Permissions required for database accounts

Database Schema migration Full data migration Incremental data migration
User-created Db2 database The CONNECT and SELECT permissions The CONNECT and SELECT permissions The DBADM permission
ApsaraDB RDS for MySQL database The read/write permissions The read/write permissions The read/write permissions

For more information about how to create and authorize a database account, see the following topics:

Data migration process

To avoid data migration failures caused by dependencies between objects, DTS migrates the schemas and data of the source Db2 database in the following order:
  1. Migrate the schemas and indexes.
  2. Perform full data migration.
  3. Migrate the schemas of foreign keys.
  4. Perform incremental data migration.

Preparations before incremental data migration

Before configuring an incremental data migration task, you must enable the archive log feature of the source Db2 database. For more information, see Primary log archive method and Secondary log archive method.

Note Skip this step if you only perform full data migration.

Procedure

  1. Log on to the DTS console.
  2. In the left-side navigation pane, click Data Migration.
  3. At the top of the Migration Tasks page, select the region where the destination RDS instance resides.Select a region
  4. In the upper-right corner of the page, click Create Migration Task.
  5. Configure the information about the source and destination databases for the data migration task. Configure source and destination databases
    Section Parameter Description
    Task Name N/A DTS automatically generates a task name. We recommend that you use an informative name for easy identification. You do not need to use a unique task name.
    Source Database Instance Type Select User-Created Database with Public IP Address.
    Instance Region If the instance type is set to User-Created Database with Public IP Address, you do not need to specify the instance region.
    Note If a whitelist is configured for the user-created Db2 database, you must add the CIDR blocks of DTS servers to the whitelist of the user-created Db2 database. You can click Get IP Address Segment of DTS next to Instance Region to obtain the CIDR blocks of DTS servers.
    Database Type Select DB2.
    Hostname or IP Address Enter the endpoint that is used to connect to the user-created Db2 database. In this example, enter the public IP address.
    Port Number Enter the service port number of the user-created Db2 database. The default port number is 50000.
    Database Name Enter the name of the source Db2 database.
    Database Account Enter the account for the user-created Db2 database. For more information about permissions required for the account, see Permissions required for database accounts.
    Database Password Enter the password for the database account.
    Note After the source database information is specified, click Test Connectivity next to Database Password to verify whether the specified information is valid. If the specified information is valid, the Passed message appears. If the Failed message appears, click Check in the Failed message. Modify the source database information as prompted.
    Destination Database Instance Type Select RDS Instance.
    Instance Region Select the region where the destination RDS instance resides.
    RDS Instance ID Select the ID of the destination RDS instance.
    Database Account Enter the database account of the destination RDS instance. For more information about permissions required for the account, see Permissions required for database accounts.
    Database Password Enter the password for the database account.
    Note After the destination database information is specified, click Test Connectivity next to Database Password to verify whether the specified information is valid. If the specified information is valid, the Passed message appears. If the Failed message appears, click Check in the Failed message. Modify the destination database information as prompted.
    Encryption Select Non-encrypted or SSL-encrypted. If you want to select SSL-encrypted, you must enable SSL encryption for the RDS instance before configuring the data migration task. For more information, see Configure SSL encryption for an RDS for MySQL instance.
    Note The Encryption parameter is available only for regions in mainland China.
  6. In the lower-right corner of the page, click Set Whitelist and Next.
    Note The CIDR blocks of DTS servers are automatically added to the whitelist of the destination RDS instance. This ensures that DTS servers can connect to the destination RDS instance.
  7. Select the migration types and objects to be migrated. Select the migration types and objects to be migrated
    Parameter Description
    Migration types
    • To perform only full data migration, select Schema Migration and Full Data Migration.
      Note To ensure data consistency, do not write new data into the source Db2 database during full data migration.
    • To migrate data with minimal downtime, you must select Schema Migration, Full Data Migration, and Incremental Data Migration.
    Objects to be migrated

    In the Available section, select the database to be migrated and click the Right arrow icon to add the database to the Selected section.

    Note
    • You can select databases, tables, or columns as the objects to be migrated.
    • After a Db2 database is migrated to the destination RDS instance, the name of the Db2 database remains unchanged. If you want an object to have a different name after the object is migrated to the destination RDS instance, you can use the object name mapping feature provided by DTS. For more information about how to use this feature, see Object name mapping.
    • If you use the object name mapping feature on an object, other objects that are dependent on the object may fail to be migrated.
  8. Click Precheck in the lower-right corner of the page.
    Note
    • A precheck is performed for a data migration task. A data migration task can be started only if it passes the precheck.
    • If the precheck fails, click Note corresponding to each failed item to view the details. Fix the problems as instructed and run the precheck again.
  9. After the precheck is passed, click Next.
  10. On the Confirm Settings dialog box that appears, specify Channel Specification and select the Data Transmission Service (Pay-As-You-Go) Service Terms.
  11. Click Buy and Start to start the data migration task.
    • Full data migration

      Do not manually stop a migration task. Otherwise, data migrated to the destination database will be incomplete. Wait until the data migration task stops when it is complete.

    • Incremental data migration

      An incremental data migration task does not automatically end. You must manually end the migration task.

      Note Select an appropriate time point to manually end the migration task. For example, you can end the migration task during off-peak hours or before you switch your workloads to the destination instance.
      1. When the task progress bar switches to Incremental Data Migration and The migration task is not delayed appears, stop writing new data to the source database for a few minutes. Then, the progress bar will show the latency of the incremental data migration.
      2. When the status of incremental data migration changes to The migration task is not delayed, manually stop the migration task.The migration task is not delayed
  12. Switch your workloads to the ApsaraDB RDS for MySQL instance.