|
Type
|
Description
|
|
Source database limitations
|
-
The server that hosts the source database must have sufficient outbound bandwidth. Otherwise, the data migration speed is affected.
-
If the source database is connected over a leased line, you must configure one of the virtual IP addresses (VIPs) in the connection information. This allows the Oracle Real Application Clusters (RAC) to connect to the data migration task over the leased line.
-
If the self-managed Oracle database uses an RAC architecture and is connected over a leased line, VPN Gateway, Smart Access Gateway, Database Gateway (DG), or Cloud Enterprise Network (CEN), or from an ECS instance, you cannot configure a Single Client Access Name (SCAN) IP address. You can only configure one of the VIPs in the connection information. If you use this method, node switching for RAC is not supported.
-
If the data to be migrated contains empty strings of the `varchar2` type, which Oracle treats as null, and the corresponding destination database field has a NOT NULL constraint, the migration task fails.
-
If the FGA (Fine-Grained Audit) policy is enabled on the table to be migrated, DTS cannot recognize the ORA_ROWSCN pseudocolumn, which will cause the migration job to fail.
Note
You can disable the FGA policy for the tables to be migrated, or choose not to migrate data from these tables.
-
Requirements for migration objects:
-
The tables to be migrated must have a primary key or a unique constraint, and the fields must be unique. Otherwise, duplicate data may appear in the destination database.
-
If your self-managed Oracle database is version 12c or later, the names of the tables to be migrated must not exceed 30 bytes in length.
-
If you migrate objects at the table level and need to edit them, such as mapping table or column names, a single data migration task supports a maximum of 1,000 tables. If this limit is exceeded, an error is reported after you submit the task. In this case, split the tables into multiple batches and configure a separate task for each batch, or configure a task to migrate the entire database.
-
For incremental migration, Redo Logs and Archive Logs:
-
Must be enabled.
-
For an incremental data migration task, DTS requires that Redo Logs and Archive Logs in the source database are retained for more than 24 hours. For a task that includes both full and incremental data migration, DTS requires that Redo Logs and Archive Logs are retained for at least 7 days. After the full data migration is complete, you can change the retention period to more than 24 hours. If the retention period is shorter than required, the DTS task may fail because it cannot obtain the logs. In extreme cases, this may cause data inconsistency or loss. Issues caused by a log retention period shorter than the DTS requirement are not covered by the DTS Service-Level Agreement (SLA).
-
Limitations on source database operations:
-
During schema migration and full data migration, do not perform DDL operations that change the database or table schema. Otherwise, the data migration task fails.
-
If you perform only full data migration, do not write new data to the source instance. Otherwise, data inconsistency between the source and destination occurs. To maintain real-time data consistency, select schema migration, full data migration, and incremental data migration.
-
Updating large text fields separately is not supported and will cause the task to fail.
|
|
Other limitations
|
-
During incremental migration, importing data into the source database by using Oracle Data Pump is not supported. This may cause data loss.
-
Migration of foreign tables is not supported.
-
Migration of PACKAGE, PACKAGE_BODY, MATERIALIZED_VIEW, SYNONYM, TYPE, TYPE_BODY, FUNCTION, PROCEDURE, SEQUENCE, VIEW, TABLE_COMMENT, COLUMN_COMMENT, and TRIGGER is not supported.
-
If your data includes four-byte characters—such as rare Chinese characters or emojis—the destination database and table must use the utf8mb4 charset.
Note
If you use DTS to migrate schemas, set the instance-level parameter character_set_server to utf8mb4 in the destination database.
-
Evaluate the performance of the source and destination databases before migrating data, and perform migration during off-peak hours. During full data migration, DTS consumes some read and write resources from the source and destination databases, which may increase the database load.
-
Full data migration performs concurrent INSERT operations, which causes table fragmentation in the destination database. As a result, the table storage space in the destination database is larger than that in the source instance.
-
DTS attempts to resume failed migration tasks within seven days. Before you switch your business to the destination instance, stop or release the task. Alternatively, use the revoke command to revoke the write permissions of the account that DTS uses to access the destination instance. This prevents the source data from overwriting the data in the destination instance if the task is automatically resumed.
-
If a DDL statement fails to be written to the destination database, the DTS task continues to run. You must check the task logs for the failed DDL statement. For more information about how to view task logs, see Query task logs.
-
Ensure that the character sets of the source and destination databases are compatible. Incompatible character sets may cause data inconsistency or task failure.
-
Use the schema migration feature of DTS. Otherwise, the task may fail due to incompatible data types.
-
The time zones of the source and destination databases must be the same.
-
If you write columns with identical names but different cases into the same table in the destination MySQL database, unexpected results may occur. MySQL column names are case-insensitive.
-
After migration completes—the task status is Status and the status changes to Completed—run analyze table <table_name> to confirm all data is written to the destination table. For example, after a high-availability (HA) switchover in the destination MySQL database, data may remain in memory and never reach disk, causing data loss.
-
If a task fails, DTS support staff will attempt to restore it within eight hours. During restoration, they may restart the task or adjust its parameters.
Note
Only DTS task parameters are modified—not database parameters. Parameters that may be adjusted include those listed in Modify instance parameters.
|
|
Special cases
|
When the destination database is ApsaraDB RDS for MySQL
-
ApsaraDB RDS for MySQL instances are case-insensitive to English table names. If you use uppercase English letters to create a table, ApsaraDB RDS for MySQL converts the table name to lowercase before creating the table.
If the source Oracle database contains tables whose names are identical but differ in case, this may cause object name conflicts and a message indicating that the object already exists during schema migration. If this occurs, use the object name mapping feature provided by DTS to rename the conflicting objects when you configure migration objects. Convert the table names to uppercase. For more information, see Map tables and columns.
-
DTS automatically creates databases in the ApsaraDB RDS for MySQL instance. If the name of a database to be migrated does not comply with the naming conventions of ApsaraDB RDS for MySQL, you must create the database in the ApsaraDB RDS for MySQL instance before you configure the migration task. For more information, see Manage databases.
|