| | |
| | Select the synchronization type as needed. Currently, User initialization, Schema initialization, Full initialization, and Incremental synchronization are supported. tip - Incremental synchronization is selected by default.
- When you select Schema initialization or Full initialization, after the pre-check is completed, DTS will initialize the data of the objects to be synchronized from the source instance in the target instance, which serves as the basis for subsequent incremental data synchronization.
- If specified non-system accounts and their associated permissions need to be synchronized from the source database to the target database, select User initialization.
|
| | Select the target accounts as needed, and set a new password in the New password (Optional) column. When migrating multiple users, click Batch change password to change all their passwords at once. Otherwise, the target account passwords will be the same as the source passwords.Batch change password tip - This configuration is supported when Synchronization type is set to User initialization.
- During database synchronization, the synchronization of users and privileges needs to be handled separately. If some accounts in the source database do not support synchronization, firstly, ensure that your business operations are not affected by the absence of these accounts.
|
Conflict resolution strategy | | During incremental synchronization, the processing method to be used when the target database encounters duplicate primary key values or unique values is as follows: - Overwrite on conflict: During task execution, if the target database contains the same primary key or unique value, DTS will not retain the conflicting data at the destination. Instead, the source data will overwrite the target data.
- Ignore on conflict: During task execution, if the target database contains the same primary key or unique value, DTS will retain the conflicting data at the destination, and the source data will not overwrite the target data.
warning - Abort on conflict strategy means that during task execution, if the target database contains the same primary key or unique value, the task will report an error and stop, with the error message indicating the conflicting data. This strategy is currently in a whitelist feature; to use it, submit a ticket.
- During incremental synchronization, if the target database already has the same primary key or unique value, you can choose a conflict resolution strategy for Database Transmission Service (DTS) based on your business needs, such as overwrite on conflict or ignore on conflict.
- During full initialization, if the target database already has the same primary key or unique value, DTS uses the conflict overwrite strategy, meaning the source data overwrites the target data.
- When a conflict overwrite occurs, if there is a table with the same name in the target database, it may cause data inconsistency issues or task failures as detailed below. It is recommended to use table name mapping or delete or rename the table with the same name in the target database to avoid data inconsistency and reduce business risks.
- When the table structure is consistent, data from full synchronization overwrites records in the target table with the same primary key or unique key values as in the source database.
- When the table structure is inconsistent, initialization of data may fail, and only partial column data can be synchronized or synchronization may fail.
|
Synchronization starting point | | Set to pull Binlog logs from a specified position or timestamp. The values are as follows: - System default: The default is the task start time.
- Specify GTID: Enter the specified GTID in the input box, formatted as source_id:transaction_id.
- Set GTID_EXECUTED: Enter the specified GTID_EXECUTED in the input box, formatted as source_id:transaction_id. If multiple exist, separate them with commas (,). For how to obtain the instance's GTID_EXECUTED, refer to How to obtain the GTID_EXECUTED of the instance.
- Specify timestamp: Click the input box to select a date, click Select time to set the time point, then click OK.
tip - When Synchronization type selects Full initialization, this step is not supported.
- GTID and GTID_EXECUTED must be legal values from the source end. Otherwise, pre-check reports an error.
- When Synchronization type selects both Full initiation and Incremental synchronization, the Starting timestamp defaults to the current time point and can not be modified.
- When selecting Specify timestamp, the time you set must be later than the earliest Binlog time on the source end. If there is no corresponding time Binlog, the closest Binlog starting point will be selected.
|
| | Select the operation types to synchronize. Currently, DML and DDL operation statements are supported for synchronization. The details are as follows: - DML: Currently supports Delete, Insert, and Update. All DML operation statements are selected by default and can be adjusted as needed.
- DDL: Synchronizes Full DDL by default, meaning all DDL operation statements are synchronized. You can also click Custom DDL, with all DDL operation statements selected by default and adjustable as needed. If no DDL operation statements need to be synchronized, click Do not synchronize.
|
Whether to enable foreign key check? | | Select whether to enable foreign key check as needed. When enabled, the tool supports synchronizing cascading updates and deletes of foreign keys from the source, ensuring data integrity and consistency throughout the synchronization. |
| | Select the synchronization objects, such as tables, views, functions, or stored procedures, supporting queries of target objects via Normal search and Global search. At the same time, you can perform the following operations in the Selected object area: - Rename databases or tables: Click the pencil icon next to the target database, table, or view to rename them. If the entire database is selected in the Synchronization object area, only the database name can be modified in the Selected object area, and the database cannot be expanded. Click Batch mapping to modify database or table names in bulk. For more information, refer to Database and table batch mapping.
- Filter and delete unnecessary targets: The search box in the Selected object area supports fuzzy search to batch delete unwanted databases, tables, and other targets.
- If Schema initialization is selected as the Synchronization type, you can then choose which specific target databases or tables to initialize in the Selected objects area.
tip Regular expression search for target objects is supported in the Synchronization object or Selected object areas. |
| Selected databases and tables | Only support resetting the synchronization type, conflict strategy, and data filtering of synchronized tables separately as follows: - Full initialization: When the synchronization type selects full initialization, it supports selecting or canceling full initialization of target tables as needed.
- Incremental synchronization: Incremental synchronization is selected by default. You can select or deselect incremental synchronization for target tables as needed.
- Conflict strategy: Set the conflict strategy for target tables as needed. Supported options are: Abort, Ignore, or Overwrite. For more information about conflict strategy, refer to the parameter description of conflict resolution strategy. When only full initialization is selected, modifying the conflict strategy is not supported.
- Full data filtering: Set filter rules on the target table's full data filtering columns as needed to improve migration performance. After completing the filter setup on the target table, click the verification statement to validate if the filter conditions are met.
tip - When an entire database is selected as the synchronization object and not expanded, any parameter settings will be applied at the database level.
- This feature is currently in beta testing. To use it, submit a ticket for technical support.
- Filter condition currently supported =, !=, <, >, <=, >=, in, is null, and, or.
|
| Whether to pre-synchronize trigger | Select whether to pre-synchronize triggers as needed, supporting the following options: - No: DTS synchronizes triggers after incremental synchronization ends by default.
- Yes: DTS synchronizes triggers before incremental synchronization starts and adds control statements in the target database's triggers to prevent DTS from triggering them.
tip - This feature is released in allowlist. To use it, submit tickets to contact technical support.
- Parameters are supported only when all the following conditions are met.
- Synchronization type includes schema initialization and incremental synchronization.
- Synchronization objects include triggers.
|
| Trigger synchronization method | Select the pre-synchronize trigger synchronization method as needed, supporting the following options: - Automatic synchronization: DTS automatically synchronizes triggers before incremental synchronization and adds control statements to the triggers in the target database to prevent DTS from triggering them.
- Manual trigger synchronization: DTS requires manual trigger synchronization before incremental synchronization and adds control statements to triggers in the destination database to prevent DTS from triggering them.
tip This parameter can only be configured if whether to pre-synchronize triggers is set to yes. |
| Enable transaction merging? | Enabling transaction merging optimizes synchronization tasks by combining multiple individual transactions, improving overall efficiency and performance while ensuring data consistency. When data synchronization occurs frequently with large volumes, enabling transaction merging enhances synchronization efficiency. |
| Synchronization preferences | Select a synchronization preference policy as needed. The following options are supported: - Performance first: It can increase the speed of existing data synchronization but may also lead to higher disk fragmentation and increased system load. It is recommended to reserve an additional 50% of storage space on the target end. Performance first applies to scenarios with high requirements for existing data synchronization speed, such as financial transactions, fast data collection, and real-time monitoring.
- Space first: The test space amplification rate is generally around 5%, which is suitable for scenarios with limited storage resources and relatively low requirements for data synchronization timeliness, such as data archiving, historical data backup, and log file synchronization.
|
| Post-schema synchronization | Select whether to synchronize triggers or events after incremental synchronization based on demand. The following options are supported: - No: Database Transmission Service (DTS) does not synchronize triggers and events after incremental synchronization.
- Yes: Database Transmission Service (DTS) synchronizes triggers and events after incremental synchronization ends.
tip - This parameter is supported only when the following conditions are met.
- Synchronization type includes schema initialization.
- Synchronization objects include triggers or events.
- If both pre-synchronization trigger and post-schema synchronization are configured, the trigger will synchronize twice before and after the incremental synchronization task.
|
| Enable ETL configuration | Choose whether to enable the ETL function. For more information about ETL, refer to Introduction to ETL. - Yes: indicates enabling ETL functions.
- After enabling ETL rules, click Quick configuration field mapping/filtering rules, configure synchronization objects in the Quick configuration field mapping/filtering rules dialog box, and click OK to quickly generate ETL statements.
- After enabling the ETL function, you can configure data processing ETL rules by referring to the DSL syntax. Enter the data processing ETL rules, i.e., the DSL script, in the Enter ETL statements or use ETL assistant to generate statements...text box, and click Validate syntax to verify whether the data processing statements are correct.
- You can also use the ETL assistant to generate ETL statements in natural language. In the upper-right corner of the ETL statement text box, click ETL assistant to input ETL requirements, and press Enter. After generating the ETL, copy the generated ETL statements into the ETL text box. The ETL assistant offers a variety of ETL statement generation capabilities. For more information, refer to ETL assistant capabilities.
- No: indicates not enabling ETL functions.
|
| | If a synchronization task fails due to a disconnection between the source and target databases, the system immediately retries connecting to them multiple times within the specified time. Value range: 600–86400, in seconds (s). The default value is 600 seconds. |
| Enable millisecond-level delay monitoring | Enable or disable millisecond-level latency monitoring as needed. When enabled, it provides high-precision, full-link, proactive end-to-end latency measurement, effectively improving monitoring stability and sensitivity to abnormal conditions such as network interruptions and idle disconnections. When enabled, DTS writes heartbeat signals to the source database. The source end account must have SELECT, INSERT, and UPDATE permissions. You can also manually create a heartbeat table on the source database to enable millisecond-level latency monitoring. For detailed steps, see Manually create a heartbeat table. |
| Full synchronization rate | Set the full synchronization rate as needed. To prevent high synchronization rates from affecting the source database's performance, adjust the following parameters based on the read and write pressure of the source and target databases accordingly: - Rows synchronized per second: Enable and set the rows synchronized per second as needed. The default value is 100000, and the value range is 1-100000.
- Data volume to synchronize per second: Enable this option and set the data volume as needed. The default value is 25000, the value range is 1-25000, and the unit is KB.
- Synchronization task concurrency: Set the concurrency of synchronization tasks as needed. The default value is 8, and the valid range is 1 to 64.
tip - You can configure this parameter when selecting Synchronization type as Full initiation.
- An excessively high synchronization rate may affect the performance of the source database. Adjust appropriately based on the read and write pressure of the source and target databases.
|