DRS Pre-Check Items
A DRS synchronization process consists of four phases: task startup, full migration, incremental migration, and task completion. A single full migration task contains three phases. To ensure smooth synchronization, DRS automatically scans and checks parameters and objects in the source and destination databases before starting a synchronization task.
Overview
View pre-check itmes based on the source database type of your synchronization task.
- The following lists the pre-check items for synchronization tasks with MySQL serving as the source.
- The following lists the pre-check items for synchronization tasks with PostgreSQL serving as the source.
- PostgreSQL->PostgreSQL
- PostgreSQL->GaussDB(DWS)
- PostgreSQL -> GaussDB Primary/Standby
- PostgreSQL -> GaussDB Distributed
- The following lists the pre-check items for synchronization tasks with Oracle serving as the source.
- The following lists the pre-check items for synchronization tasks with DDM serving as the source.
- The following lists the pre-check items for synchronization tasks with Microsoft SQL Server serving as the source.
- Microsoft SQL Server->GaussDB(DWS)
- Microsoft SQL Server -> GaussDB Primary/Standby
- Microsoft SQL Server -> GaussDB Distributed
- The following lists the pre-check items for synchronization tasks with MariaDB serving as the source.
MySQL->MySQL
Category | Check Item | Check Item Details |
---|---|---|
Permissions | Source database permissions |
|
Destination database permissions |
| |
Versions | Source database versions | Versions 5.5, 5.6, 5.7, and 8.0 are supported. |
Destination database versions | Versions 5.5, 5.6, 5.7, and 8.0 are supported. | |
Synchronization version | The destination database version must be the same as or later than the source database version. | |
Parameters | GTID status | Enable GTID for the source database. If GTID is not enabled for the source database, primary/standby switchover is not supported. DRS tasks will be interrupted and cannot be restored during a switchover. |
Performance parameters | The log_slave_updates parameter of the source database must be enabled. Otherwise, the synchronization will fail. | |
The binlog_row_image parameter of the source database must be set to FULL. Otherwise, the synchronization will fail. | ||
Maximum size of a packet that can be transmitted | If there is a lot of data to be synchronized or there are too many fields to be synchronized, and the max_allowed_packet value of the source database is too small, the synchronization task may fail. | |
If there is a lot of data to be synchronized or there are too many fields to be synchronized, and the max_allowed_packet value of the destination database is too small, data cannot be written to the destination database and the full synchronization fails. | ||
sql_mode value | If the MyISAM tables are included in the synchronization objects, the sql_mode parameter in the destination database cannot contain the no_engine_substitution parameter. Otherwise, the synchronization fails. | |
Incremental synchronization | Index column length | The index column length of the source database must meet requirements. |
Binlog status | During the incremental synchronization, the binlog of the source database must be enabled. | |
Binlog format | The source database binlog must be row-based. | |
Binlog retention period | If the storage space is sufficient, store the source database binlog files as long as possible. The recommended retention period is three days. If you set the period to 0, the synchronization may fail.
| |
server_id value | During an incremental synchronization, the server_id value of the MySQL source database must be set.
| |
Table fields | If there is a table containing fields of the longtext or longblob type in the synchronization object, you are advised to create a DRS task with large specifications. Otherwise, capture OOM may occur. | |
Additional columns | In an incremental synchronization task, if no additional column is added to the destination database, the task fails. | |
Destination database | Storage space | The destination DB instance must have sufficient storage space. |
Status | The destination DB instance is running properly. | |
Consistency | Character set | The character set of the destination database must be the same as that of the source database. |
Collation | The collation_server value of the destination database must be the same as that of the source database. | |
Clock | The clock of the destination database must be the same as that of the source database. | |
Time zone | The time_zone value of the destination database must be the same as that of the source database. | |
Case sensitive | The lower_case_table_names value of the destination database must be the same as that of the source database. | |
Maximum length of the calculation result of the group_concat function | The group_concat_max_len value of the destination database must be the same as that of the source database. | |
InnoDB check mode | The innodb_strict_mode value of the destination database must be the same as that of the source database. | |
Data block encryption parameter | The block_encryption_mode value of the destination database must be the same as that of the source database. | |
SQL mode | The sql_mode value of the destination database must be the same as that of the source database. | |
Synchronization objects | Selected objects |
|
During database name mapping, if the objects to be synchronized contain stored procedures, views, and functions, these objects cannot be synchronized in the full synchronization phase, or it will result in inconsistent objects. | ||
Tables without primary keys | Create primary keys for tables as the performance of a table without a primary key is lower than that of a table with a primary key. | |
Associated objects | Objects that have dependencies must be synchronized at the same time to avoid synchronization failure. Common dependencies: tables referenced by views, views referenced by views, views and tables referenced by stored procedures/functions/triggers, and tables referenced by primary and foreign keys | |
Foreign key reference operations | Cascade operations cannot be performed on tables with foreign keys. If the foreign key index of a table is a common index, the table structure may fail to be created. You are advised to use a unique index. | |
Duplicate names | If the destination database (excluding MySQL system database) has the same name as the source database, the table structures in the destination database must be consistent with those in the source database. | |
Database table naming rules |
| |
SSL | SSL configuration | If you enable SSL, the SSL connections for both the source and destination databases are correctly configured. |
Network conditions | Network conditions | The IP address, port, username, and password of the destination database are correctly configured. |
The IP address, port, username, and password of the source database are correctly configured. |
MySQL->PostgreSQL
Category | Check Item | Check Item Details |
---|---|---|
Permissions | Source database permissions |
|
Destination database permissions | The account of the RDS for PostgreSQL instance has the permissions by default. | |
Versions | Source database versions | Versions 5.5, 5.6, 5.7, and 8.0 are supported. |
Destination database versions | Versions 9.5, 9.6, 10, and 11 are supported. | |
Parameters | GTID status | Enable GTID for the source database. If GTID is not enabled for the source database, primary/standby switchover is not supported. DRS tasks will be interrupted and cannot be restored during a switchover. |
Performance parameters | The binlog_row_image parameter of the source database must be set to FULL. Otherwise, the synchronization will fail. | |
Maximum size of a packet that can be transmitted | If there is a lot of data to be synchronized or there are too many fields to be synchronized, and the max_allowed_packet value of the source database is too small, the synchronization task may fail. | |
Incremental synchronization | Binlog status | During the incremental synchronization, the binlog of the source database must be enabled. |
Binlog format | The source database binlog must be row-based. | |
server_id value | During an incremental synchronization, the server_id value of the MySQL source database must be set.
| |
Table fields |
| |
Destination database | Storage space | The destination DB instance must have sufficient storage space. |
Status | The destination DB instance is running properly. | |
Consistency | Character set | The character set of the destination database must be the same as that of the source database. |
Time zone | The time_zone value of the destination database must be the same as that of the source database. | |
Table structures | The table structure of the destination database must be the same as that of the source database. | |
Synchronization objects | Selected objects |
|
Tables without primary keys | Create primary keys for tables as the performance of a table without a primary key is lower than that of a table with a primary key. | |
Primary keys | Do not use an imprecise value type as the primary key in the database. This feature affects the synchronization of UPDATE and DELETE statements in the DRS incremental scenario. | |
Foreign key reference operations | Cascade operations cannot be performed on tables with foreign keys. If the foreign key index of a table is a common index, the table structure may fail to be created. You are advised to use a unique index. | |
Duplicate names | The destination DB instance cannot contain databases with the same name as the source databases (except the MySQL system database). | |
Database table naming rules | The names of the source databases and tables cannot contain non-ASCII characters, or the following characters: '<`>/\" | |
Object name length | The destination database object name can contain a maximum of 63 characters. | |
Source database | The source database is properly connected during the synchronization object check in the pre-check phase. | |
SSL | SSL configuration | If you enable SSL, the SSL connections for both the source and destination databases are correctly configured. |
Network conditions | Network conditions | The IP address, port, username, and password of the destination database are correctly configured. |
The IP address, port, username, and password of the source database are correctly configured. |
MySQL -> GaussDB Primary/Standby
Category | Check Item | Check Item Details |
---|---|---|
Permissions | Source database permissions | SELECT, LOCK TABLES, REPLICATION SLAVE, and REPLICATION CLIENT |
Destination database permissions |
| |
Versions | Source database versions | Versions 5.5, 5.6, 5.7, and 8.0 are supported. |
Destination database versions | 1.0.0 and later versions are supported. | |
Parameters | GTID status | Enable GTID for the source database. If GTID is not enabled for the source database, primary/standby switchover is not supported. DRS tasks will be interrupted and cannot be restored during a switchover. |
Performance parameters | The binlog_row_image parameter of the source database must be set to FULL. Otherwise, the synchronization will fail. | |
Maximum size of a packet that can be transmitted | If there is a lot of data to be synchronized or there are too many fields to be synchronized, and the max_allowed_packet value of the source database is too small, the synchronization task may fail. | |
Incremental synchronization | Binlog status | During the incremental synchronization, the binlog of the source database must be enabled. |
Binlog format | The source database binlog must be row-based. | |
Binlog retention period | If the storage space is sufficient, store the source database binlog files as long as possible. The recommended retention period is three days. If you set the period to 0, the synchronization may fail.
| |
server_id value | During an incremental synchronization, the server_id value of the MySQL source database must be set.
| |
Table fields | The following data types are not supported: XML, JSON containing the bit type, geometry, point, lineString, polygon, geometrycollection, multipoint, multilinestring, and multipolygon. | |
Database compatibility type | The compatibility mode of the destination database must be consistent with that of the source database. | |
Destination database | Storage space | The destination DB instance must have sufficient storage space. |
Status | The destination DB instance is running properly. | |
Consistency | Character set | The character set of the destination database must be the same as that of the source database. |
Time zone | The time_zone value of the destination database must be the same as that of the source database. | |
Table structures | The table structure of the destination database must be the same as that of the source database. | |
Synchronization objects | Selected objects |
|
Foreign key reference operations | Cascade operations cannot be performed on tables with foreign keys. If the foreign key index of a table is a common index, the table structure may fail to be created. You are advised to use a unique index. | |
Duplicate names | The destination DB instance cannot contain databases with the same name as the source databases (except the MySQL system database). | |
Database table naming rules |
| |
Object name length | The destination database object name can contain a maximum of 63 characters. | |
Source database | The selected synchronization object must exist in the source database. | |
Destination database | The mapped database configured for the task must exist in the destination database. | |
SSL | SSL configuration | If you enable SSL, the SSL connections for both the source and destination databases are correctly configured. |
Network conditions | Network conditions | The IP address, port, username, and password of the destination database are correctly configured. |
The IP address, port, username, and password of the source database are correctly configured. |
MySQL->GaussDB(DWS)
Category | Check Item | Check Item Details |
---|---|---|
Permissions | Source database permissions | SELECT, LOCK TABLES, REPLICATION SLAVE, and REPLICATION CLIENT |
Destination database permissions | The destination database user must have the following permissions: INSERT, SELECT, UPDATE, DELETE, CONNECT, and CREATE. | |
Versions | Source database versions | Versions 5.5, 5.6, 5.7, and 8.0 are supported. |
Destination database versions | Versions 8.1.3 and 8.2.0 are supported. | |
Parameters | GTID status | Enable GTID for the source database. If GTID is not enabled for the source database, primary/standby switchover is not supported. DRS tasks will be interrupted and cannot be restored during a switchover. |
Performance parameters | The binlog_row_image parameter of the source database must be set to FULL. Otherwise, the synchronization will fail. | |
Maximum size of a packet that can be transmitted | If there is a lot of data to be synchronized or there are too many fields to be synchronized, and the max_allowed_packet value of the source database is too small, the synchronization task may fail. | |
Incremental synchronization | Binlog status | During the incremental synchronization, the binlog of the source database must be enabled. |
Binlog format | The source database binlog must be row-based. | |
Binlog retention period | If the storage space is sufficient, store the source database binlog files as long as possible. The recommended retention period is three days. If you set the period to 0, the synchronization may fail.
| |
server_id value | During an incremental synchronization, the server_id value of the MySQL source database must be set.
| |
Table fields | The following data types are not supported: XML, JSON containing the bit type, geometry, point, lineString, polygon, geometrycollection, multipoint, multilinestring, and multipolygon. | |
If there is a table containing fields of the longtext or longblob type in the synchronization object, you are advised to create a DRS task with large specifications. Otherwise, capture OOM may occur. | ||
Database compatibility type | The compatibility mode of the destination database must be consistent with that of the source database. | |
Destination database | Storage space | The destination DB instance must have sufficient storage space. |
Status | The destination DB instance is running properly. | |
Consistency | Character set | The character set of the destination database must be the same as that of the source database. |
Time zone | The time_zone value of the destination database must be the same as that of the source database. | |
Table structures | The table structure of the destination database must be the same as that of the source database. | |
Synchronization objects | Selected objects |
|
Foreign key reference operations | Cascade operations cannot be performed on tables with foreign keys. If the foreign key index of a table is a common index, the table structure may fail to be created. You are advised to use a unique index. | |
Duplicate names | The destination DB instance cannot contain databases with the same name as the source databases (except the MySQL system database). | |
Database table naming rules |
| |
Object name length | The destination database object name can contain a maximum of 63 characters. | |
Source database | The selected synchronization object must exist in the source database. | |
SSL | SSL configuration | If you enable SSL, the SSL connections for both the source and destination databases are correctly configured. |
Network conditions | Network conditions | The IP address, port, username, and password of the destination database are correctly configured. |
The IP address, port, username, and password of the source database are correctly configured. |
MySQL->GaussDB(for MySQL)
Category | Check Item | Check Item Details |
---|---|---|
Permissions | Source database permissions | The user must have the following permissions: SELECT, SHOW VIEW, EVENT, LOCK TABLES, REPLICATION SLAVE, and REPLICATION CLIENT |
Destination database permissions |
| |
Versions | Source database versions | Versions 5.5, 5.6, 5.7, and 8.0 are supported. |
Destination database versions | Version 8.0 is supported. | |
Synchronization version | The destination database version must be the same as or later than the source database version. | |
Parameters | GTID status | Enable GTID for the source database. If GTID is not enabled for the source database, primary/standby switchover is not supported. DRS tasks will be interrupted and cannot be restored during a switchover. |
Performance parameters | The log_slave_updates parameter of the source database must be enabled. Otherwise, the synchronization will fail. | |
The binlog_row_image parameter of the source database must be set to FULL. Otherwise, the synchronization will fail. | ||
Maximum size of a packet that can be transmitted | If there is a lot of data to be synchronized or there are too many fields to be synchronized, and the max_allowed_packet value of the source database is too small, the synchronization task may fail. | |
If there is a lot of data to be synchronized or there are too many fields to be synchronized, and the max_allowed_packet value of the destination database is too small, data cannot be written to the destination database and the full synchronization fails. | ||
sql_mode value | If the MyISAM tables are included in the synchronization objects, the sql_mode parameter in the destination database cannot contain the no_engine_substitution parameter. Otherwise, the synchronization fails. | |
Incremental synchronization | Index column length | The index column length of the source database must meet requirements. |
Binlog status | During the incremental synchronization, the binlog of the source database must be enabled. | |
Binlog format | The source database binlog must be row-based. | |
Binlog retention period | If the storage space is sufficient, store the source database binlog files as long as possible. The recommended retention period is three days. If you set the period to 0, the synchronization may fail.
| |
server_id value | During an incremental synchronization, the server_id value of the MySQL source database must be set.
| |
Table fields | If there is a table containing fields of the longtext or longblob type in the synchronization object, you are advised to create a DRS task with large specifications. Otherwise, capture OOM may occur. | |
Additional columns | Check whether you need to add the missing additional columns to the destination database tables. | |
Destination database | Status | The destination DB instance is running properly. |
Consistency | Character set | The character set of the destination database must be the same as that of the source database. |
Collation | The collation_server value of the destination database must be the same as that of the source database. | |
Clock | The clock of the destination database must be the same as that of the source database. | |
Time zone | The time_zone value of the destination database must be the same as that of the source database. | |
Case sensitive | The lower_case_table_names value of the destination database must be the same as that of the source database. | |
Maximum length of the calculation result of the group_concat function | The group_concat_max_len value of the destination database must be the same as that of the source database. | |
InnoDB check mode | The innodb_strict_mode value of the destination database must be the same as that of the source database. | |
Data block encryption parameter | The block_encryption_mode value of the destination database must be the same as that of the source database. | |
SQL mode | The sql_mode value of the destination database must be the same as that of the source database. | |
Synchronization objects | Selected objects |
|
During database name mapping, if the objects to be synchronized contain stored procedures, views, and functions, these objects cannot be synchronized in the full synchronization phase, or it will result in inconsistent objects. | ||
Tables without primary keys | Create primary keys for tables as the performance of a table without a primary key is lower than that of a table with a primary key. | |
Associated objects | Objects that have dependencies must be synchronized at the same time to avoid synchronization failure. Common dependencies: tables referenced by views, views referenced by views, views and tables referenced by stored procedures/functions/triggers, and tables referenced by primary and foreign keys | |
Foreign key reference operations | Cascade operations cannot be performed on tables with foreign keys. If the foreign key index of a table is a common index, the table structure may fail to be created. You are advised to use a unique index. | |
Duplicate names | If the destination database (excluding MySQL system database) has the same name as the source database, the table structures in the destination database must be consistent with those in the source database. | |
Database table naming rules |
| |
SSL | SSL configuration | If you enable SSL, the SSL connections for both the source and destination databases are correctly configured. |
Network conditions | Network conditions | The IP address, port, username, and password of the destination database are correctly configured. |
The IP address, port, username, and password of the source database are correctly configured. |
MySQL->MariaDB
Category | Check Item | Check Item Details |
---|---|---|
Permissions | Source database permissions |
|
Destination database permissions |
| |
Versions | Source database versions | Versions 5.5, 5.6, 5.7, and 8.0 are supported. |
Destination database versions | Version 10.5 is supported. | |
Parameters | GTID status | Enable GTID for the source database. If GTID is not enabled for the source database, primary/standby switchover is not supported. DRS tasks will be interrupted and cannot be restored during a switchover. |
Performance parameters | The log_slave_updates parameter of the source database must be enabled. Otherwise, the synchronization will fail. | |
The binlog_row_image parameter of the source database must be set to FULL. Otherwise, the synchronization will fail. | ||
sql_mode value | If the MyISAM tables are included in the synchronization objects, the sql_mode parameter in the destination database cannot contain the no_engine_substitution parameter. Otherwise, the synchronization fails. | |
Incremental synchronization | Index column length | The index column length of the source database must meet requirements. |
Binlog status | During the incremental synchronization, the binlog of the source database must be enabled. | |
Binlog format | The source database binlog must be row-based. | |
Binlog retention period | If the storage space is sufficient, store the source database binlog files as long as possible. The recommended retention period is three days. If you set the period to 0, the synchronization may fail.
| |
server_id value | During an incremental synchronization, the server_id value of the MySQL source database must be set.
| |
Table fields | If there is a table containing fields of the longtext or longblob type in the synchronization object, you are advised to create a DRS task with large specifications. Otherwise, capture OOM may occur. | |
Additional columns | In an incremental synchronization task, if no additional column is added to the destination database, the task fails. | |
Destination database | Storage space | The destination DB instance must have sufficient storage space. |
Status | The destination DB instance is running properly. | |
Consistency | Character set | The character set of the destination database must be the same as that of the source database. |
Collation | The collation_server value of the destination database must be the same as that of the source database. | |
Clock | The clock of the destination database must be the same as that of the source database. | |
Case sensitive | The lower_case_table_names value of the destination database must be the same as that of the source database. | |
Maximum length of the calculation result of the group_concat function | The group_concat_max_len value of the destination database must be the same as that of the source database. | |
InnoDB check mode | The innodb_strict_mode value of the destination database must be the same as that of the source database. | |
SQL mode | The sql_mode value of the destination database must be the same as that of the source database. | |
Synchronization objects | Selected objects |
|
During database name mapping, if the objects to be synchronized contain stored procedures, views, and functions, these objects cannot be synchronized in the full synchronization phase, or it will result in inconsistent objects. | ||
Tables without primary keys | Create primary keys for tables as the performance of a table without a primary key is lower than that of a table with a primary key. | |
Associated objects | Objects that have dependencies must be synchronized at the same time to avoid synchronization failure. Common dependencies: tables referenced by views, views referenced by views, views and tables referenced by stored procedures/functions/triggers, and tables referenced by primary and foreign keys | |
Foreign key reference operations | Cascade operations cannot be performed on tables with foreign keys. If the foreign key index of a table is a common index, the table structure may fail to be created. You are advised to use a unique index. | |
Duplicate names | If the destination database (excluding MySQL system database) has the same name as the source database, the table structures in the destination database must be consistent with those in the source database. | |
Database table naming rules |
| |
SSL | SSL configuration | If you enable SSL, the SSL connections for both the source and destination databases are correctly configured. |
Network conditions | Network conditions | The IP address, port, username, and password of the destination database are correctly configured. |
The IP address, port, username, and password of the source database are correctly configured. |
PostgreSQL->PostgreSQL
Category | Check Item | Check Item Details |
---|---|---|
Permissions | Source database permissions |
|
Destination database permissions |
| |
Versions | Source database versions | Versions 9.4, 9.5, 9.6, 10, 11, 12, 13, and 14 are supported. |
Destination database versions | Versions 9.5, 9.6, 10, 11, 12, 13, and 14 are supported. | |
Synchronization version | The destination database version must be the same as or later than the source database version. | |
Parameters | Performance parameters | The BLOCK_SIZE value of the destination database must be greater than or equal to that of the source database. |
The PASSWORD_ENCRYPTION values of the source and destination databases must be the same. | ||
The max_replication_slots value of the source database must be greater than the number of used replication slots. | ||
The max_wal_senders value of the source database must be greater than or equal to the max_replication_slots value. | ||
The replica identity attribute of tables that do not have primary keys in the source database must be full. | ||
If the toast attribute of the primary key column in the source database is main, external, or extended, the replica identity attribute must be full. | ||
The wal_level value of the source database must be logical. | ||
Incremental synchronization | Table fields |
|
Unlogged tables | During database-level synchronization, DMLs of unlogged tables cannot be synchronized. | |
Parameters | To perform incremental synchronization, if the synchronization object contains foreign keys, triggers, or event triggers, set session_replication_role of the destination database to replica. After the synchronization is complete, change the value to origin. | |
Destination database | Storage space | The destination DB instance must have sufficient storage space. |
Status | The destination DB instance is running properly. | |
Character type and sorting rule | The destination database does not support the value of lc_ctype or lc_collate in the database to be synchronized. | |
Currency format | The currency format of the source and destination databases must be the same. | |
Synchronization objects | Selected objects |
|
The selected table cannot contain delay constraints. | ||
The objects that have dependencies must be synchronized at the same time. | ||
Naming rules of databases, tables, and columns |
| |
Source database | The source database is properly connected during the synchronization object check in the pre-check phase. | |
| ||
Before starting a task, ensure that the source database does not contain transactions that have been there for a long time without being submitted. | ||
The SSL status of the source database is normal. | ||
Network conditions | Network conditions | The IP address, port, username, and password of the destination database are correctly configured. |
The IP address, port, username, and password of the source database are correctly configured. |
PostgreSQL->GaussDB(DWS)
Category | Check Item | Check Item Details |
---|---|---|
Permissions | Source database permissions | Full+incremental synchronization requires the following permissions: The CONNECT permission for databases, the USAGE permission for schemas, the SELECT permission for tables, the SELECT permission for sequences, the UPDATE, DELETE, and TRUNCATE permissions for tables that do not have primary keys, and the permission to create replication connections |
Destination database permissions |
| |
Versions | Source database versions | Versions 9.4, 9.5, 9.6, 10, 11, 12, 13, and 14 are supported. |
Destination database versions | Versions 8.1.3 and 8.2.0 are supported. | |
Parameters | Performance parameters | The max_replication_slots value of the source database must be greater than the number of used replication slots. |
The max_wal_senders value of the source database must be greater than or equal to the max_replication_slots value. | ||
The replica identity attribute of tables that do not have primary keys in the source database must be full. | ||
If the toast attribute of the primary key column in the source database is main, external, or extended, the replica identity attribute must be full. | ||
The wal_level value of the source database must be logical. | ||
Incremental synchronization | Table fields |
|
Unlogged tables | During database-level synchronization, DMLs of unlogged tables cannot be synchronized. | |
Synchronization objects | Selected objects |
|
The selected table cannot contain delay constraints. | ||
The objects that have dependencies must be synchronized at the same time. Common dependencies are as follows: tables referenced by primary and foreign keys, parent tables referenced by child tables, partitioned tables referenced by sub-partitioned tables, and sequences referenced by auto-increment columns. | ||
Naming rules of databases, tables, and columns |
| |
Source database | The source database is properly connected during the synchronization object check in the pre-check phase. | |
| ||
Before starting a task, ensure that the source database does not contain transactions that have been there for a long time without being submitted. | ||
The SSL status of the source database is normal. | ||
Network conditions | Network conditions | The IP address, port, username, and password of the destination database are correctly configured. |
The IP address, port, username, and password of the source database are correctly configured. |
PostgreSQL -> GaussDB Primary/Standby
Category | Check Item | Check Item Details |
---|---|---|
Permissions | Source database permissions |
|
Destination database permissions | The user has the sysadmin role or the following minimum permissions: The CONNECT and CREATE permissions for databases, the USAGE and CREATE permissions for schemas, and the INSERT, UPDATE, DELETE, SELECT, ALTER, INDEX, and COMMENT permissions for tables. | |
Versions | Source database versions | Versions 9.4, 9.5, 9.6, 10, 11, 12, 13, and 14 are supported. |
Destination database versions | 1.0.0 and later versions are supported. | |
Parameters | Performance parameters | The max_replication_slots value of the source database must be greater than the number of used replication slots. |
The max_wal_senders value of the source database must be greater than or equal to the max_replication_slots value. | ||
The replica identity attribute of tables that do not have primary keys in the source database must be full. | ||
If the toast attribute of the primary key column in the source database is main, external, or extended, the replica identity attribute must be full. | ||
The wal_level value of the source database must be logical. | ||
Incremental synchronization | Table fields |
|
Unlogged tables | During database-level synchronization, DMLs of unlogged tables cannot be synchronized. | |
Consistency | Schemas and tables | The schemas and tables of the destination database must be the same as those of the source database. |
Synchronization objects | Selected objects |
|
The selected table cannot contain delay constraints. | ||
The objects that have dependencies must be synchronized at the same time. Common dependencies are as follows: tables referenced by views, views referenced by views, tables referenced by primary and foreign keys, parent tables referenced by child tables, partitioned tables referenced by sub-partitioned tables, and sequences referenced by auto-increment columns. | ||
Naming rules of databases, tables, and columns |
| |
Source database | The source database is properly connected during the synchronization object check in the pre-check phase. | |
| ||
Before starting a task, ensure that the source database does not contain transactions that have been there for a long time without being submitted. | ||
The SSL status of the source database is normal. | ||
Network conditions | Network conditions | The IP address, port, username, and password of the destination database are correctly configured. |
The IP address, port, username, and password of the source database are correctly configured. |
PostgreSQL -> GaussDB Distributed
Category | Check Item | Check Item Details |
---|---|---|
Permissions | Source database permissions |
|
Destination database permissions | The user has the sysadmin role or the following minimum permissions: The CONNECT and CREATE permissions for databases, the USAGE and CREATE permissions for schemas, and the INSERT, UPDATE, DELETE, SELECT, ALTER, INDEX, and COMMENT permissions for tables. | |
Versions | Source database versions | Versions 9.4, 9.5, 9.6, 10, 11, 12, 13, and 14 are supported. |
Destination database versions | 1.0.0 and later versions are supported. | |
Parameters | Performance parameters | The max_replication_slots value of the source database must be greater than the number of used replication slots. |
The max_wal_senders value of the source database must be greater than or equal to the max_replication_slots value. | ||
The replica identity attribute of tables that do not have primary keys in the source database must be full. | ||
If the toast attribute of the primary key column in the source database is main, external, or extended, the replica identity attribute must be full. | ||
The wal_level value of the source database must be logical. | ||
Incremental synchronization | Table fields |
|
Unlogged tables | During database-level synchronization, DMLs of unlogged tables cannot be synchronized. | |
Consistency | Schemas and tables | The schemas and tables of the destination database must be the same as those of the source database. |
Synchronization objects | Selected objects |
|
The selected table cannot contain delay constraints. | ||
The objects that have dependencies must be synchronized at the same time. Common dependencies are as follows: tables referenced by primary and foreign keys, parent tables referenced by child tables, partitioned tables referenced by sub-partitioned tables, and sequences referenced by auto-increment columns. | ||
Naming rules of databases, tables, and columns |
| |
Source database | The source database is properly connected during the synchronization object check in the pre-check phase. | |
| ||
Before starting a task, ensure that the source database does not contain transactions that have been there for a long time without being submitted. | ||
The SSL status of the source database is normal. | ||
Network conditions | Network conditions | The IP address, port, username, and password of the destination database are correctly configured. |
The IP address, port, username, and password of the source database are correctly configured. |
Oracle->MySQL
Category | Check Item | Check Item Details |
---|---|---|
Permissions | Source database permissions | Full synchronization: The user must have the following permissions: CREATE SESSION, SELECT ANY DICTIONARY, and SELECT for a single table (GRANT SELECT ON <userName.tbName> to drsUser) Full+incremental synchronization and incremental synchronization:
|
Destination database permissions | The user must have the SELECT, INSERT, CREATE, DROP, UPDATE, ALTER, DELETE and INDEX permissions. | |
MAINTAINED check of the source Oracle database user | Oracle 12c or later does not support incremental synchronization using accounts whose ORACLE_MAINTAINED is Y (except system/sys), because accounts with this attribute do not have the permissions to parse logs. | |
Versions | Source database versions | Versions 10g, 11g, 12c, 18c, 19c, and 21c are supported. |
Destination database versions | Versions 5.5, 5.6, 5.7, and 8.0 are supported. | |
Incremental synchronization | Index column length | The index column length of the source database must meet requirements. |
Compatibility with heterogeneous databases |
| |
Virtual columns | The source database cannot contain virtual columns. | |
Character set compatibility check | The character set of the destination database must be fully compatible with that of the source database. | |
Archive logs and supplementary logs | During incremental synchronization, enable PK, UI, or ALL supplemental logging for the source Oracle database at the database level or table level. If supplemental logging is enabled at table level, enable supplemental logging again after you rebuild or rename tables. During the synchronization, ensure that the preceding settings are always enabled. | |
Destination database | Status | The destination DB instance is running properly. |
Source database | Physical standby database check | During the incremental synchronization, if the source database is a physical standby Oracle database, data of the LOB type cannot be parsed (the data dictionary cannot be generated). If the table to be synchronized contains data of the LOB type, the incremental synchronization will fail. |
Synchronization objects | Selected objects |
|
Table structures | The table structure of the source database must be the same as that of the destination database. | |
Table field types | Check whether the source database contains unsupported table field types. The following table field types are supported: VARCHAR, VARCHAR2, NVARCHAR2, NUMBER, FLOAT, LONG, DATE, BINARY_FLOAT, BINARY_DOUBLE, RAW, LONG RAW, CHAR, NCHAR, CLOB, NCLOB, BLOB, ROWID, TIMESTAMP, TIMESTAMP WITH TIME ZONE and TIMESTAMP WITH LOCAL TIME ZONE. | |
Collation check | The primary key or unique key in the destination database contains a collation ending with _ci. The collation ending with _ci is case insensitive, so an error indicating duplicate keys may be reported during synchronization. | |
Tables without primary keys | The table without a primary key lacks a unique identifier for rows. When the network is unstable, you may need to retry the task several times, or data inconsistency may occur. | |
Data constraints | During data transmission, data written to the destination database may fail or be lost because the data fails the constraint check. | |
Character sets | Only the following character sets are supported for the source database: ZHS16GBK, AL32UTF8, UTF8, US7ASCII, WE8MSWIN1252, WE8ISO8859P1, WE8ISO8859P2, WE8ISO8859P4, WE8ISO8859P5, WE8ISO8859P7, WE8ISO8859P9, WE8ISO8859P13, WE8ISO8859P15. | |
Duplicate names | Object names will be converted to lowercase letters after being synchronized to the destination database. To avoid synchronization failures, ensure that the selected source database tables do not contain tables with the same name but different letter cases. | |
Database table naming rules |
| |
Network conditions | Network conditions | The IP address, port, username, and password of the destination database are correctly configured. |
The IP address, port, username, and password of the source database are correctly configured. |
Oracle->GaussDB(for MySQL)
Category | Check Item | Check Item Details |
---|---|---|
Permissions | Source database permissions | Full synchronization: The user must have the following permissions: CREATE SESSION, SELECT ANY DICTIONARY, and SELECT for a single table (GRANT SELECT ON <userName.tbName> to drsUser) Full+Incremental synchronization:
|
Destination database permissions | The user must have the following permissions: SELECT, CREATE, DROP, DELETE, INSERT, UPDATE, ALTER, INDEX, EVENT, RELOAD, CREATE VIEW, CREATE ROUTINE and TRIGGER. | |
Versions | Source database versions | Versions 10g, 11g, 12c, 18c, 19c, and 21c are supported. |
Destination database versions | Version 8.0 is supported. | |
Incremental synchronization | Index column length | The index column length of the source database must meet requirements. |
Compatibility with heterogeneous databases |
| |
Virtual columns | The source database cannot contain virtual columns. | |
Archive logs and supplementary logs | During incremental synchronization, enable PK, UI, or ALL supplemental logging for the source Oracle database at the database level or table level. If supplemental logging is enabled at table level, enable supplemental logging again after you rebuild or rename tables. During the synchronization, ensure that the preceding settings are always enabled. | |
Destination database | Status | The destination DB instance is running properly. |
Source database | Physical standby database check | During the incremental synchronization, if the source database is a physical standby Oracle database, data of the LOB type cannot be parsed (the data dictionary cannot be generated). If the table to be synchronized contains data of the LOB type, the incremental synchronization will fail. |
Synchronization objects | Selected objects | Databases, table structures, primary keys, unique keys, normal indexes, and table data can be synchronized. Other database objects, such as stored procedures, triggers, functions, sequences, packages, synonyms, and users, cannot be synchronized. |
Table field types | Check whether the source database contains unsupported table field types. The following table field types are supported: VARCHAR, VARCHAR2, NVARCHAR2, NUMBER, FLOAT, LONG, DATE, BINARY_FLOAT, BINARY_DOUBLE, RAW, LONG RAW, CHAR, NCHAR, CLOB, NCLOB, BLOB, ROWID, TIMESTAMP, TIMESTAMP WITH TIME ZONE and TIMESTAMP WITH LOCAL TIME ZONE. | |
Collation check | The primary key or unique key in the destination database contains a collation ending with _ci. The collation ending with _ci is case insensitive, so an error indicating duplicate keys may be reported during synchronization. | |
Tables without primary keys | The table without a primary key lacks a unique identifier for rows. When the network is unstable, you may need to retry the task several times, or data inconsistency may occur. | |
Data constraints | During data transmission, data written to the destination database may fail or be lost because the data fails the constraint check. | |
Character sets | Only the following character sets are supported for the source database: ZHS16GBK, AL32UTF8, UTF8, US7ASCII, WE8MSWIN1252, WE8ISO8859P1, WE8ISO8859P2, WE8ISO8859P4, WE8ISO8859P5, WE8ISO8859P7, WE8ISO8859P9, WE8ISO8859P13, WE8ISO8859P15. | |
Duplicate names | Object names will be converted to lowercase letters after being synchronized to the destination database. To avoid synchronization failures, ensure that the selected source database tables do not contain tables with the same name but different letter cases. | |
Database table naming rules |
| |
Network conditions | Network conditions | The IP address, port, username, and password of the destination database are correctly configured. |
The IP address, port, username, and password of the source database are correctly configured. |
Oracle -> GaussDB Primary/Standby
Category | Check Item | Check Item Details |
---|---|---|
Permissions | Source database permissions | Full synchronization: The user must have the following permissions: CREATE SESSION, SELECT ANY DICTIONARY, and SELECT for a single table (GRANT SELECT ON <userName.tbName> to drsUser) Full+incremental synchronization and incremental synchronization:
|
Destination database permissions |
| |
MAINTAINED check of the source Oracle database user | Oracle 12c or later does not support incremental synchronization using accounts whose ORACLE_MAINTAINED is Y (except system/sys), because accounts with this attribute do not have the permissions to parse logs. | |
Versions | Source database versions | Versions 10g, 11g, 12c, 18c, 19c, and 21c are supported. |
Destination database versions | 1.0.0 and later versions are supported. | |
Incremental synchronization | Character set compatibility check | The character set of the destination database must be fully compatible with that of the source database. |
Virtual columns | The source database cannot contain virtual columns. | |
Archive logs and supplementary logs | During incremental synchronization, enable PK, UI, or ALL supplemental logging for the source Oracle database at the database level or table level. If supplemental logging is enabled at table level, enable supplemental logging again after you rebuild or rename tables. During the synchronization, ensure that the preceding settings are always enabled. | |
Source database | Physical standby database check | During the incremental synchronization, if the source database is a physical standby Oracle database, data of the LOB type cannot be parsed (the data dictionary cannot be generated). If the table to be synchronized contains data of the LOB type, the incremental synchronization will fail. |
Synchronization objects | Selected objects |
|
Whether the selected objects exist in the destination database | Check whether the destination database objects meet the synchronization requirements. | |
Foreign keys | Do not use foreign keys for tables during synchronization. Otherwise, the sequence of writing data to different tables may be inconsistent with that in the source database, which may trigger foreign key constraints and cause synchronization failures. | |
Table field types | Check whether the source database contains unsupported table field types. The following table field types are supported: VARCHAR, VARCHAR2, NVARCHAR2, NUMBER, FLOAT, LONG, DATE, BINARY_FLOAT, BINARY_DOUBLE, RAW, LONG RAW, CHAR, NCHAR, CLOB, NCLOB, BLOB, ROWID, TIMESTAMP, TIMESTAMP WITH TIME ZONE and TIMESTAMP WITH LOCAL TIME ZONE. | |
Tables without primary keys | The table without a primary key lacks a unique identifier for rows. When the network is unstable, you may need to retry the task several times, or data inconsistency may occur. | |
Data constraints | During data transmission, data written to the destination database may fail or be lost because the data fails the constraint check. | |
Character sets | Only the following character sets are supported for the source database: ZHS16GBK, AL32UTF8, UTF8, US7ASCII, WE8MSWIN1252, WE8ISO8859P1, WE8ISO8859P2, WE8ISO8859P4, WE8ISO8859P5, WE8ISO8859P7, WE8ISO8859P9, WE8ISO8859P13, WE8ISO8859P15. | |
Database table naming rules | Database object names, such as the database name and table name, support English characters and symbols such as #, $, and _. DRS does not support non-ASCII characters or the following special characters: .>`<'\,|?!" Object names will be converted to lowercase letters after being synchronized to the destination database. To avoid synchronization failures, ensure that the selected source database tables do not contain tables with the same name but different letter cases. | |
Network conditions | Network conditions | The IP address, port, username, and password of the destination database are correctly configured. |
The IP address, port, username, and password of the source database are correctly configured. |
Oracle -> GaussDB Distributed
Category | Check Item | Check Item Details |
---|---|---|
Permissions | Source database permissions | Full synchronization: The user must have the following permissions: CREATE SESSION, SELECT ANY DICTIONARY, and SELECT for a single table (GRANT SELECT ON <userName.tbName> to drsUser) Full+incremental synchronization and incremental synchronization:
|
Destination database permissions |
| |
MAINTAINED check of the source Oracle database user | Oracle 12c or later does not support incremental synchronization using accounts whose ORACLE_MAINTAINED is Y (except system/sys), because accounts with this attribute do not have the permissions to parse logs. | |
Versions | Source database versions | Versions 10g, 11g, 12c, 18c, 19c, and 21c are supported. |
Destination database versions | 1.0.0 and later versions are supported. | |
Incremental synchronization | Character set compatibility check | The character set of the destination database must be fully compatible with that of the source database. |
Virtual columns | The source database cannot contain virtual columns. | |
Archive logs and supplementary logs | During incremental synchronization, enable PK, UI, or ALL supplemental logging for the source Oracle database at the database level or table level. If supplemental logging is enabled at table level, enable supplemental logging again after you rebuild or rename tables. During the synchronization, ensure that the preceding settings are always enabled. | |
Source database | Physical standby database check | During the incremental synchronization, if the source database is a physical standby Oracle database, data of the LOB type cannot be parsed (the data dictionary cannot be generated). If the table to be synchronized contains data of the LOB type, the incremental synchronization will fail. |
Synchronization objects | Selected objects |
|
Whether the selected objects exist in the destination database | Check whether the destination database objects meet the synchronization requirements. | |
Foreign keys | Do not use foreign keys for tables during synchronization. Otherwise, the sequence of writing data to different tables may be inconsistent with that in the source database, which may trigger foreign key constraints and cause synchronization failures. | |
Table field types | Check whether the source database contains unsupported table field types. The following table field types are supported: VARCHAR, VARCHAR2, NVARCHAR2, NUMBER, FLOAT, LONG, DATE, BINARY_FLOAT, BINARY_DOUBLE, RAW, LONG RAW, CHAR, NCHAR, CLOB, NCLOB, BLOB, ROWID, TIMESTAMP, TIMESTAMP WITH TIME ZONE and TIMESTAMP WITH LOCAL TIME ZONE. | |
Tables without primary keys | The table without a primary key lacks a unique identifier for rows. When the network is unstable, you may need to retry the task several times, or data inconsistency may occur. | |
Data constraints | During data transmission, data written to the destination database may fail or be lost because the data fails the constraint check. | |
Character sets | Only the following character sets are supported for the source database: ZHS16GBK, AL32UTF8, UTF8, US7ASCII, WE8MSWIN1252, WE8ISO8859P1, WE8ISO8859P2, WE8ISO8859P4, WE8ISO8859P5, WE8ISO8859P7, WE8ISO8859P9, WE8ISO8859P13, WE8ISO8859P15. | |
Database table naming rules | Database object names, such as the database name and table name, support English characters and symbols such as #, $, and _. DRS does not support non-ASCII characters or the following special characters: .>`<'\,|?!" Object names will be converted to lowercase letters after being synchronized to the destination database. To avoid synchronization failures, ensure that the selected source database tables do not contain tables with the same name but different letter cases. | |
Network conditions | Network conditions | The IP address, port, username, and password of the destination database are correctly configured. |
The IP address, port, username, and password of the source database are correctly configured. |
Oracle->DDM
Category | Check Item | Check Item Details |
---|---|---|
Permissions | Source database permissions | Full synchronization: The user must have the following permissions: CREATE SESSION, SELECT ANY DICTIONARY, and SELECT for a single table (GRANT SELECT ON <userName.tbName> to drsUser) Full+Incremental synchronization:
|
Destination database permissions | The destination database user must have the following permissions: SELECT, CREATE, DROP, DELETE, INSERT, UPDATE, ALTER, INDEX, EVENT, RELOAD and CREATE VIEW | |
MAINTAINED check of the source Oracle database user | Oracle 12c or later does not support incremental synchronization using accounts whose ORACLE_MAINTAINED is Y (except system/sys), because accounts with this attribute do not have the permissions to parse logs. | |
Versions | Source database versions | Versions 10g, 11g, 12c, 18c, 19c, and 21c are supported. |
Incremental synchronization | Character set compatibility check | The character set of the destination database must be fully compatible with that of the source database. |
Virtual columns | The source database cannot contain virtual columns. | |
Archive logs and supplementary logs | During incremental synchronization, enable PK, UI, or ALL supplemental logging for the source Oracle database at the database level or table level. If supplemental logging is enabled at table level, enable supplemental logging again after you rebuild or rename tables. During the synchronization, ensure that the preceding settings are always enabled. | |
Source database | Physical standby database check | During the incremental synchronization, if the source database is a physical standby Oracle database, data of the LOB type cannot be parsed (the data dictionary cannot be generated). If the table to be synchronized contains data of the LOB type, the incremental synchronization will fail. |
Synchronization objects | Selected objects | The source database data can be synchronized, but the source table structure and other objects cannot be synchronized. |
Table structures | The redundant columns (columns that do not exist in the source database) of the destination database cannot contain not-null constraints. The not-null constraints will cause the migration to fail. | |
Table field types | Check whether the source database contains unsupported table field types. The following table field types are supported: VARCHAR, VARCHAR2, NVARCHAR2, NUMBER, FLOAT, LONG, DATE, BINARY_FLOAT, BINARY_DOUBLE, RAW, LONG RAW, CHAR, NCHAR, CLOB, NCLOB, BLOB, ROWID, TIMESTAMP, TIMESTAMP WITH TIME ZONE and TIMESTAMP WITH LOCAL TIME ZONE. | |
Tables without primary keys | The table without a primary key lacks a unique identifier for rows. When the network is unstable, you may need to retry the task several times, or data inconsistency may occur. | |
Data constraints | During data transmission, data written to the destination database may fail or be lost because the data fails the constraint check. | |
Character sets | Only the following character sets are supported for the source database: ZHS16GBK, AL32UTF8, UTF8, US7ASCII, WE8MSWIN1252, WE8ISO8859P1, WE8ISO8859P2, WE8ISO8859P4, WE8ISO8859P5, WE8ISO8859P7, WE8ISO8859P9, WE8ISO8859P13, WE8ISO8859P15. | |
Database table naming rules |
| |
Network conditions | Network conditions | The IP address, port, username, and password of the destination database are correctly configured. |
The IP address, port, username, and password of the source database are correctly configured. |
Oracle->PostgreSQL
Category | Check Item | Check Item Details |
---|---|---|
Permissions | Source database permissions | Full synchronization: The user must have the following permissions: CREATE SESSION, SELECT ANY DICTIONARY, and SELECT for a single table (GRANT SELECT ON <userName.tbName> to drsUser) Full+Incremental synchronization:
|
Destination database permissions | The user must have the following permissions for a table: INSERT, SELECT, UPDATE, DELETE, CONNECT, CREATE, and REFERENCES. | |
MAINTAINED check of the source Oracle database user | Oracle 12c or later does not support incremental synchronization using accounts whose ORACLE_MAINTAINED is Y (except system/sys), because accounts with this attribute do not have the permissions to parse logs. | |
Versions | Source database versions | Versions 10g, 11g, 12c, 18c, 19c, and 21c are supported. |
Destination database versions | Versions 9.5, 9.6, 10, 11, 12, 13, and 14 are supported. | |
Incremental synchronization | Compatibility with heterogeneous databases | Ensure that the columns that use character strings as primary keys or unique keys in the table to be migrated do not contain spaces. Otherwise, data may be inconsistent or the migration may fail. |
Virtual columns | The source database cannot contain virtual columns. | |
Character set compatibility check | The character set of the destination database must be fully compatible with that of the source database. | |
Archive logs and supplementary logs | During incremental synchronization, enable PK, UI, or ALL supplemental logging for the source Oracle database at the database level or table level. If supplemental logging is enabled at table level, enable supplemental logging again after you rebuild or rename tables. During the synchronization, ensure that the preceding settings are always enabled. | |
Destination database | Status | The destination DB instance is running properly. |
Storage space | The destination DB instance must have sufficient storage space. | |
Source database | Physical standby database check | During the incremental synchronization, if the source database is a physical standby Oracle database, data of the LOB type cannot be parsed (the data dictionary cannot be generated). If the table to be synchronized contains data of the LOB type, the incremental synchronization will fail. |
Synchronization objects | Selected objects |
|
Table field types | Check whether the source database contains unsupported table field types. The following table field types are supported: VARCHAR, VARCHAR2, NVARCHAR2, NUMBER, FLOAT, LONG, DATE, BINARY_FLOAT, BINARY_DOUBLE, RAW, LONG RAW, CHAR, NCHAR, CLOB, NCLOB, BLOB, ROWID, TIMESTAMP, TIMESTAMP WITH TIME ZONE and TIMESTAMP WITH LOCAL TIME ZONE. | |
Tables without primary keys | The table without a primary key lacks a unique identifier for rows. When the network is unstable, you may need to retry the task several times, or data inconsistency may occur. | |
Data constraints | During data transmission, data written to the destination database may fail or be lost because the data fails the constraint check. | |
Character sets | Only the following character sets are supported for the source database: ZHS16GBK, AL32UTF8, UTF8, US7ASCII, WE8MSWIN1252, WE8ISO8859P1, WE8ISO8859P2, WE8ISO8859P4, WE8ISO8859P5, WE8ISO8859P7, WE8ISO8859P9, WE8ISO8859P13, WE8ISO8859P15. | |
Log parsing permissions | If the source database user does not have the log parsing permission, the incremental migration will fail. | |
Duplicate names | Object names will be converted to lowercase letters after being synchronized to the destination database. To avoid synchronization failures, ensure that the selected source database tables do not contain tables with the same name but different letter cases. | |
Database table naming rules | The names of databases and tables cannot contain non-ASCII characters or the following special characters: .><\`|,?'!" | |
Network conditions | Network conditions | The IP address, port, username, and password of the destination database are correctly configured. |
The IP address, port, username, and password of the source database are correctly configured. |
DDM->MySQL
Category | Check Item | Check Item Details |
---|---|---|
Permissions | Source database permissions |
|
Destination database permissions | The user must have the SELECT, CREATE, ALTER, DROP, DELETE, INSERT and UPDATE permissions. The root account of the RDS for MySQL DB instance has the preceding permissions by default. | |
Parameters | GTID status | Enable GTID for the source sharded database. If GTID is not enabled for the source sharded database, primary/standby switchover is not supported. DRS tasks will be interrupted and cannot be restored during a switchover. |
Performance parameters | The binlog_row_image parameter of the source sharded database must be set to FULL. Otherwise, the synchronization will fail. | |
Incremental synchronization | Binlog status | During the incremental synchronization, the binlog of the source sharded database must be enabled. |
Binlog format | The source sharded database binlog must be row-based. | |
server_id value | During an incremental synchronization, the server_id value of the source sharded database must be specified.
| |
Destination database | Storage space | The destination DB instance must have sufficient storage space. |
Consistency | Character set | The character set of the destination database must be the same as that of the source database. |
Case sensitive | The lower_case_table_names value of the destination database must be the same as that of the source database. | |
Maximum length of the calculation result of the group_concat function | The group_concat_max_len value of the destination database must be the same as that of the source database. | |
Data block encryption parameter | The block_encryption_mode value of the destination database must be the same as that of the source database. | |
Synchronization objects | Selected objects |
|
During database name mapping, if the objects to be synchronized contain stored procedures, views, and functions, these objects cannot be synchronized in the full synchronization phase, or it will result in inconsistent objects. | ||
Tables without primary keys | Create primary keys for tables as the performance of a table without a primary key is lower than that of a table with a primary key. | |
Database table naming rules | The database names and table names of the source sharding middleware cannot contain non-ASCII characters and the following characters: '<>/\ | |
SSL | SSL configuration | If you enable SSL, the SSL connections for both the source and destination databases are correctly configured. |
Network conditions | Network conditions | The IP address, port, username, and password of the destination database are correctly configured. |
The IP address, port, username, and password of the source database are correctly configured. |
DDM->GaussDB(DWS)
Category | Check Item | Check Item Details |
---|---|---|
Permissions | Source database permissions |
|
Destination database permissions | The destination database user must have the following permissions: INSERT, SELECT, UPDATE, DELETE, CONNECT, and CREATE. | |
Parameters | GTID status | Enable GTID for the source sharded database. If GTID is not enabled for the source sharded database, primary/standby switchover is not supported. DRS tasks will be interrupted and cannot be restored during a switchover. |
Performance parameters | The binlog_row_image parameter of the source sharded database must be set to FULL. Otherwise, the synchronization will fail. | |
Incremental synchronization | Binlog status | During the incremental synchronization, the binlog of the source sharded database must be enabled. |
Binlog format | The source sharded database binlog must be row-based. | |
server_id value | During an incremental synchronization, the server_id value of the source sharded database must be specified.
| |
Destination database | Storage space | The destination DB instance must have sufficient storage space. |
Consistency | Character set | The character set of the destination database must be the same as that of the source database. |
Case sensitive | The lower_case_table_names value of the destination database must be the same as that of the source database. | |
Maximum length of the calculation result of the group_concat function | The group_concat_max_len value of the destination database must be the same as that of the source database. | |
Data block encryption parameter | The block_encryption_mode value of the destination database must be the same as that of the source database. | |
Synchronization objects | Selected objects |
|
During database name mapping, if the objects to be synchronized contain stored procedures, views, and functions, these objects cannot be synchronized in the full synchronization phase, or it will result in inconsistent objects. | ||
Tables without primary keys | Create primary keys for tables as the performance of a table without a primary key is lower than that of a table with a primary key. | |
Database table naming rules | The database names and table names of the source sharding middleware cannot contain non-ASCII characters and the following characters: '<>/\ | |
SSL | SSL configuration | If you enable SSL, the SSL connections for both the source and destination databases are correctly configured. |
Network conditions | Network conditions | The IP address, port, username, and password of the destination database are correctly configured. |
The IP address, port, username, and password of the source database are correctly configured. |
DDM->DDM
Category | Check Item | Check Item Details |
---|---|---|
Permissions | Source database permissions |
|
Destination database permissions | The user must have the following permissions: CREATE, DROP, ALTER, INDEX, INSERT, DELETE, UPDATE, and SELECT. In addition, grant the SELECT permission on all tables. The DDM destination database user must have permissions on the database to be synchronized. | |
Parameters | GTID status | Enable GTID for the source sharded database. If GTID is not enabled for the source sharded database, primary/standby switchover is not supported. DRS tasks will be interrupted and cannot be restored during a switchover. |
Performance parameters | The binlog_row_image parameter of the source sharded database must be set to FULL. Otherwise, the synchronization will fail. | |
Incremental synchronization | Binlog status | During the incremental synchronization, the binlog of the source sharded database must be enabled. |
Binlog format | The source sharded database binlog must be row-based. | |
server_id value | During an incremental synchronization, the server_id value of the source sharded database must be specified.
| |
Destination database | Storage space | The destination DB instance must have sufficient storage space. |
Consistency | Character set | The character set of the destination database must be the same as that of the source database. |
Case sensitive | The lower_case_table_names value of the destination database must be the same as that of the source database. | |
Maximum length of the calculation result of the group_concat function | The group_concat_max_len value of the destination database must be the same as that of the source database. | |
Data block encryption parameter | The block_encryption_mode value of the destination database must be the same as that of the source database. | |
Synchronization objects | Selected objects |
|
During database name mapping, if the objects to be synchronized contain stored procedures, views, and functions, these objects cannot be synchronized in the full synchronization phase, or it will result in inconsistent objects. | ||
Tables without primary keys | Create primary keys for tables as the performance of a table without a primary key is lower than that of a table with a primary key. | |
Database table naming rules | The database names and table names of the source sharding middleware cannot contain non-ASCII characters and the following characters: '<>/\ | |
SSL | SSL configuration | If you enable SSL, the SSL connections for both the source and destination databases are correctly configured. |
Network conditions | Network conditions | The IP address, port, username, and password of the destination database are correctly configured. |
The IP address, port, username, and password of the source database are correctly configured. |
Microsoft SQL Server->GaussDB(DWS)
Category | Check Item | Check Item Details |
---|---|---|
Permissions | Source database permissions | Sysadmin or view server state and db_datareader or db_owner permissions for databases to be synchronized |
Destination database permissions |
| |
Versions | Source database versions |
|
Destination database versions | Versions 8.1.3 and 8.2.0 are supported. | |
Incremental synchronization | CDC enabling | Incremental synchronization of the source SQL Server database is based on the CDC capability provided by the SQL Server database. If CDC of the source SQL Server database is abnormal (for example, CDC is disabled or the transaction log is full), incremental synchronization will be affected. |
CDC data retention | If the CDC data is retained less than one day in the source database, incremental synchronization will be abnormal. Change the retention period to 1440 minutes (one day) or longer. The recommended value is 4320 minutes (three days). | |
Consistency | Computer names | The computer names of the source and destination databases must be different. |
Synchronization objects | Selected objects |
|
Database table naming rules |
| |
Tables without primary keys | Create primary keys for tables as the performance of a table without a primary key is lower than that of a table with a primary key. | |
Duplicate names | The destination database cannot contain objects with the same name as those in the source database (except SQL Server system databases). | |
Source database | The selected synchronization object must exist in the source database. | |
The source database cannot be empty. | ||
The recovery model of the source database must be set to FULL. | ||
SQL Server Agent must be enabled for the source database. | ||
If the source database contains disabled clustered indexes of tables, the synchronization fails. | ||
Network conditions | Network conditions | The IP address, port, username, and password of the destination database are correctly configured. |
The IP address, port, username, and password of the source database are correctly configured. |
Microsoft SQL Server -> GaussDB Primary/Standby
Category | Check Item | Check Item Details |
---|---|---|
Permissions | Source database permissions |
|
Destination database permissions |
| |
Versions | Source database versions |
|
Destination database versions | Version 1.1.0 or later | |
Incremental synchronization | CDC enabling | Incremental synchronization of the source SQL Server database is based on the CDC capability provided by the SQL Server database. If CDC of the source SQL Server database is abnormal (for example, CDC is disabled or the transaction log is full), incremental synchronization will be affected. |
CDC data retention | If the CDC data is retained less than one day in the source database, incremental synchronization will be abnormal. Change the retention period to 1440 minutes (one day) or longer. The recommended value is 4320 minutes (three days). | |
Consistency | Computer names | The computer names of the source and destination databases must be different. |
Synchronization objects | Selected objects |
|
Database table naming rules |
| |
Tables without primary keys | Create primary keys for tables as the performance of a table without a primary key is lower than that of a table with a primary key. | |
Duplicate names | The destination database cannot contain objects with the same name as those in the source database (except SQL Server system databases). | |
Source database | The selected synchronization object must exist in the source database. | |
The source database cannot be empty. | ||
The recovery model of the source database must be set to FULL. | ||
SQL Server Agent must be enabled for the source database. | ||
If the source database contains disabled clustered indexes of tables, the synchronization fails. | ||
Network conditions | Network conditions | The IP address, port, username, and password of the destination database are correctly configured. |
The IP address, port, username, and password of the source database are correctly configured. |
Microsoft SQL Server -> GaussDB Distributed
Category | Check Item | Check Item Details |
---|---|---|
Permissions | Source database permissions |
|
Destination database permissions |
| |
Versions | Source database versions |
|
Destination database versions | Version 1.1.0 or later | |
Incremental synchronization | CDC enabling | Incremental synchronization of the source SQL Server database is based on the CDC capability provided by the SQL Server database. If CDC of the source SQL Server database is abnormal (for example, CDC is disabled or the transaction log is full), incremental synchronization will be affected. |
CDC data retention | If the CDC data is retained less than one day in the source database, incremental synchronization will be abnormal. Change the retention period to 1440 minutes (one day) or longer. The recommended value is 4320 minutes (three days). | |
Consistency | Computer names | The computer names of the source and destination databases must be different. |
Synchronization objects | Selected objects |
|
Database table naming rules |
| |
Tables without primary keys | Create primary keys for tables as the performance of a table without a primary key is lower than that of a table with a primary key. | |
Duplicate names | The destination database cannot contain objects with the same name as those in the source database (except SQL Server system databases). | |
Source database | The selected synchronization object must exist in the source database. | |
The source database cannot be empty. | ||
The recovery model of the source database must be set to FULL. | ||
SQL Server Agent must be enabled for the source database. | ||
If the source database contains disabled clustered indexes of tables, the synchronization fails. | ||
Network conditions | Network conditions | The IP address, port, username, and password of the destination database are correctly configured. |
The IP address, port, username, and password of the source database are correctly configured. |
MongoDB->DDS
Category | Check Item | Check Item Details |
---|---|---|
Permissions | Source database permissions | Replica set: The source database user must have the readAnyDatabase permission for the admin database and the read permission for the local database. |
Destination database permissions | The destination database user must have the dbAdminAnyDatabase permission for the admin database and the readWrite permission for the destination database. | |
Versions | Source database versions |
|
Destination database versions | DDS (versions 3.4, 4.0, 4.2 and 4.4) | |
Synchronization version | The destination database version must be the same as or later than the source database version. | |
Destination database | Storage space | The destination DB instance must have sufficient storage space. |
Status | The destination DB instance is running properly. If the destination DB instance type is primary/standby, the replication status must also be normal. | |
Maximum number of chunks | Check whether the maximum number of chunks in the destination database is sufficient to support sharding and splitting of the source database. If the maximum number of chunks is reached, chunks are not split and the write performance is negatively affected. | |
Synchronization objects | Selected objects |
|
Object dependencies | If the roles referenced by accounts to be migrated are not migrated to the destination database, the migration may fail. | |
Associated objects | Associated objects must be synchronized at the same time to avoid synchronization failure due to missing associated objects. Common dependencies: collections referenced by views, and views referenced by views | |
Database table naming rules |
| |
Source database | The source database is properly connected during the synchronization object check in the pre-check phase. | |
If a Time-to-Live (TTL) index already exists in the collection of the source database or is created during an incremental synchronization, data consistency cannot be ensured when source and destination databases are in different time zones or clocks. | ||
The source database cannot be empty. | ||
Network conditions | Network conditions | The IP address, port, username, and password of the destination database are correctly configured. |
The IP address, port, username, and password of the source database are correctly configured. |
MariaDB->MariaDB
Category | Check Item | Check Item Details |
---|---|---|
Permissions | Source database permissions | SELECT, SHOW VIEW, EVENT, LOCK TABLES, RELOAD, REPLICATION SLAVE, REPLICATION CLIENT (or BINLOG MONIOTOR, changed to this permission in MariaDB 10.5 and later versions) |
Destination database permissions | The root account of RDS for MariaDB has the following permissions by default: SELECT, CREATE, DROP, DELETE, INSERT, UPDATE, ALTER, CREATE VIEW, CREATE ROUTINE, REFERENCES, and INDEX | |
Versions | Source database versions | Versions 10.3, 10.4, and 10.5 are supported. |
Destination database versions | Version 10.5 is supported. | |
Synchronization version | The destination database version must be the same as or later than the source database version. | |
Parameters | Performance parameters | The log_slave_updates parameter of the source database must be enabled. Otherwise, the synchronization will fail. |
The binlog_row_image parameter of the source database must be set to FULL. Otherwise, the synchronization will fail. | ||
Maximum size of a packet that can be transmitted | During synchronization, a large amount of data is written to the destination database. If the value of the max_allowed_packet parameter of the destination database is too small, data cannot be written. You are advised to set the max_allowed_packet parameter to a value greater than 100 MB. | |
sql_mode value | If the MyISAM tables are included in the synchronization objects, the sql_mode parameter in the destination database cannot contain the no_engine_substitution parameter. Otherwise, the synchronization fails. | |
Incremental synchronization | Binlog status | During the incremental synchronization, the binlog of the source database must be enabled. |
Binlog format | The source database binlog must be row-based. | |
Binlog retention period | If the storage space is sufficient, store the source database binlog files as long as possible. The recommended retention period is three days. If you set the period to 0, the synchronization may fail. | |
server_id value | During an incremental synchronization, the server_id parameter of the source MariaDB database must be set to a value ranging from 1 to 4294967296. | |
Table fields | If there is a table containing fields of the longtext or longblob type in the synchronization object, you are advised to create a DRS task with large specifications. Otherwise, capture OOM may occur. | |
Index column length | The index column length of the source database must meet requirements. | |
Destination database | Storage space | The destination DB instance must have sufficient storage space. |
Status | The destination DB instance is running properly. If the destination DB instance type is primary/standby, the replication status must also be normal. | |
Consistency | Character set | The character set of the destination database must be the same as that of the source database. |
Collation | The collation_server value of the destination database must be the same as that of the source database. | |
Case sensitive | The lower_case_table_names value of the destination database must be the same as that of the source database. | |
Maximum length of the calculation result of the group_concat function | The group_concat_max_len value of the destination database must be the same as that of the source database. | |
InnoDB check mode | The innodb_strict_mode value of the destination database must be the same as that of the source database. | |
SQL mode | The sql_mode value of the destination database must be the same as that of the source database. | |
Synchronization objects | Selected objects |
|
| ||
Tables without primary keys | Create primary keys for tables as the performance of a table without a primary key is lower than that of a table with a primary key. | |
Associated objects | Objects that have dependencies must be synchronized at the same time to avoid synchronization failure. Common dependencies: tables referenced by views, views referenced by views, views and tables referenced by stored procedures/functions/triggers, and tables referenced by primary and foreign keys | |
Encrypted table check | Whether the source database contains encrypted tables. | |
Duplicate names | If the destination database (excluding the system database) has the same name as the source database, the table structures in the destination database must be consistent with those in the source database. | |
Database table naming rules |
| |
Source database | The source database is properly connected during the synchronization object check in the pre-check phase. | |
SSL | SSL configuration | If you enable SSL, the SSL connections for both the source and destination databases are correctly configured. |
Network conditions | Network conditions | The IP address, port, username, and password of the destination database are correctly configured. |
The IP address, port, username, and password of the source database are correctly configured. |
GaussDB(for MySQL)->GaussDB(for MySQL)
Category | Check Item | Check Item Details |
---|---|---|
Permissions | Source database permissions | SELECT, SHOW VIEW, EVENT, LOCK TABLES, REPLICATION SLAVE, and REPLICATION CLIENT |
Destination database permissions | The root account of GaussDB(for MySQL) has the following permissions by default: SELECT, CREATE, DROP, DELETE, INSERT, UPDATE, ALTER, CREATE VIEW, CREATE ROUTINE, and REFERENCES If the destination database version is in the range 8.0.14 to 8.0.18, the SESSION_VARIABLES_ADMIN permission is required. | |
Versions | Source database versions | Version 8.0 is supported. |
Destination database versions | Version 8.0 is supported. | |
Synchronization version | The destination database version must be the same as or later than the source database version. | |
Parameters | GTID status | Enable GTID for the source database. If GTID is not enabled for the source database, primary/standby switchover is not supported. DRS tasks will be interrupted and cannot be restored during a switchover. |
Performance parameters | The log_slave_updates parameter of the source database must be enabled. Otherwise, the synchronization will fail. | |
The binlog_row_image parameter of the source database must be set to FULL. Otherwise, the synchronization will fail. | ||
Maximum size of a packet that can be transmitted | During synchronization, a large amount of data is written to the destination database. If the value of the max_allowed_packet parameter of the destination database is too small, data cannot be written. You are advised to set the max_allowed_packet parameter to a value greater than 100 MB. | |
If there is a lot of data to be synchronized or there are too many fields to be synchronized, and the max_allowed_packet value of the source database is too small, the synchronization task may fail. | ||
sql_mode value | If the MyISAM tables are included in the synchronization objects, the sql_mode parameter in the destination database cannot contain the no_engine_substitution parameter. Otherwise, the synchronization fails. | |
Incremental synchronization | Binlog status | During the incremental synchronization, the binlog of the source database must be enabled. |
Binlog format | The source database binlog must be row-based. | |
Binlog retention period | If the storage space is sufficient, store the source database binlog files as long as possible. The recommended retention period is three days. If you set the period to 0, the synchronization may fail. | |
server_id value | During an incremental synchronization, the server_id parameter of the source database must be set to a value ranging from 1 to 4294967296. | |
Table fields | If there is a table containing fields of the longtext or longblob type in the synchronization object, you are advised to create a DRS task with large specifications. Otherwise, capture OOM may occur. | |
Index column length | The index column length of the source database must meet requirements. | |
Destination database | Status | The destination DB instance is running properly. If the destination DB instance type is primary/standby, the replication status must also be normal. |
Consistency | Character set | The character set of the destination database must be the same as that of the source database. |
Collation | The collation_server value of the destination database must be the same as that of the source database. | |
Clock | The clock of the destination database must be the same as that of the source database. | |
Time zone | The time_zone value of the destination database must be the same as that of the source database. | |
Case sensitive | The lower_case_table_names value of the destination database must be the same as that of the source database. | |
Maximum length of the calculation result of the group_concat function | The group_concat_max_len value of the destination database must be the same as that of the source database. | |
InnoDB check mode | The innodb_strict_mode value of the destination database must be the same as that of the source database. | |
SQL mode | The sql_mode value of the destination database must be the same as that of the source database. | |
Data block encryption parameter | The block_encryption_mode value of the destination database must be the same as that of the source database. | |
Synchronization objects | Selected objects |
|
| ||
Tables without primary keys | Create primary keys for tables as the performance of a table without a primary key is lower than that of a table with a primary key. | |
Associated objects | Objects that have dependencies must be synchronized at the same time to avoid synchronization failure. Common dependencies: tables referenced by views, views referenced by views, views and tables referenced by stored procedures/functions/triggers, and tables referenced by primary and foreign keys | |
Foreign key reference operations | Cascade operations cannot be performed on tables with foreign keys. If the foreign key index of a table is a common index, the table structure may fail to be created. You are advised to use a unique index. | |
Encrypted table check | Whether the source database contains encrypted tables. | |
Duplicate names | If the destination database (excluding the system database) has the same name as the source database, the table structures in the destination database must be consistent with those in the source database. | |
Database table naming rules |
| |
Source database | The source database is properly connected during the synchronization object check in the pre-check phase. | |
SSL | SSL configuration | If you enable SSL, the SSL connections for both the source and destination databases are correctly configured. |
Network conditions | Network conditions | The IP address, port, username, and password of the destination database are correctly configured. |
The IP address, port, username, and password of the source database are correctly configured. |
- Overview
- MySQL->MySQL
- MySQL->PostgreSQL
- MySQL -> GaussDB Primary/Standby
- MySQL->GaussDB(DWS)
- MySQL->GaussDB(for MySQL)
- MySQL->MariaDB
- PostgreSQL->PostgreSQL
- PostgreSQL->GaussDB(DWS)
- PostgreSQL -> GaussDB Primary/Standby
- PostgreSQL -> GaussDB Distributed
- Oracle->MySQL
- Oracle->GaussDB(for MySQL)
- Oracle -> GaussDB Primary/Standby
- Oracle -> GaussDB Distributed
- Oracle->DDM
- Oracle->PostgreSQL
- DDM->MySQL
- DDM->GaussDB(DWS)
- DDM->DDM
- Microsoft SQL Server->GaussDB(DWS)
- Microsoft SQL Server -> GaussDB Primary/Standby
- Microsoft SQL Server -> GaussDB Distributed
- MongoDB->DDS
- MariaDB->MariaDB
- GaussDB(for MySQL)->GaussDB(for MySQL)