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 items 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.
- 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.
- The following lists the pre-check items for synchronization tasks with MariaDB serving as the source.
- The following lists the pre-check items for synchronization tasks with GaussDB serving as the source.
GaussDB Centralized -> GaussDB Centralized
GaussDB Centralized -> GaussDB Distributed
GaussDB Distributed -> GaussDB Centralized
GaussDB Distributed -> GaussDB Distributed
GaussDB Centralized -> PostgreSQL
GaussDB Distributed -> PostgreSQL
MySQL->MySQL
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, 11, 12, 13, 14, 15, and 16 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 Centralized
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->TaurusDB
PostgreSQL->PostgreSQL
Oracle->MySQL
Oracle->TaurusDB
Oracle -> GaussDB Centralized
Oracle -> GaussDB Distributed
Oracle->DDM
Oracle->PostgreSQL
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. |
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. |
TaurusDB->TaurusDB
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 TaurusDB 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. |
GaussDB Centralized -> GaussDB Centralized
GaussDB Centralized -> GaussDB Distributed
GaussDB Distributed -> GaussDB Centralized
GaussDB Distributed -> GaussDB Distributed
GaussDB Centralized -> Kafka
GaussDB Distributed -> Kafka
GaussDB Centralized -> MySQL
GaussDB Distributed -> MySQL
GaussDB Centralized -> Oracle
GaussDB Distributed -> Oracle
GaussDB Centralized -> PostgreSQL
GaussDB Distributed -> PostgreSQL
GaussDB Centralized - > GaussDB(DWS)
GaussDB Distributed -> GaussDB(DWS)
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot