DRS预检查项一览表
DRS同步过程一般包含四个阶段:任务启动阶段、全量阶段、增量阶段、结束任务阶段(单全量任务则包含三个阶段)。为了确保同步各个阶段的平顺,DRS在任务正式启动前,会对任务源数据库、目标数据库中的参数、对象等信息进行自动化的扫描和检测,帮助您提高数据同步的成功率。
概览
根据同步任务的源数据库类型,查看预检查信息:
- 源数据库为MySQL的同步链路预检查一览表:
- 源数据库为PostgreSQL的同步链路预检查一览表:
- 源数据库为Oracle的同步链路预检查一览表:
- 源数据库为DDM的同步链路预检查一览表:
- 源数据库为DB2 for LUW的同步链路预检查一览表:
- 源数据库为TiDB的同步链路预检查一览表:
- 源数据库为Microsoft SQL Server的同步链路预检查一览表:
- 源数据库为MongoDB的同步链路预检查一览表:
- 源数据库为MariaDB的同步链路预检查一览表:
- 源数据库为TaurusDB的同步链路预检查一览表:
- 源库为GaussDB的同步链路预检查一览表
- 预检查错误码明细表
MySQL->MySQL
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
详见MySQL权限授权方法。 |
|
目标数据库权限 |
详见MySQL权限授权方法。 |
||
版本类 |
源数据库版本 |
支持5.5、5.6、5.7、8.0版本。 |
详见支持的数据库。 |
目标数据库版本 |
支持5.5、5.6、5.7、8.0版本。 |
详见支持的数据库。 |
|
同步版本检查 |
仅支持目标数据库版本等于或高于源数据库版本。 |
||
参数类 |
GTID状态 |
源数据库GTID状态建议为开启状态,源数据库实例没有开启GTID的情况下不支持主备倒换,DRS任务会因为位点不续接而中断导致无法恢复。 |
详见源库的GTID功能检查。 |
性能参数 |
源数据库log_slave_updates参数需设置为开启状态,否则会导致同步失败。 |
||
源数据库的binlog_row_image参数需设置为full,否则会导致同步失败。 |
|||
最大允许传输包的大小 |
DRS在同步数据量大或同步大字段情况下,源数据库max_allowed_packet参数过小可能会导致任务失败。 |
||
DRS在同步数据量大或同步大字段情况下,目标数据库的max_allowed_packet参数值过小导致目标库数据无法写入造成全量同步失败。 |
|||
sql_mode取值检查 |
同步的对象中包含引擎为MyISAM的表,则目标数据库sql_mode不能包含no_engine_substitution参数,否则可能会导致同步失败。 |
||
增量同步类 |
索引列长度检查 |
源数据库索引列长度必须符合要求。 |
详见源数据库索引列长度检查。 |
Binlog开启 |
增量同步时,源数据库的Binlog日志必须打开。 |
||
Binlog格式 |
源数据库的Binlog格式必须为行格式。 |
||
Binlog保留时长 |
在磁盘空间允许的情况下,建议源数据库Binlog保存时间越长越好,建议为3天,设置为0,可能会导致同步失败。
|
||
server_id值设置 |
增量同步时,必须设置MySQL源数据库的server_id。
|
||
表字段检查 |
同步对象中如果存在包含longtext、longblob类型字段的表,建议创建大规格及以上规格的DRS任务进行同步,否则可能会导致capture OOM。 |
- |
|
附加列检查 |
单增量同步任务中如果目标数据库不存在新增附加列,会导致任务失败。 |
详见目标数据库附加列检查。 |
|
目标数据库检查 |
磁盘空间检查 |
目标数据库实例必须有足够的磁盘空间。 |
|
状态检查 |
目标数据库实例实例状态必须正常。 |
- |
|
一致性检查 |
字符集 |
目标库和源库的字符集需要一致。 |
|
字符序 |
目标库和源库的collation_server需要一致。 |
||
时钟 |
目标库和源库的时钟需要一致。 |
- |
|
时区 |
目标库和源库的time_zone需要一致。 |
||
大小写敏感 |
目标库和源库的lower_case_table_names参数设置需要一致。 |
||
group_concat函数计算结果字符的最大长度 |
目标库和源库的group_concat_max_len参数需要一致。 |
||
InnoDB检查模式 |
目标库和源库innodb_strict_mode需要一致。 |
||
数据块加密参数 |
目标库和源库block_encryption_mode需要一致。 |
- |
|
SQL模式 |
目标库和源库sql_mode需要一致。 |
||
同步对象类 |
选择对象检查 |
|
- |
库名映射时,同步的对象中如果存在存储过程、视图、函数对象,全量阶段这些对象不会同步,会导致对象对比不一致。 |
详见映射数据库对象检查。 |
||
无主键表检查 |
由于无主键表的性能低于主键表的性能,建议将无主键表修改为主键表。 |
详见源库无主键表检查。 |
|
关联对象检查 |
相互关联的数据对象要确保同时同步,避免因关联对象缺失,导致同步失败。常见的关联关系:视图引用表、视图引用视图、存储过程/函数/触发器引用视图/表、主外键关联表等。 |
||
外键引用操作检查 |
不支持外键级联操作。当外键是普通索引的时候,可能会导致表结构创建失败,建议改成唯一索引。 |
||
同名检查 |
除了MySQL系统数据库之外,当目标库和源库同名时,目标数据库中若存在与源库同名的表,则表结构必须与源库保持一致。 |
||
库表名规范检查 |
|
- |
|
SSL连接检查 |
SSL安全连接检查 |
选择SSL安全连接时,源数据库和目标数据库的SSL安全连接成功。 |
详见SSL安全连接检查。 |
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
MySQL->PostgreSQL
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
详见MySQL权限授权方法。 |
|
目标数据库权限 |
RDS for PostgreSQL实例的账号默认已具有权限。 |
- |
|
版本类 |
源数据库版本 |
支持5.5、5.6、5.7、8.0版本。 |
详见支持的数据库。 |
目标数据库版本 |
支持9.5、9.6、10、11、12、13、14、15、16版本。 |
详见支持的数据库。 |
|
参数类 |
GTID状态 |
源数据库GTID状态建议为开启状态,源数据库实例没有开启GTID的情况下不支持主备倒换,DRS任务会因为位点不续接而中断导致无法恢复。 |
详见源库的GTID功能检查。 |
性能参数 |
源数据库的binlog_row_image参数需设置为full,否则会导致同步失败。 |
||
最大允许传输包的大小 |
DRS在同步数据量大或同步大字段情况下,源数据库max_allowed_packet参数过小可能会导致任务失败。 |
||
增量同步类 |
Binlog开启 |
增量同步时,源数据库的Binlog日志必须打开。 |
|
Binlog格式 |
源数据库的Binlog格式必须为行格式。 |
||
server_id值设置 |
增量同步时,必须设置MySQL源数据库的server_id。
|
||
表字段检查 |
|
- |
|
目标数据库检查 |
磁盘空间检查 |
目标数据库实例必须有足够的磁盘空间。 |
|
状态检查 |
目标数据库实例实例状态必须正常。 |
- |
|
一致性检查 |
字符集 |
目标库和源库的字符集需要一致。 |
|
时区 |
目标库和源库的time_zone需要一致。 |
||
表结构检查 |
目标库和源库的表结构需要一致。 |
详见表结构一致性检查。 |
|
同步对象类 |
选择对象检查 |
|
- |
无主键表检查 |
由于无主键表的性能低于主键表的性能,建议将无主键表修改为主键表。 |
详见源库无主键表检查。 |
|
有主键表正确性检查 |
不建议在数据库中使用非精确数值类型做主键,该特性影响 DRS 增量场景下对 UPDATE、DELETE语句的同步,导致任务失败。 |
- |
|
外键引用操作检查 |
不支持外键级联操作。当外键是普通索引的时候,可能会导致表结构创建失败,建议改成唯一索引。 |
||
同名检查 |
除了MySQL系统数据库之外,目标数据库不能包含与源数据库同名的数据库。 |
||
库表名规范检查 |
源数据库中的库名和表名不能包含:'<`>/\"以及非ASCII字符。 |
- |
|
对象名长度检查 |
目标数据库对象名最大支持63个字符。 |
详见源数据库对象名长度检查。 |
|
源数据库检查 |
预检查阶段进行同步对象检查时,源数据库连接正常。 |
详见源库选择对象预检查。 |
|
SSL连接检查 |
SSL安全连接检查 |
选择SSL安全连接时,源数据库和目标数据库的SSL安全连接成功。 |
详见SSL安全连接检查。 |
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
MySQL->GaussDB集中式版
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
SELECT、LOCK TABLES、REPLICATION SLAVE、REPLICATION CLIENT。 |
详见MySQL权限授权方法。 |
目标数据库权限 |
|
- |
|
版本类 |
源数据库版本 |
支持5.5、5.6、5.7、8.0版本。 |
详见支持的数据库。 |
目标数据库版本 |
支持1.0.0及以上版本。 |
详见支持的数据库。 |
|
参数类 |
GTID状态 |
源数据库GTID状态建议为开启状态,源数据库实例没有开启GTID的情况下不支持主备倒换,DRS任务会因为位点不续接而中断导致无法恢复。 |
详见源库的GTID功能检查。 |
性能参数 |
源数据库的binlog_row_image参数需设置为full,否则会导致同步失败。 |
||
最大允许传输包的大小 |
DRS在同步数据量大或同步大字段情况下,源数据库max_allowed_packet参数过小可能会导致任务失败。 |
||
增量同步类 |
Binlog开启 |
增量同步时,源数据库的Binlog日志必须打开。 |
|
Binlog格式 |
源数据库的Binlog格式必须为行格式。 |
||
Binlog保留时长 |
在磁盘空间允许的情况下,建议源数据库Binlog保存时间越长越好,建议为3天,设置为0,可能会导致同步失败。
|
||
server_id值设置 |
增量同步时,必须设置MySQL源数据库的server_id。
|
||
表字段检查 |
不支持的数据类型有:xml、包含bit类型的json、geometry、point、lineString、polygon、geometrycollection、multipoint、multilinestring、multipolygon。 |
详见源数据库字段类型检查。 |
|
数据库兼容类型检查 |
目标数据库创建时指定兼容模式,并与源数据库保持兼容。 |
详见数据库兼容类型检查。 |
|
目标数据库检查 |
磁盘空间检查 |
目标数据库实例必须有足够的磁盘空间。 |
|
状态检查 |
目标数据库实例的状态必须正常。 |
- |
|
一致性检查 |
字符集 |
目标库和源库的字符集需要一致。 |
|
时区 |
目标库和源库的time_zone需要一致。 |
||
表结构检查 |
目标库和源库的表结构需要一致。 |
详见表结构一致性检查。 |
|
同步对象类 |
选择对象检查 |
|
- |
外键引用操作检查 |
不支持外键级联操作。当外键是普通索引的时候,可能会导致表结构创建失败,建议改成唯一索引。 |
||
同名检查 |
除了MySQL系统数据库之外,目标数据库不能包含与源数据库同名的数据库。 |
||
库表名规范检查 |
|
- |
|
对象名长度检查 |
目标数据库对象名最大支持63个字符。 |
详见源数据库对象名长度检查。 |
|
源数据库检查 |
选择的同步对象在源数据库中必须存在。 |
详见源库选择对象预检查。 |
|
目标数据库检查 |
任务配置的映射数据库必须在目标库已经存在。 |
- |
|
SSL连接检查 |
SSL安全连接检查 |
选择SSL安全连接时,源数据库和目标数据库的SSL安全连接成功。 |
详见SSL安全连接检查。 |
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
MySQL->GaussDB(DWS)
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
SELECT、LOCK TABLES、REPLICATION SLAVE、REPLICATION CLIENT。 |
详见MySQL权限授权方法。 |
目标数据库权限 |
目标数据库账号必须具有每张表的如下权限:INSERT、SELECT、UPDATE、DELETE、CONNECT、CREATE。 |
- |
|
版本类 |
源数据库版本 |
支持5.5、5.6、5.7、8.0版本。 |
详见支持的数据库。 |
目标数据库版本 |
支持8.1.3、8.2.0版本。 |
详见支持的数据库。 |
|
参数类 |
GTID状态 |
源数据库GTID状态建议为开启状态,源数据库实例没有开启GTID的情况下不支持主备倒换,DRS任务会因为位点不续接而中断导致无法恢复。 |
详见源库的GTID功能检查。 |
性能参数 |
源数据库的binlog_row_image参数需设置为full,否则会导致同步失败。 |
||
最大允许传输包的大小 |
DRS在同步数据量大或同步大字段情况下,源数据库max_allowed_packet参数过小可能会导致任务失败。 |
||
增量同步类 |
Binlog开启 |
增量同步时,源数据库的Binlog日志必须打开。 |
|
Binlog格式 |
源数据库的Binlog格式必须为行格式。 |
||
Binlog保留时长 |
在磁盘空间允许的情况下,建议源数据库Binlog保存时间越长越好,建议为3天,设置为0,可能会导致同步失败。
|
||
server_id值设置 |
增量同步时,必须设置MySQL源数据库的server_id。
|
||
表字段检查 |
不支持的数据类型有:xml、包含bit类型的json、geometry、point、lineString、polygon、geometrycollection、multipoint、multilinestring、multipolygon。 |
详见源数据库字段类型检查。 |
|
同步对象中如果存在包含longtext、longblob类型字段的表,建议创建大规格及以上规格的DRS任务进行同步,否则可能会导致capture OOM。 |
- |
||
数据库兼容类型检查 |
目标数据库创建时指定兼容模式,并与源数据库保持兼容。 |
详见数据库兼容类型检查。 |
|
目标数据库检查 |
磁盘空间检查 |
目标数据库实例必须有足够的磁盘空间。 |
|
状态检查 |
目标数据库实例的状态必须正常。 |
- |
|
一致性检查 |
字符集 |
目标库和源库的字符集需要一致。 |
|
时区 |
目标库和源库的time_zone需要一致。 |
||
表结构检查 |
目标库和源库的表结构需要一致。 |
详见表结构一致性检查。 |
|
同步对象类 |
选择对象检查 |
|
- |
外键引用操作检查 |
不支持外键级联操作。当外键是普通索引的时候,可能会导致表结构创建失败,建议改成唯一索引。 |
||
同名检查 |
除了MySQL系统数据库之外,目标数据库不能包含与源数据库同名的数据库。 |
||
库表名规范检查 |
|
- |
|
对象名长度检查 |
目标数据库对象名最大支持63个字符。 |
详见源数据库对象名长度检查。 |
|
源数据库检查 |
选择的同步对象在源数据库中必须存在。 |
详见源库选择对象预检查。 |
|
SSL连接检查 |
SSL安全连接检查 |
选择SSL安全连接时,源数据库和目标数据库的SSL安全连接成功。 |
详见SSL安全连接检查。 |
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
MySQL->TaurusDB
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
需要具备如下权限: SELECT、SHOW VIEW、EVENT、LOCK TABLES、REPLICATION SLAVE、REPLICATION CLIENT。 |
详见MySQL权限授权方法。 |
目标数据库权限 |
- |
||
版本类 |
源数据库版本 |
支持5.5、5.6、5.7、8.0版本。 |
详见支持的数据库。 |
目标数据库版本 |
支持8.0版本。 |
详见支持的数据库。 |
|
同步版本检查 |
仅支持目标数据库版本等于或高于源数据库版本。 |
||
参数类 |
GTID状态 |
源数据库GTID状态建议为开启状态,源数据库实例没有开启GTID的情况下不支持主备倒换,DRS任务会因为位点不续接而中断导致无法恢复。 |
详见源库的GTID功能检查。 |
性能参数 |
源数据库log_slave_updates参数需设置为开启状态,否则会导致同步失败。 |
||
源数据库的binlog_row_image参数需设置为full,否则会导致同步失败。 |
|||
最大允许传输包的大小 |
DRS在同步数据量大或同步大字段情况下,源数据库max_allowed_packet参数过小可能会导致任务失败。 |
||
DRS在同步数据量大或同步大字段情况下,目标数据库的max_allowed_packet参数值过小导致目标库数据无法写入造成全量同步失败。 |
|||
sql_mode取值检查 |
同步的对象中包含引擎为MyISAM的表,则目标数据库sql_mode不能包含no_engine_substitution参数,否则可能会导致同步失败。 |
||
增量同步类 |
索引列长度检查 |
源数据库索引列长度必须符合要求。 |
详见源数据库索引列长度检查。 |
Binlog开启 |
增量同步时,源数据库的Binlog日志必须打开。 |
||
Binlog格式 |
源数据库的Binlog格式必须为行格式。 |
||
Binlog保留时长 |
在磁盘空间允许的情况下,建议源数据库Binlog保存时间越长越好,建议为3天,设置为0,可能会导致同步失败。
|
||
server_id值设置 |
增量同步时,必须设置MySQL源数据库的server_id。
|
||
表字段检查 |
同步对象中如果存在包含longtext、longblob类型字段的表,建议创建大规格及以上规格的DRS任务进行同步,否则可能会导致capture OOM。 |
- |
|
附加列检查 |
对目标库中缺少附加列的库表添加对应列。 |
详见目标数据库附加列检查。 |
|
目标数据库检查 |
状态检查 |
目标数据库实例的状态必须正常。 |
- |
一致性检查 |
字符集 |
目标库和源库的字符集需要一致。 |
|
字符序 |
目标库和源库的collation_server需要一致。 |
||
时钟 |
目标库和源库的时钟需要一致。 |
- |
|
时区 |
目标库和源库的time_zone需要一致。 |
||
大小写敏感 |
目标库和源库的lower_case_table_names参数设置需要一致。 |
||
group_concat函数计算结果字符的最大长度 |
目标库和源库的group_concat_max_len参数需要一致。 |
||
InnoDB检查模式 |
目标库和源库innodb_strict_mode需要一致。 |
||
数据块加密参数 |
目标库和源库block_encryption_mode需要一致。 |
- |
|
SQL模式 |
目标库和源库sql_mode需要一致。 |
||
同步对象类 |
选择对象检查 |
|
- |
库名映射时,同步的对象中如果存在存储过程、视图、函数对象,全量阶段这些对象不会同步,会导致对象对比不一致。 |
详见映射数据库对象检查。 |
||
无主键表检查 |
由于无主键表的性能低于主键表的性能,建议将无主键表修改为主键表。 |
详见源库无主键表检查。 |
|
关联对象检查 |
相互关联的数据对象要确保同时同步,避免因关联对象缺失,导致同步失败。常见的关联关系:视图引用表、视图引用视图、存储过程/函数/触发器引用视图/表、主外键关联表等。 |
||
外键引用操作检查 |
不支持外键级联操作。当外键是普通索引的时候,可能会导致表结构创建失败,建议改成唯一索引。 |
||
同名检查 |
除了MySQL系统数据库之外,当目标库和源库同名时,目标数据库中如果存在与源库同名的表,则表结构必须与源库保持一致。 |
||
库表名规范检查 |
|
- |
|
SSL连接检查 |
SSL安全连接检查 |
选择SSL安全连接时,源数据库和目标数据库的SSL安全连接成功。 |
详见SSL安全连接检查。 |
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
MySQL->MariaDB
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
详见MySQL权限授权方法。 |
|
目标数据库权限 |
- |
||
版本类 |
源数据库版本 |
支持5.5、5.6、5.7、8.0版本。 |
详见支持的数据库。 |
目标数据库版本 |
支持10.5版本。 |
详见支持的数据库。 |
|
参数类 |
GTID状态 |
源数据库GTID状态建议为开启状态,源数据库实例没有开启GTID的情况下不支持主备倒换,DRS任务会因为位点不续接而中断导致无法恢复。 |
详见源库的GTID功能检查。 |
性能参数 |
源数据库log_slave_updates参数需设置为开启状态,否则会导致同步失败。 |
||
源数据库的binlog_row_image参数需设置为full,否则会导致同步失败。 |
|||
sql_mode取值检查 |
同步的对象中包含引擎为MyISAM的表,则目标数据库sql_mode不能包含no_engine_substitution参数,否则可能会导致同步失败。 |
||
增量同步类 |
索引列长度检查 |
源数据库索引列长度必须符合要求。 |
详见源数据库索引列长度检查。 |
Binlog开启 |
增量同步时,源数据库的Binlog日志必须打开。 |
||
Binlog格式 |
源数据库的Binlog格式必须为行格式。 |
||
Binlog保留时长 |
在磁盘空间允许的情况下,建议源数据库Binlog保存时间越长越好,建议为3天,设置为0,可能会导致同步失败。
|
||
server_id值设置 |
增量同步时,必须设置MySQL源数据库的server_id。
|
||
表字段检查 |
同步对象中如果存在包含longtext、longblob类型字段的表,建议创建大规格及以上规格的DRS任务进行同步,否则可能会导致capture OOM。 |
- |
|
附加列检查 |
单增量同步任务中如果目标数据库不存在新增附加列,会导致任务失败。 |
详见目标数据库附加列检查。 |
|
目标数据库检查 |
磁盘空间检查 |
目标数据库实例必须有足够的磁盘空间。 |
|
状态检查 |
目标数据库实例实例状态必须正常。 |
- |
|
一致性检查 |
字符集 |
目标库和源库的字符集需要一致。 |
|
字符序 |
目标库和源库的collation_server需要一致。 |
||
时钟 |
目标库和源库的时钟需要一致。 |
- |
|
大小写敏感 |
目标库和源库的lower_case_table_names参数设置需要一致。 |
||
group_concat函数计算结果字符的最大长度 |
目标库和源库的group_concat_max_len参数需要一致。 |
||
InnoDB检查模式 |
目标库和源库innodb_strict_mode需要一致。 |
||
SQL模式 |
目标库和源库sql_mode需要一致。 |
||
同步对象类 |
选择对象检查 |
|
- |
库名映射时,同步的对象中如果存在存储过程、视图、函数对象,全量阶段这些对象不会同步,会导致对象对比不一致。 |
详见映射数据库对象检查。 |
||
无主键表检查 |
由于无主键表的性能低于主键表的性能,建议将无主键表修改为主键表。 |
详见源库无主键表检查。 |
|
关联对象检查 |
相互关联的数据对象要确保同时同步,避免因关联对象缺失,导致同步失败。常见的关联关系:视图引用表、视图引用视图、存储过程/函数/触发器引用视图/表、主外键关联表等。 |
||
外键引用操作检查 |
不支持外键级联操作。当外键是普通索引的时候,可能会导致表结构创建失败,建议改成唯一索引。 |
||
同名检查 |
除了MySQL系统数据库之外,当目标库和源库同名时,目标数据库中若存在与源库同名的表,则表结构必须与源库保持一致。 |
||
库表名规范检查 |
|
- |
|
SSL连接检查 |
SSL安全连接检查 |
选择SSL安全连接时,源数据库和目标数据库的SSL安全连接成功。 |
详见SSL安全连接检查。 |
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
MySQL->GaussDB分布式版
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
|
详见MySQL权限授权方法。 |
目标数据库权限 |
|
- |
|
版本类 |
源数据库版本 |
支持5.5、5.6、5.7、8.0版本。 |
详见支持的数据库。 |
目标数据库版本 |
支持1.0.0及以上版本。 |
详见支持的数据库。 |
|
参数类 |
GTID状态 |
源数据库GTID状态建议为开启状态,源数据库实例没有开启GTID的情况下不支持主备倒换,DRS任务会因为位点不续接而中断导致无法恢复。 |
详见源库的GTID功能检查。 |
性能参数 |
源数据库的binlog_row_image参数需设置为full,否则会导致同步失败。 |
||
最大允许传输包的大小 |
DRS在同步数据量大或同步大字段情况下,源数据库max_allowed_packet参数过小可能会导致任务失败。 |
||
增量同步类 |
Binlog开启 |
增量同步时,源数据库的Binlog日志必须打开。 |
|
Binlog格式 |
源数据库的Binlog格式必须为行格式。 |
||
Binlog保留时长 |
在磁盘空间允许的情况下,建议源数据库Binlog保存时间越长越好,建议为3天,设置为0,可能会导致同步失败。
|
||
server_id值设置 |
增量同步时,必须设置MySQL源数据库的server_id。
|
||
表字段检查 |
不支持的数据类型有:xml、包含bit类型的json、geometry、point、lineString、polygon、geometrycollection、multipoint、multilinestring、multipolygon、interval。 |
详见源数据库字段类型检查。 |
|
数据库兼容类型检查 |
目标数据库创建时指定兼容模式,并与源数据库保持兼容。 |
详见数据库兼容类型检查。 |
|
目标数据库检查 |
磁盘空间检查 |
目标数据库实例必须有足够的磁盘空间。 |
|
状态检查 |
目标数据库实例的状态必须正常。 |
- |
|
一致性检查 |
字符集 |
目标库和源库的字符集需要一致。 |
|
时区 |
目标库和源库的time_zone需要一致。 |
||
表结构检查 |
目标库和源库的表结构需要一致。 |
详见表结构一致性检查。 |
|
同步对象类 |
选择对象检查 |
|
- |
外键引用操作检查 |
不支持外键级联操作。当外键是普通索引的时候,可能会导致表结构创建失败,建议改成唯一索引。 |
||
同名检查 |
除了MySQL系统数据库之外,目标数据库不能包含与源数据库同名的数据库。 |
||
库表名规范检查 |
|
- |
|
对象名长度检查 |
目标数据库对象名最大支持63个字符。 |
详见源数据库对象名长度检查。 |
|
源数据库检查 |
选择的同步对象在源数据库中必须存在。 |
详见源库选择对象预检查。 |
|
目标数据库检查 |
任务配置的映射数据库必须在目标库已经存在。 |
- |
|
SSL连接检查 |
SSL安全连接检查 |
选择SSL安全连接时,源数据库和目标数据库的SSL安全连接成功。 |
详见SSL安全连接检查。 |
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
PostgreSQL->PostgreSQL
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
- |
|
目标数据库权限 |
|
- |
|
版本类 |
源数据库版本 |
支持9.4、9.5、9.6、10、11、12、13、14、15、16版本。 |
详见支持的数据库。 |
目标数据库版本 |
支持9.5、9.6、10、11、12、13、14、15、16版本。 |
详见支持的数据库。 |
|
同步版本检查 |
仅支持目标数据库版本等于或高于源数据库版本。 |
||
参数类 |
性能参数 |
目标数据库的BLOCK_SIZE参数值必须大于或等于源数据库的BLOCK_SIZE参数值。 |
|
源数据库和目标数据库的参数PASSWORD_ENCRYPTION需要一致。 |
- |
||
源数据库max_replication_slots参数值必须大于当前已使用的复制槽数量。 |
|||
源数据库的max_wal_senders参数值必须等于或大于max_replication_slots参数值。 |
|||
源数据库中无主键表的replica identity属性必须为full。 |
- |
||
源数据库中表的主键列toast属性为main、external、extended时,其replica identity属性必须为full。 |
详见主键列复制属性的校验。 |
||
源数据库的wal_level必须配置为logical。 |
|||
增量同步类 |
表字段检查 |
|
- |
无日志表检查 |
库级同步时,不支持同步无日志表(UNLOGGED TABLE)的DML。 |
- |
|
参数检查 |
如果做增量同步,且同步对象中包含外键、触发器或事件触发器,则目标数据库的session_replication_role参数必须设置为replica,同步结束后,此参数需改为origin。 |
||
目标数据库检查 |
磁盘空间检查 |
目标数据库实例必须有足够的磁盘空间。 |
|
状态检查 |
目标数据库实例的状态必须正常。 |
- |
|
区域类型及排序规则检查 |
待同步数据库的lc_ctype或lc_collate在目标数据库不支持。 |
||
货币金额格式检查 |
源数据库和目标数据库的货币金额格式需要一致。 |
详见货币金额格式是否一致。 |
|
同步对象类 |
选择对象检查 |
|
- |
所选表不能包含延迟约束的表。 |
详见所选表是否包含延迟约束。 |
||
同步对象依赖和关联的对象需要一起同步。 |
- |
||
库表列名规范检查 |
|
- |
|
源数据库检查 |
预检查阶段进行同步对象检查时,源数据库连接正常。 |
详见源库选择对象预检查。 |
|
|
详见源数据库是否处于备机状态。 |
||
任务启动前请确保源数据库中不存在长时间未提交的事务。 |
- |
||
源数据库的SSL状态正常。 |
- |
||
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
PostgreSQL->GaussDB(DWS)
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
全量+增量同步需要具备如下权限: 数据库的CONNECT权限,模式的USAGE权限,表的SELECT权限,序列的SELECT权限,无主键表的UPDATE、DELETE和TRUNCATE权限,REPLICATION连接权限。 |
- |
目标数据库权限 |
|
- |
|
版本类 |
源数据库版本 |
支持9.4、9.5、9.6、10、11、12、13、14、15、16版本。 |
详见支持的数据库。 |
目标数据库版本 |
支持8.1.3、8.2.0版本。 |
详见支持的数据库。 |
|
参数类 |
性能参数 |
源数据库max_replication_slots参数值必须大于当前已使用的复制槽数量。 |
|
源数据库的max_wal_senders参数值必须等于或大于max_replication_slots参数值。 |
|||
源数据库中无主键表的replica identity属性必须为full。 |
- |
||
源数据库中表的主键列toast属性为main、external、extended时,其replica identity属性必须为full。 |
详见主键列复制属性的校验。 |
||
源数据库的wal_level必须配置为logical。 |
|||
增量同步类 |
表字段检查 |
|
- |
无日志表检查 |
库级同步时,不支持同步无日志表(UNLOGGED TABLE)的DML。 |
- |
|
同步对象类 |
选择对象检查 |
|
- |
所选表不能包含延迟约束的表。 |
详见所选表是否包含延迟约束。 |
||
同步对象依赖和关联的对象需要同步,常见的关联关系:主外键关联表、表继承子表引用父表、表分区子分区表引用分区表、表自增列引用序列等。 |
- |
||
库表列名规范检查 |
|
- |
|
源数据库检查 |
预检查阶段进行同步对象检查时,源数据库连接正常。 |
详见源库选择对象预检查。 |
|
|
详见源数据库是否处于备机状态。 |
||
任务启动前请确保源数据库中不存在长时间未提交的事务。 |
- |
||
源数据库的SSL状态正常。 |
- |
||
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
PostgreSQL->GaussDB集中式版
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
- |
|
目标数据库权限 |
具备sysadmin角色或者以下最小权限: 需要DATABASE的CONNECT和CREATE权限、SCHEMA的USAGE和CREATE权限、表的INSERT、UPDATE、DELETE、SELECT、ALTER、INDEX、COMMENT权限。 |
- |
|
版本类 |
源数据库版本 |
支持9.4、9.5、9.6、10、11、12、13、14、15、16版本。 |
详见支持的数据库。 |
目标数据库版本 |
支持1.0.0及以上版本。 |
详见支持的数据库。 |
|
参数类 |
性能参数 |
源数据库max_replication_slots参数值必须大于当前已使用的复制槽数量。 |
|
源数据库的max_wal_senders参数值必须等于或大于max_replication_slots参数值。 |
|||
源数据库中无主键表的replica identity属性必须为full。 |
- |
||
源数据库中表的主键列toast属性为main、external、extended时,其replica identity属性必须为full。 |
详见主键列复制属性的校验。 |
||
源数据库的wal_level必须配置为logical。 |
|||
增量同步类 |
表字段检查 |
|
- |
无日志表检查 |
库级同步时,不支持同步无日志表(UNLOGGED TABLE)的DML。 |
- |
|
一致性检查 |
schema和表检查 |
目标库和源库的schema、表需要一致。 |
- |
同步对象类 |
选择对象检查 |
|
- |
所选表不能包含延迟约束的表。 |
详见所选表是否包含延迟约束。 |
||
同步对象依赖和关联的对象需要同步,常见的关联关系:视图引用表、视图引用视图、主外键关联表、表继承子表引用父表、表分区子分区表引用分区表、表自增列引用序列等。 |
- |
||
库表列名规范检查 |
|
- |
|
源数据库检查 |
预检查阶段进行同步对象检查时,源数据库连接正常。 |
详见源库选择对象预检查。 |
|
|
详见源数据库是否处于备机状态。 |
||
任务启动前请确保源数据库中不存在长时间未提交的事务。 |
- |
||
源数据库的SSL状态正常。 |
- |
||
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
PostgreSQL->GaussDB分布式版
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
- |
|
目标数据库权限 |
具备sysadmin角色或者以下最小权限: 需要DATABASE的CONNECT和CREATE权限、SCHEMA的USAGE和CREATE权限、表的INSERT、UPDATE、DELETE、SELECT、ALTER、INDEX、COMMENT权限。 |
- |
|
版本类 |
源数据库版本 |
支持9.4、9.5、9.6、10、11、12、13、14、15、16版本。 |
详见支持的数据库。 |
目标数据库版本 |
支持1.0.0及以上版本。 |
详见支持的数据库。 |
|
参数类 |
性能参数 |
源数据库max_replication_slots参数值必须大于当前已使用的复制槽数量。 |
|
源数据库的max_wal_senders参数值必须等于或大于max_replication_slots参数值。 |
|||
源数据库中无主键表的replica identity属性必须为full。 |
- |
||
源数据库中表的主键列toast属性为main、external、extended时,其replica identity属性必须为full。 |
详见主键列复制属性的校验。 |
||
源数据库的wal_level必须配置为logical。 |
|||
增量同步类 |
表字段检查 |
|
- |
无日志表检查 |
库级同步时,不支持同步无日志表(UNLOGGED TABLE)的DML。 |
- |
|
一致性检查 |
schema和表检查 |
目标库和源库的schema、表需要一致。 |
- |
同步对象类 |
选择对象检查 |
|
- |
所选表不能包含延迟约束的表。 |
详见所选表是否包含延迟约束。 |
||
同步对象依赖和关联的对象需要同步,常见的关联关系:主外键关联表、表继承子表引用父表、表分区子分区表引用分区表、表自增列引用序列等。 |
- |
||
库表列名规范检查 |
|
- |
|
源数据库检查 |
预检查阶段进行同步对象检查时,源数据库连接正常。 |
详见源库选择对象预检查。 |
|
|
详见源数据库是否处于备机状态。 |
||
任务启动前请确保源数据库中不存在长时间未提交的事务。 |
- |
||
源数据库的SSL状态正常。 |
- |
||
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
Oracle->MySQL
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
全量同步: 需要具有CREATE SESSION,SELECT ANY DICTIONARY,针对单表的SELECT权限(GRANT SELECT ON <userName.tbName> to drsUser;)。 全量+增量、增量同步:
|
- |
目标数据库权限 |
必须拥有如下权限:SELECT、INSERT、CREATE、DROP、UPDATE、ALTER、DELETE、INDEX。 |
- |
|
Oracle源数据库用户MAINTAINED属检查 |
Oracle 12c及以上版本不支持使用ORACLE_MAINTAINED=Y的用户账号进行增量同步(system/sys除外),因为该属性的账号无日志解析权限。 |
- |
|
版本类 |
源数据库版本 |
支持10g、11g、12c、18c、19c、21c版本。 |
详见支持的数据库。 |
目标数据库版本 |
支持5.5、5.6、5.7、8.0版本。 |
详见支持的数据库。 |
|
增量同步类 |
索引列长度检查 |
源数据库索引列长度必须符合要求。 |
详见源数据库索引列长度检查。 |
异构数据库兼容性 |
|
详见异构数据库兼容性风险须知。 |
|
虚拟列检查 |
源数据库中不能存在虚拟列。 |
详见源库表结构是否存在虚拟列。 |
|
字符集兼容性检查 |
目标数据库字符集需要完全兼容源库字符集。 |
详见字符集兼容性检查。 |
|
归档日志和补充日志检查 |
增量同步时,源库Oracle需要开启日志归档模式和最小补充日志,所需同步表必须开启PK/UI或以ALL级别的补充日志,不限制库级或表级补充日志方式,如果只开启表级补充日志,重建或者RENAME表后需要重新设置;请确保以上配置在同步过程中始终保持开启状态。 |
- |
|
目标数据库检查 |
状态检查 |
目标数据库实例的状态必须正常。 |
- |
源数据库检查 |
物理复制库检查 |
增量阶段源库为Oracle物理备库(PHYSICAL STANDBY)时不支持解析lob类型数据(无法生成数据字典),如果增量同步的表中出现lob类型会导致增量同步异常。 |
详见物理复制库检查。 |
同步对象类 |
选择对象检查 |
|
- |
表结构检查 |
同步表结构时源库和目标库表结构一致。 |
- |
|
表字段类型检查 |
源数据库表含有不支持的表字段类型。支持的表字段类型有: 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,TIMESTAMP WITH LOCAL TIME ZONE。 |
详见源库表字段类型检查。 |
|
排序字符集检查 |
目标数据库的主键或者唯一键列,在不区分大小写的排序字符集下,即“…_ci”结尾的不区分大小写的排序字符集,可能在数据迁移时发生“重复键”报错。 |
详见目标库排序字符集检查。 |
|
无主键表检查 |
由于无主键表缺乏行的唯一性标志,网络不稳定时涉及少量重试,表数据存在少量不一致的可能性。 |
详见源库无主键表检查。 |
|
数据约束检查 |
数据传输时可能出现写入目标库的数据不满足约束检查而失败或丢失的风险。 |
详见存在约束不验证添加前数据。 |
|
字符集检查 |
源数据库仅支持同步如下字符集:ZHS16GBK、AL32UTF8、UTF8、US7ASCII、WE8MSWIN1252、WE8ISO8859P1、WE8ISO8859P2、WE8ISO8859P4、WE8ISO8859P5、WE8ISO8859P7、WE8ISO8859P9、WE8ISO8859P13、WE8ISO8859P15。 |
详见源数据库字符集是否支持。 |
|
同名检查 |
对象名同步到目标库后会转换成小写,为避免同步失败,选择的源库表中不能存在表名称字母相同但大小写不同的表。 |
||
库表名规范检查 |
|
- |
|
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
Oracle->TaurusDB
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
全量同步: 需要具有CREATE SESSION,SELECT ANY DICTIONARY,针对单表的SELECT权限(GRANT SELECT ON <userName.tbName> to drsUser;)。 全量+增量同步:
|
- |
目标数据库权限 |
必须拥有如下权限:SELECT、CREATE、DROP、DELETE、INSERT、UPDATE、ALTER、INDEX、EVENT、RELOAD、CREATE VIEW、CREATE ROUTINE、TRIGGER。 |
- |
|
版本类 |
源数据库版本 |
支持10g、11g、12c、18c、19c、21c版本。 |
详见支持的数据库。 |
目标数据库版本 |
支持8.0版本。 |
详见支持的数据库。 |
|
增量同步类 |
索引列长度检查 |
源数据库索引列长度必须符合要求。 |
详见源数据库索引列长度检查。 |
异构数据库兼容性 |
|
详见异构数据库兼容性风险须知。 |
|
虚拟列检查 |
源数据库中不能存在虚拟列。 |
详见源库表结构是否存在虚拟列。 |
|
归档日志和补充日志检查 |
增量同步时,源库Oracle需要开启日志归档模式和最小补充日志,所需同步表必须开启PK/UI或以ALL级别的补充日志,不限制库级或表级补充日志方式,如果只开启表级补充日志,重建或者RENAME表后需要重新设置;请确保以上配置在同步过程中始终保持开启状态。 |
- |
|
目标数据库检查 |
状态检查 |
目标数据库实例的状态必须正常。 |
- |
源数据库检查 |
物理复制库检查 |
增量阶段源库为Oracle物理备库(PHYSICAL STANDBY)时不支持解析lob类型数据(无法生成数据字典),如果增量同步的表中出现lob类型会导致增量同步异常。 |
详见物理复制库检查。 |
同步对象类 |
选择对象检查 |
支持库、表结构、主键、唯一键、普通索引、表数据的同步,其他数据库对象暂不支持,如存储过程、触发器、函数、序列、包、同义词、用户等。 |
- |
表字段类型检查 |
源数据库表含有不支持的表字段类型。支持的表字段类型有: 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,TIMESTAMP WITH LOCAL TIME ZONE。 |
详见源库表字段类型检查。 |
|
排序字符集检查 |
目标数据库的主键或者唯一键列,在不区分大小写的排序字符集下,即“…_ci”结尾的不区分大小写的排序字符集,可能在数据迁移时发生“重复键”报错。 |
详见目标库排序字符集检查。 |
|
无主键表检查 |
由于无主键表缺乏行的唯一性标志,网络不稳定时涉及少量重试,表数据存在少量不一致的可能性。 |
详见源库无主键表检查。 |
|
数据约束检查 |
数据传输时可能出现写入目标库的数据不满足约束检查而失败或丢失的风险。 |
详见存在约束不验证添加前数据。 |
|
字符集检查 |
源数据库仅支持同步如下字符集:ZHS16GBK、AL32UTF8、UTF8、US7ASCII、WE8MSWIN1252、WE8ISO8859P1、WE8ISO8859P2、WE8ISO8859P4、WE8ISO8859P5、WE8ISO8859P7、WE8ISO8859P9、WE8ISO8859P13、WE8ISO8859P15。 |
详见源数据库字符集是否支持。 |
|
同名检查 |
对象名同步到目标库后会转换成小写,为避免同步失败,选择的源库表中不能存在表名称字母相同但大小写不同的表。 |
||
库表名规范检查 |
|
- |
|
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
Oracle->GaussDB集中式版
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
全量同步: 需要具有CREATE SESSION,SELECT ANY DICTIONARY,针对单表的SELECT权限(GRANT SELECT ON <userName.tbName> to drsUser;)。 全量+增量、增量同步:
|
- |
目标数据库权限 |
|
- |
|
Oracle源数据库用户MAINTAINED属检查 |
Oracle 12c及以上版本不支持使用ORACLE_MAINTAINED=Y的用户账号进行增量同步(system/sys除外),因为该属性的账号无日志解析权限。 |
- |
|
版本类 |
源数据库版本 |
支持10g、11g、12c、18c、19c、21c版本。 |
详见支持的数据库。 |
目标数据库版本 |
支持1.0.0及以上版本。 |
详见支持的数据库。 |
|
增量同步类 |
字符集兼容性检查 |
目标数据库字符集需要完全兼容源库字符集。 |
详见字符集兼容性检查。 |
虚拟列检查 |
源数据库中不能存在虚拟列。 |
详见源库表结构是否存在虚拟列。 |
|
归档日志和补充日志检查 |
增量同步时,源库Oracle需要开启日志归档模式和最小补充日志,所需同步表必须开启PK/UI或以ALL级别的补充日志,不限制库级或表级补充日志方式,如果只开启表级补充日志,重建或者RENAME表后需要重新设置;请确保以上配置在同步过程中始终保持开启状态。 |
- |
|
源数据库检查 |
物理复制库检查 |
增量阶段源库为Oracle物理备库(PHYSICAL STANDBY)时不支持解析lob类型数据(无法生成数据字典),如果增量同步的表中出现lob类型会导致增量同步异常。 |
详见物理复制库检查。 |
同步对象类 |
选择对象检查 |
|
- |
目标数据库对象一致性检查 |
检查目标库对象是否满足同步要求。 |
详见目标数据库对象一致性检查。 |
|
外键检查 |
同步的表要禁用外键,因为DRS并行回放会使得不同表之间的写入顺序和源库不一致,可能会触发外键约束限制,造成同步失败。 |
||
表字段类型检查 |
源数据库表含有不支持的表字段类型。支持的表字段类型有: 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,TIMESTAMP WITH LOCAL TIME ZONE。 |
详见源库表字段类型检查。 |
|
无主键表检查 |
由于无主键表缺乏行的唯一性标志,网络不稳定时涉及少量重试,表数据存在少量不一致的可能性。 |
详见源库无主键表检查。 |
|
数据约束检查 |
数据传输时可能出现写入目标库的数据不满足约束检查而失败或丢失的风险。 |
详见存在约束不验证添加前数据。 |
|
字符集检查 |
源数据库仅支持同步如下字符集:ZHS16GBK、AL32UTF8、UTF8、US7ASCII、WE8MSWIN1252、WE8ISO8859P1、WE8ISO8859P2、WE8ISO8859P4、WE8ISO8859P5、WE8ISO8859P7、WE8ISO8859P9、WE8ISO8859P13、WE8ISO8859P15。 |
详见源数据库字符集是否支持。 |
|
库表名规范检查 |
库名、表名等数据库对象名称支持英文字符、“#”、“$”、“_”等符号, DRS不支持非ASCII字符、“. ”、 “>”、 “<”、 “\”、 “`”、 “|”、 “,”、 “? ”、 “! ”、 “"”和 “'”等字符。对象名同步到目标库后会转换成小写,为避免同步失败,选择的源库表中不能存在表名称字母相同但大小写不同的表。 |
- |
|
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
Oracle->GaussDB分布式版
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
全量同步: 需要具有CREATE SESSION,SELECT ANY DICTIONARY,针对单表的SELECT权限(GRANT SELECT ON <userName.tbName> to drsUser;)。 全量+增量、增量同步:
|
- |
目标数据库权限 |
|
- |
|
Oracle源数据库用户MAINTAINED属检查 |
Oracle 12c及以上版本不支持使用ORACLE_MAINTAINED=Y的用户账号进行增量同步(system/sys除外),因为该属性的账号无日志解析权限。 |
- |
|
版本类 |
源数据库版本 |
支持10g、11g、12c、18c、19c、21c版本。 |
详见支持的数据库。 |
目标数据库版本 |
支持1.0.0及以上版本。 |
详见支持的数据库。 |
|
增量同步类 |
字符集兼容性检查 |
目标数据库字符集需要完全兼容源库字符集。 |
详见字符集兼容性检查。 |
虚拟列检查 |
源数据库中不能存在虚拟列。 |
详见源库表结构是否存在虚拟列。 |
|
归档日志和补充日志检查 |
增量同步时,源库Oracle需要开启日志归档模式和最小补充日志,所需同步表必须开启PK/UI或以ALL级别的补充日志,不限制库级或表级补充日志方式,如果只开启表级补充日志,重建或者RENAME表后需要重新设置;请确保以上配置在同步过程中始终保持开启状态。 |
- |
|
源数据库检查 |
物理复制库检查 |
增量阶段源库为Oracle物理备库(PHYSICAL STANDBY)时不支持解析lob类型数据(无法生成数据字典),如果增量同步的表中出现lob类型会导致增量同步异常。 |
详见物理复制库检查。 |
同步对象类 |
选择对象检查 |
|
- |
目标数据库对象一致性检查 |
检查目标库对象是否满足同步要求。 |
详见目标数据库对象一致性检查。 |
|
外键检查 |
同步的表要禁用外键,因为DRS并行回放会使得不同表之间的写入顺序和源库不一致,可能会触发外键约束限制,造成同步失败。 |
||
表字段类型检查 |
源数据库表含有不支持的表字段类型。支持的表字段类型有: 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,TIMESTAMP WITH LOCAL TIME ZONE。 |
详见源库表字段类型检查。 |
|
无主键表检查 |
由于无主键表缺乏行的唯一性标志,网络不稳定时涉及少量重试,表数据存在少量不一致的可能性。 |
详见源库无主键表检查。 |
|
数据约束检查 |
数据传输时可能出现写入目标库的数据不满足约束检查而失败或丢失的风险。 |
详见存在约束不验证添加前数据。 |
|
字符集检查 |
源数据库仅支持同步如下字符集:ZHS16GBK、AL32UTF8、UTF8、US7ASCII、WE8MSWIN1252、WE8ISO8859P1、WE8ISO8859P2、WE8ISO8859P4、WE8ISO8859P5、WE8ISO8859P7、WE8ISO8859P9、WE8ISO8859P13、WE8ISO8859P15。 |
详见源数据库字符集是否支持。 |
|
库表名规范检查 |
库名、表名等数据库对象名称支持英文字符、“#”、“$”、“_”等符号, DRS不支持非ASCII字符、“. ”、 “>”、 “<”、 “\”、 “`”、 “|”、 “,”、 “? ”、 “! ”、 “"”和 “'”等字符。对象名同步到目标库后会转换成小写,为避免同步失败,选择的源库表中不能存在表名称字母相同但大小写不同的表。 |
- |
|
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
Oracle->GaussDB(DWS)
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
全量同步: 需要具有CREATE SESSION,SELECT ANY DICTIONARY,针对单表的SELECT权限(GRANT SELECT ON <userName.tbName> to drsUser;)。 全量+增量、增量同步:
|
- |
目标数据库权限 |
|
- |
|
Oracle源数据库用户MAINTAINED属检查 |
Oracle 12c及以上版本不支持使用ORACLE_MAINTAINED=Y的用户账号进行增量同步(system/sys除外),因为该属性的账号无日志解析权限。 |
- |
|
版本类 |
源数据库版本 |
支持10g、11g、12c、18c、19c、21c版本。 |
详见支持的数据库。 |
目标数据库版本 |
支持8.1.3、8.2.0版本 |
详见支持的数据库。 |
|
增量同步类 |
字符集兼容性检查 |
目标数据库字符集需要完全兼容源库字符集。 |
详见字符集兼容性检查。 |
虚拟列检查 |
源数据库中不能存在虚拟列。 |
详见源库表结构是否存在虚拟列。 |
|
归档日志和补充日志检查 |
增量同步时,源库Oracle需要开启日志归档模式和最小补充日志,所需同步表必须开启PK/UI或以ALL级别的补充日志,不限制库级或表级补充日志方式,如果只开启表级补充日志,重建或者RENAME表后需要重新设置;请确保以上配置在同步过程中始终保持开启状态。 |
- |
|
目标数据库检查 |
状态检查 |
目标数据库实例的状态必须正常。 |
- |
源数据库检查 |
物理复制库检查 |
增量阶段源库为Oracle物理备库(PHYSICAL STANDBY)时不支持解析lob类型数据(无法生成数据字典),如果增量同步的表中出现lob类型会导致增量同步异常。 |
详见物理复制库检查。 |
同步对象类 |
选择对象检查 |
|
- |
表字段类型检查 |
源数据库表含有不支持的表字段类型。支持的表字段类型有: 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,TIMESTAMP WITH LOCAL TIME ZONE。 |
详见源库表字段类型检查。 |
|
无主键表检查 |
由于无主键表缺乏行的唯一性标志,网络不稳定时涉及少量重试,表数据存在少量不一致的可能性。 |
详见源库无主键表检查。 |
|
同名检查 |
同步表结构时,如果目标库存在与源库同名约束会导致建表失败。 |
||
数据约束检查 |
数据传输时可能出现写入目标库的数据不满足约束检查而失败或丢失的风险。 |
详见存在约束不验证添加前数据。 |
|
字符集检查 |
源数据库仅支持同步如下字符集:ZHS16GBK、AL32UTF8、UTF8、US7ASCII、WE8MSWIN1252、WE8ISO8859P1、WE8ISO8859P2、WE8ISO8859P4、WE8ISO8859P5、WE8ISO8859P7、WE8ISO8859P9、WE8ISO8859P13、WE8ISO8859P15。 |
详见源数据库字符集是否支持。 |
|
库表名规范检查 |
|
- |
|
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
Oracle->DDM
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
全量同步: 需要具有CREATE SESSION,SELECT ANY DICTIONARY,针对单表的SELECT权限(GRANT SELECT ON <userName.tbName> to drsUser;)。 全量+增量同步:
|
- |
目标数据库权限 |
提供的目标数据库账号必须拥有如下权限:SELECT、CREATE、DROP、DELETE、INSERT、UPDATE、ALTER、INDEX、EVENT、RELOAD、CREATE VIEW。 |
- |
|
Oracle源数据库用户MAINTAINED属检查 |
Oracle 12c及以上版本不支持使用ORACLE_MAINTAINED=Y的用户账号进行增量同步(system/sys除外),因为该属性的账号无日志解析权限。 |
- |
|
版本类 |
源数据库版本 |
支持10g、11g、12c、18c、19c、21c版本。 |
详见支持的数据库。 |
增量同步类 |
字符集兼容性检查 |
目标数据库字符集需要完全兼容源库字符集。 |
详见字符集兼容性检查。 |
虚拟列检查 |
源数据库中不能存在虚拟列。 |
详见源库表结构是否存在虚拟列。 |
|
归档日志和补充日志检查 |
增量同步时,源库Oracle需要开启日志归档模式和最小补充日志,所需同步表必须开启PK/UI或以ALL级别的补充日志,不限制库级或表级补充日志方式,如果只开启表级补充日志,重建或者RENAME表后需要重新设置;请确保以上配置在同步过程中始终保持开启状态。 |
- |
|
源数据库检查 |
物理复制库检查 |
增量阶段源库为Oracle物理备库(PHYSICAL STANDBY)时不支持解析lob类型数据(无法生成数据字典),如果增量同步的表中出现lob类型会导致增量同步异常。 |
详见物理复制库检查。 |
同步对象类 |
选择对象检查 |
目前只支持同步源库的数据,不支持同步源库表结构及其他数据库对象。 |
- |
表结构检查 |
目标库的冗余列(源库中不存在的列)不能存在非空约束,否则会导致数据迁移因为非空约束而阻塞。 |
||
表字段类型检查 |
源数据库表含有不支持的表字段类型。支持的表字段类型有: 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,TIMESTAMP WITH LOCAL TIME ZONE。 |
详见源库表字段类型检查。 |
|
无主键表检查 |
由于无主键表缺乏行的唯一性标志,网络不稳定时涉及少量重试,表数据存在少量不一致的可能性。 |
详见源库无主键表检查。 |
|
数据约束检查 |
数据传输时可能出现写入目标库的数据不满足约束检查而失败或丢失的风险。 |
详见存在约束不验证添加前数据。 |
|
字符集检查 |
源数据库仅支持同步如下字符集:ZHS16GBK、AL32UTF8、UTF8、US7ASCII、WE8MSWIN1252、WE8ISO8859P1、WE8ISO8859P2、WE8ISO8859P4、WE8ISO8859P5、WE8ISO8859P7、WE8ISO8859P9、WE8ISO8859P13、WE8ISO8859P15。 |
详见源数据库字符集是否支持。 |
|
库表名规范检查 |
|
- |
|
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
Oracle->PostgreSQL
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
全量同步: 需要具有CREATE SESSION,SELECT ANY DICTIONARY,针对单表的SELECT权限(GRANT SELECT ON <userName.tbName> to drsUser;)。 全量+增量同步:
|
- |
目标数据库权限 |
每张表必须具有如下权限:INSERT、SELECT、UPDATE、DELETE、CONNECT、CREATE、REFERENCES。 |
- |
|
Oracle源数据库用户MAINTAINED属检查 |
Oracle 12c及以上版本不支持使用ORACLE_MAINTAINED=Y的用户账号进行增量同步(system/sys除外),因为该属性的账号无日志解析权限。 |
- |
|
版本类 |
源数据库版本 |
支持10g、11g、12c、18c、19c、21c版本。 |
详见支持的数据库。 |
目标数据库版本 |
支持9.5、9.6、10、11、12、13、14、15、16版本。 |
详见支持的数据库。 |
|
增量同步类 |
异构数据库兼容性 |
请确认所需迁移的表中以字符串为主键或唯一键的列不包含空格,否则有可能导致数据不一致或迁移失败。 |
详见异构数据库兼容性风险须知。 |
虚拟列检查 |
源数据库中不能存在虚拟列。 |
详见源库表结构是否存在虚拟列。 |
|
字符集兼容性检查 |
目标数据库字符集需要完全兼容源库字符集。 |
详见字符集兼容性检查。 |
|
归档日志和补充日志检查 |
增量同步时,源库Oracle需要开启日志归档模式和最小补充日志,所需同步表必须开启PK/UI或以ALL级别的补充日志,不限制库级或表级补充日志方式,如果只开启表级补充日志,重建或者RENAME表后需要重新设置;请确保以上配置在同步过程中始终保持开启状态。 |
- |
|
目标数据库检查 |
状态检查 |
目标数据库实例的状态必须正常。 |
- |
磁盘空间检查 |
目标数据库实例必须有足够的磁盘空间。 |
||
源数据库检查 |
物理复制库检查 |
增量阶段源库为Oracle物理备库(PHYSICAL STANDBY)时不支持解析lob类型数据(无法生成数据字典),如果增量同步的表中出现lob类型会导致增量同步异常。 |
详见物理复制库检查。 |
同步对象类 |
选择对象检查 |
|
- |
表字段类型检查 |
源数据库表含有不支持的表字段类型。支持的表字段类型有: 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,TIMESTAMP WITH LOCAL TIME ZONE。 |
详见源库表字段类型检查。 |
|
无主键表检查 |
由于无主键表缺乏行的唯一性标志,网络不稳定时涉及少量重试,表数据存在少量不一致的可能性。 |
详见源库无主键表检查。 |
|
数据约束检查 |
数据传输时可能出现写入目标库的数据不满足约束检查而失败或丢失的风险。 |
详见存在约束不验证添加前数据。 |
|
字符集检查 |
源数据库仅支持同步如下字符集:ZHS16GBK、AL32UTF8、UTF8、US7ASCII、WE8MSWIN1252、WE8ISO8859P1、WE8ISO8859P2、WE8ISO8859P4、WE8ISO8859P5、WE8ISO8859P7、WE8ISO8859P9、WE8ISO8859P13、WE8ISO8859P15。 |
详见源数据库字符集是否支持。 |
|
日志解析权限检查 |
源数据库连接用户不具有日志解析权限,会导致增量迁移失败。 |
||
同名检查 |
对象名同步到目标库后会转换成小写,为避免同步失败,选择的源库表中不能存在表名称字母相同但大小写不同的表。 |
||
库表名规范检查 |
库名、表名不支持的字符有:非ASCII字符、“. ”、 “>”、 “<”、 “\”、 “`”、 “|”、 “,”、 “? ”、 “! ”、 “"”和 “'”。 |
- |
|
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
DDM->MySQL
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
|
- |
目标数据库权限 |
需要具备如下权限:SELECT、CREATE、ALTER、DROP、DELETE、INSERT、UPDATE。 RDS for MySQL实例的root账户默认已具备上述权限。 |
详见MySQL权限授权方法。 |
|
参数类 |
GTID状态 |
源物理分片数据库GTID状态建议为开启状态,源物理分片数据库实例没有开启GTID的情况下不支持主备倒换,DRS任务会因为位点不续接而中断导致无法恢复。 |
- |
性能参数 |
源物理分片数据库的binlog_row_image参数需设置为full,否则会导致同步失败。 |
||
增量同步类 |
Binlog开启 |
增量同步时,源物理分片数据库的Binlog日志必须打开。 |
|
Binlog格式 |
源物理分片数据库的Binlog格式必须为行格式。 |
||
server_id值设置 |
增量同步时,必须设置源物理分片数据库的server_id。
|
||
目标数据库检查 |
磁盘空间检查 |
目标数据库实例必须有足够的磁盘空间。 |
|
一致性检查 |
字符集 |
目标库和源库的字符集需要一致。 |
|
大小写敏感 |
目标库和源库的lower_case_table_names参数设置需要一致。 |
||
group_concat函数计算结果字符的最大长度 |
目标库和源库的group_concat_max_len参数需要一致。 |
||
数据块加密参数 |
目标库和源库block_encryption_mode需要一致。 |
- |
|
同步对象类 |
选择对象检查 |
|
- |
库名映射时,同步的对象中如果存在存储过程、视图、函数对象,全量阶段这些对象不会同步,会导致对象对比不一致。 |
详见映射数据库对象检查。 |
||
无主键表检查 |
由于无主键表的性能低于主键表的性能,建议将无主键表修改为主键表。 |
详见源库无主键表检查。 |
|
库表名规范检查 |
源分库分表中间件中的库名、表名不能包含:'<>/\以及非ASCII字符。 |
- |
|
SSL连接检查 |
SSL安全连接检查 |
选择SSL安全连接时,源数据库和目标数据库的SSL安全连接成功。 |
详见SSL安全连接检查。 |
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
DDM->GaussDB(DWS)
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
|
- |
目标数据库权限 |
提供的目标数据库账号必须具有每张表的如下权限:INSERT、SELECT、UPDATE、DELETE、CONNECT、CREATE。 |
- |
|
参数类 |
GTID状态 |
源物理分片数据库GTID状态建议为开启状态,源物理分片数据库实例没有开启GTID的情况下不支持主备倒换,DRS任务会因为位点不续接而中断导致无法恢复。 |
- |
性能参数 |
源物理分片数据库的binlog_row_image参数需设置为full,否则会导致同步失败。 |
||
增量同步类 |
Binlog开启 |
增量同步时,源物理分片数据库的Binlog日志必须打开。 |
|
Binlog格式 |
源物理分片数据库的Binlog格式必须为行格式。 |
||
server_id值设置 |
增量同步时,必须设置源物理分片数据库的server_id。
|
||
目标数据库检查 |
磁盘空间检查 |
目标数据库实例必须有足够的磁盘空间。 |
|
一致性检查 |
字符集 |
目标库和源库的字符集需要一致。 |
|
大小写敏感 |
目标库和源库的lower_case_table_names参数设置需要一致。 |
||
group_concat函数计算结果字符的最大长度 |
目标库和源库的group_concat_max_len参数需要一致。 |
||
数据块加密参数 |
目标库和源库block_encryption_mode需要一致。 |
- |
|
同步对象类 |
选择对象检查 |
|
- |
库名映射时,同步的对象中如果存在存储过程、视图、函数对象,全量阶段这些对象不会同步,会导致对象对比不一致。 |
详见映射数据库对象检查。 |
||
无主键表检查 |
由于无主键表的性能低于主键表的性能,建议将无主键表修改为主键表。 |
详见源库无主键表检查。 |
|
库表名规范检查 |
源分库分表中间件中的库名、表名不能包含:'<>/\以及非ASCII字符。 |
- |
|
SSL连接检查 |
SSL安全连接检查 |
选择SSL安全连接时,源数据库和目标数据库的SSL安全连接成功。 |
详见SSL安全连接检查。 |
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
DDM->DDM
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
|
- |
目标数据库权限 |
需要具备如下基本权限:CREATE、DROP、ALTER、INDEX、INSERT、DELETE、UPDATE、SELECT, 同时必须具备扩展权限:全表SELECT权限。目标中间件账户必须具备对所同步数据库的权限。 |
- |
|
参数类 |
GTID状态 |
源物理分片数据库GTID状态建议为开启状态,源物理分片数据库实例没有开启GTID的情况下不支持主备倒换,DRS任务会因为位点不续接而中断导致无法恢复。 |
- |
性能参数 |
源物理分片数据库的binlog_row_image参数需设置为full,否则会导致同步失败。 |
||
增量同步类 |
Binlog开启 |
增量同步时,源物理分片数据库的Binlog日志必须打开。 |
|
Binlog格式 |
源物理分片数据库的Binlog格式必须为行格式。 |
||
server_id值设置 |
增量同步时,必须设置源物理分片数据库的server_id。
|
||
目标数据库检查 |
磁盘空间检查 |
目标数据库实例必须有足够的磁盘空间。 |
|
一致性检查 |
字符集 |
目标库和源库的字符集需要一致。 |
|
大小写敏感 |
目标库和源库的lower_case_table_names参数设置需要一致。 |
||
group_concat函数计算结果字符的最大长度 |
目标库和源库的group_concat_max_len参数需要一致。 |
||
数据块加密参数 |
目标库和源库block_encryption_mode需要一致。 |
- |
|
同步对象类 |
选择对象检查 |
|
- |
库名映射时,同步的对象中如果存在存储过程、视图、函数对象,全量阶段这些对象不会同步,会导致对象对比不一致。 |
详见映射数据库对象检查。 |
||
无主键表检查 |
由于无主键表的性能低于主键表的性能,建议将无主键表修改为主键表。 |
详见源库无主键表检查。 |
|
库表名规范检查 |
源分库分表中间件中的库名、表名不能包含:'<>/\以及非ASCII字符。 |
- |
|
SSL连接检查 |
SSL安全连接检查 |
选择SSL安全连接时,源数据库和目标数据库的SSL安全连接成功。 |
详见SSL安全连接检查。 |
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
DB2 for LUW->GaussDB集中式版
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
|
- |
目标数据库权限 |
|
- |
|
版本类 |
源数据库版本 |
支持9.7、10.1、10.5、11.1、11.5版本。 |
详见支持的数据库。 |
目标数据库版本 |
支持1.0.0及以上版本。 |
详见支持的数据库。 |
|
参数类 |
DataCapture参数 |
选择全量+增量同步时,需要确保开启源数据库的归档日志,确保需要同步的表的DataCapture属性为Y。 |
- |
同步对象类 |
选择对象检查 |
|
- |
目标数据库对象一致性检查 |
检查目标库对象是否满足同步要求。 |
详见目标数据库对象一致性检查。 |
|
表字段类型检查 |
|
详见源数据库表字段类型检查。 |
|
无主键表检查 |
由于无主键表的性能低于主键表的性能,建议将无主键表修改为主键表。 |
详见源迁移库无主键表检查。 |
|
字符集检查 |
源数据库仅支持同步如下字符集:GBK、UTF8。 |
详见源数据库字符集是否支持。 |
|
源数据库检查 |
预检查阶段进行同步对象检查时,源数据库连接正常。 |
详见源数据库选择对象预检查。 |
|
库表名规范检查 |
|
- |
|
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
DB2 for LUW->GaussDB分布式版
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
|
- |
目标数据库权限 |
|
- |
|
版本类 |
源数据库版本 |
支持9.7、10.1、10.5、11.1、11.5版本。 |
详见支持的数据库。 |
目标数据库版本 |
支持1.0.0及以上版本。 |
详见支持的数据库。 |
|
参数类 |
DataCapture参数 |
选择全量+增量同步时,需要确保开启源数据库的归档日志,确保需要同步的表的DataCapture属性为Y。 |
- |
同步对象类 |
选择对象检查 |
|
- |
目标数据库对象一致性检查 |
检查目标库对象是否满足同步要求。 |
详见目标数据库对象一致性检查。 |
|
表字段类型检查 |
|
详见源数据库表字段类型检查。 |
|
无主键表检查 |
由于无主键表的性能低于主键表的性能,建议将无主键表修改为主键表。 |
详见源迁移库无主键表检查。 |
|
字符集检查 |
源数据库仅支持同步如下字符集:GBK、UTF8。 |
详见源数据库字符集是否支持。 |
|
源数据库检查 |
预检查阶段进行同步对象检查时,源数据库连接正常。 |
详见源数据库选择对象预检查。 |
|
库表名规范检查 |
|
- |
|
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
DB2 for LUW->GaussDB(DWS)
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
|
- |
目标数据库权限 |
|
- |
|
版本类 |
源数据库版本 |
支持9.7、10.1、10.5、11.1、11.5版本。 |
详见支持的数据库。 |
目标数据库版本 |
支持8.1.3、8.2.0版本。 |
详见支持的数据库。 |
|
参数类 |
DataCapture参数 |
选择全量+增量同步时,需要确保开启源数据库的归档日志,确保需要同步的表的DataCapture属性为Y。 |
- |
同步对象类 |
选择对象检查 |
|
- |
目标数据库对象一致性检查 |
检查目标库对象是否满足同步要求。 |
详见目标数据库对象一致性检查。 |
|
表字段类型检查 |
|
详见源数据库表字段类型检查。 |
|
无主键表检查 |
由于无主键表的性能低于主键表的性能,建议将无主键表修改为主键表。 |
详见源迁移库无主键表检查。 |
|
字符集检查 |
源数据库仅支持同步如下字符集:GBK、UTF8。 |
详见源数据库字符集是否支持。 |
|
源数据库检查 |
预检查阶段进行同步对象检查时,源数据库连接正常。 |
详见源数据库选择对象预检查。 |
|
库表名规范检查 |
库名、表名等数据库对象名称支持英文字符、“#”、“$”、“_”等符号, DRS 不支持非ASCII字符、“. ”、 “>”、 “<”、 “\”、 “`”、 “|”、 “,”、 “? ”、 “! ”、 “"”和 “'”等字符。对象名同步到目标库后会转换成小写,为避免同步失败,选择的源库表中不能存在表名称字母相同但大小写不同的表。 |
- |
|
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
TiDB->TaurusDB
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
SELECT,CONFIG权限。 |
- |
目标数据库权限 |
SELECT,CREATE,DROP,INSERT,DELETE,UPDATE,ALTER,REFERENCES,INDEX权限。 |
- |
|
版本类 |
源数据库版本 |
4.0.0及以上版本(不包括dev版本)。 |
详见支持的数据库。 |
目标数据库版本 |
8.0版本。 |
详见支持的数据库。 |
|
增量同步类 |
Binlog开启 |
增量同步时,源数据库的Binlog日志必须打开。 |
|
同步对象类 |
选择对象检查 |
|
- |
库表名规范检查 |
|
- |
|
无主键表检查 |
由于无主键表的性能低于主键表的性能,建议将无主键表修改为主键表。 |
详见源迁移库无主键表检查。 |
|
同名检查 |
目标数据库不能包含与源数据库同名的表。 |
||
源数据库检查 |
选择的同步对象在源数据库中必须存在。 |
详见源库选择对象预检查。 |
|
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
Microsoft SQL Server->GaussDB(DWS)
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
需要具备sysadmin权限,或者view server state权限以及待同步数据库的db_datareader或db_owner权限。 |
- |
目标数据库权限 |
|
- |
|
版本类 |
源数据库版本 |
|
详见支持的数据库。 |
目标数据库版本 |
支持8.1.3、8.2.0版本。 |
详见支持的数据库。 |
|
增量同步类 |
CDC开启 |
SQL Server为源的增量同步基于SQL Server提供的CDC能力,如果SQL Server源库的CDC功能出现异常(如被关闭、事务日志满等情况),则增量同步就会受到影响。 |
详见源库表是否开启了CDC。 |
CDC数据保留时间检查 |
源数据库CDC数据保留时间不足1天,会导致增量同步异常。请修改为1440分钟(1天)或以上,建议4320分钟(3天)。 |
||
一致性检查 |
计算机名 |
源数据库和目标数据库的计算机名不能相同。 |
|
同步对象类 |
选择对象检查 |
|
- |
库表名规范检查 |
|
- |
|
无主键表检查 |
由于无主键表的性能低于主键表的性能,建议将无主键表修改为主键表。 |
详见源库无主键表检查。 |
|
同名检查 |
除了SQL Server系统数据库之外,目标数据库不能包含与源数据库同名的对象。 |
||
源数据库检查 |
选择的同步对象在源数据库中必须存在。 |
详见源库选择对象预检查。 |
|
源数据库实例不允许为空。 |
详见源数据库实例是否为空。 |
||
源数据库的备份恢复模式必须设置为FULL模式。 |
详见源数据库恢复模式检查。 |
||
源数据库必须开启SQL Server Agent代理服务。 |
|||
源数据库中不允许存在被禁用的表的聚簇索引,否则会导致同步失败。 |
|||
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
Microsoft SQL Server->GaussDB集中式版
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
- |
|
目标数据库权限 |
|
- |
|
版本类 |
源数据库版本 |
|
详见支持的数据库。 |
目标数据库版本 |
1.1.0及以上版本。 |
详见支持的数据库。 |
|
增量同步类 |
CDC开启 |
SQL Server为源的增量同步基于SQL Server提供的CDC能力,如果SQL Server源库的CDC功能出现异常(如被关闭、事务日志满等情况),则增量同步就会受到影响。 |
详见源库表是否开启了CDC。 |
CDC数据保留时间检查 |
源数据库CDC数据保留时间不足1天,会导致增量同步异常。请修改为1440分钟(1天)或以上,建议4320分钟(3天)。 |
||
一致性检查 |
计算机名 |
源数据库和目标数据库的计算机名不能相同。 |
|
同步对象类 |
选择对象检查 |
|
- |
库表名规范检查 |
|
- |
|
无主键表检查 |
由于无主键表的性能低于主键表的性能,建议将无主键表修改为主键表。 |
详见源库无主键表检查。 |
|
同名检查 |
除了SQL Server系统数据库之外,目标数据库不能包含与源数据库同名的对象。 |
||
源数据库检查 |
选择的同步对象在源数据库中必须存在。 |
详见源库选择对象预检查。 |
|
源数据库实例不允许为空。 |
详见源数据库实例是否为空。 |
||
源数据库的备份恢复模式必须设置为FULL模式。 |
详见源数据库恢复模式检查。 |
||
源数据库必须开启SQL Server Agent代理服务。 |
|||
源数据库中不允许存在被禁用的表的聚簇索引,否则会导致同步失败。 |
|||
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
Microsoft SQL Server->GaussDB分布式版
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
- |
|
目标数据库权限 |
|
- |
|
版本类 |
源数据库版本 |
|
详见支持的数据库。 |
目标数据库版本 |
1.1.0及以上版本。 |
详见支持的数据库。 |
|
增量同步类 |
CDC开启 |
SQL Server为源的增量同步基于SQL Server提供的CDC能力,如果SQL Server源库的CDC功能出现异常(如被关闭、事务日志满等情况),则增量同步就会受到影响。 |
详见源库表是否开启了CDC。 |
CDC数据保留时间检查 |
源数据库CDC数据保留时间不足1天,会导致增量同步异常。请修改为1440分钟(1天)或以上,建议4320分钟(3天)。 |
||
一致性检查 |
计算机名 |
源数据库和目标数据库的计算机名不能相同。 |
|
同步对象类 |
选择对象检查 |
|
- |
库表名规范检查 |
|
- |
|
无主键表检查 |
由于无主键表的性能低于主键表的性能,建议将无主键表修改为主键表。 |
详见源库无主键表检查。 |
|
同名检查 |
除了SQL Server系统数据库之外,目标数据库不能包含与源数据库同名的对象。 |
||
源数据库检查 |
选择的同步对象在源数据库中必须存在。 |
详见源库选择对象预检查。 |
|
源数据库实例不允许为空。 |
详见源数据库实例是否为空。 |
||
源数据库的备份恢复模式必须设置为FULL模式。 |
详见源数据库恢复模式检查。 |
||
源数据库必须开启SQL Server Agent代理服务。 |
|||
源数据库中不允许存在被禁用的表的聚簇索引,否则会导致同步失败。 |
|||
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
Microsoft SQL Server->Microsoft SQL Server
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
最少需要具备sysadmin权限,或者view server state权限以及待同步数据库的db_datareader或db_owner权限。 |
- |
目标数据库权限 |
如果库不存在,需要对库级别开启create any database权限; 如果库存在需要库级别开启connect,create table,alter any schema 和select权限。 |
- |
|
版本类 |
源数据库版本 |
|
详见支持的数据库。 |
目标数据库版本 |
RDS for SQL Server(企业版2012、2014、2016、2017、2019版本,标准版2016 SP2及以上版本、2017、2019版本) |
详见支持的数据库。 |
|
同步版本检查 |
仅支持目标数据库版本等于或高于源数据库版本。 |
||
目标数据库检查 |
状态检查 |
目标数据库实例的状态必须正常。 |
- |
增量同步类 |
CDC开启 |
SQL Server为源的增量同步基于SQL Server提供的CDC能力,如果SQL Server源库的CDC功能出现异常(如被关闭、事务日志满等情况),则增量同步就会受到影响。 |
详见源库表是否开启了CDC。 |
CDC数据保留时间检查 |
源数据库CDC数据保留时间不足1天,会导致增量同步异常。请修改为1440分钟(1天)或以上,建议4320分钟(3天)。 |
||
一致性检查 |
计算机名 |
源数据库和目标数据库的计算机名不能相同。 |
|
同步对象类 |
选择对象检查 |
|
- |
库表名规范检查 |
|
- |
|
同名检查 |
除了SQL Server系统数据库之外,目标数据库不能包含与源数据库同名的对象。 |
||
源数据库检查 |
选择的同步对象在源数据库中必须存在。 |
详见源库选择对象预检查。 |
|
源数据库实例不允许为空。 |
详见源数据库实例是否为空。 |
||
源数据库的备份恢复模式必须设置为FULL模式。 |
详见源数据库恢复模式检查。 |
||
源数据库必须开启SQL Server Agent代理服务。 |
|||
不支持同步源数据库中开启TDE(Transparent Data Encryption)加密的数据库。如果不需要同步TDE加密的库,请在对象选择中去掉。如果需要同步TDE加密的库,请先将TDE关闭。 |
|||
源数据库中不允许存在被禁用的表的聚簇索引,否则会导致同步失败。 |
|||
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
MongoDB->DDS
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
副本集:连接源数据库的用户需要有admin库的readAnyDatabase权限,有local库的read权限。 |
- |
目标数据库权限 |
连接目标数据库的用户需要有admin库的dbAdminAnyDatabase权限,有目标数据库的readWrite权限。 |
- |
|
版本类 |
源数据库版本 |
|
详见支持的数据库。 |
目标数据库版本 |
DDS(3.4、4.0、4.2、4.4版本) |
详见支持的数据库。 |
|
同步版本检查 |
仅支持目标数据库版本等于或高于源数据库版本。 |
||
目标数据库检查 |
磁盘空间检查 |
目标数据库实例必须有足够的磁盘空间。 |
|
状态检查 |
目标数据库实例的状态必须正常,如果数据库实例是主备实例,复制状态也必须正常。 |
- |
|
chunk数目检查 |
检查目标数据库的最大chunk数目是否足以支撑源库数据的分片分裂,当chunk个数达到目标库的最大支撑数目时,chunk不再分裂,会影响写入性能。 |
||
同步对象类 |
选择对象检查 |
|
- |
对象依赖关系检查 |
在进行用户迁移时,如果所选迁移的用户与某些角色存在依赖关系,需要同时选择迁移该用户及所依赖的角色,否则会导致迁移失败。 |
- |
|
关联对象检查 |
相互关联的数据对象要确保同时同步,避免因关联对象缺失,导致同步失败。常见的关联关系:视图引用集合、视图引用视图。 |
||
库表名规范检查 |
|
- |
|
源数据库检查 |
预检查阶段进行同步对象检查时,源数据库连接正常。 |
详见源库选择对象预检查。 |
|
对于在源数据库已经存在TTL索引的集合,或者在增量同步期间在源库数据创建了TTL索引的集合,由于源数据库和目标库数据库时区,时钟的不一致,不能保证同步完成之后数据的一致性。 |
|||
源数据库实例不允许为空。 |
详见源数据库实例是否为空。 |
||
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
MariaDB->MariaDB
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
SELECT、SHOW VIEW、EVENT、LOCK TABLES、RELOAD、REPLICATION SLAVE、REPLICATION CLIENT(或BINLOG MONIOTOR,MariaDB 10.5及以上版本更改为此权限)。 |
- |
目标数据库权限 |
SELECT、CREATE、DROP、DELETE、INSERT、UPDATE、ALTER、CREATE VIEW、CREATE ROUTINE、REFERENCES、INDEX,RDS for MariaDB实例的root账户默认已具备上述权限。 |
- |
|
版本类 |
源数据库版本 |
支持10.3、10.4、10.5版本。 |
详见支持的数据库。 |
目标数据库版本 |
支持10.5版本。 |
详见支持的数据库。 |
|
同步版本检查 |
仅支持目标数据库版本等于或高于源数据库版本。 |
||
参数类 |
性能参数 |
源数据库log_slave_updates参数需设置为开启状态,否则会导致同步失败。 |
|
源数据库的binlog_row_image参数需设置为full,否则会导致同步失败。 |
|||
最大允许传输包的大小 |
DRS同步时会有大量数据写入目标库,目标库max_allowed_packet参数过小会导致无法写入,建议将目标库max_allowed_packet参数值设置为大于100MB。 |
||
sql_mode取值检查 |
同步的对象中包含引擎为MyISAM的表,则目标数据库sql_mode不能包含no_engine_substitution参数,否则可能会导致同步失败。 |
||
增量同步类 |
Binlog开启 |
增量同步时,源数据库的Binlog日志必须打开。 |
|
Binlog格式 |
源数据库的Binlog格式必须为行格式。 |
||
Binlog保留时长 |
在磁盘空间允许的情况下,建议源数据库Binlog保存时间越长越好,建议为3天,设置为0,可能会导致同步失败。 |
||
server_id值设置 |
增量同步时,必须设置MariaDB源数据库的server_id,server_id的取值范围在1-4294967296之间。 |
||
表字段检查 |
同步对象中如果存在包含longtext、longblob类型字段的表,建议创建大规格及以上规格的DRS任务进行同步,否则可能会导致capture OOM。 |
- |
|
索引列长度检查 |
源数据库索引列长度必须符合要求。 |
详见源数据库索引列长度检查。 |
|
目标数据库检查 |
磁盘空间检查 |
目标数据库实例必须有足够的磁盘空间。 |
|
状态检查 |
目标数据库实例的状态必须正常,如果数据库实例是主备实例,复制状态也必须正常。 |
- |
|
一致性检查 |
字符集 |
目标库和源库的字符集需要一致。 |
|
字符序 |
目标库和源库的collation_server需要一致。 |
||
大小写敏感 |
目标库和源库的lower_case_table_names参数设置需要一致。 |
||
group_concat函数计算结果字符的最大长度 |
目标库和源库的group_concat_max_len参数需要一致。 |
||
InnoDB检查模式 |
目标库和源库innodb_strict_mode需要一致。 |
||
SQL模式 |
目标库和源库sql_mode需要一致。 |
||
同步对象类 |
选择对象检查 |
|
- |
|
详见映射数据库对象检查。 |
||
无主键表检查 |
由于无主键表的性能低于主键表的性能,建议将无主键表修改为主键表。 |
详见源库无主键表检查。 |
|
关联对象检查 |
相互关联的数据对象要确保同时同步,避免因关联对象缺失,导致同步失败。常见的关联关系:视图引用表、视图引用视图、存储过程/函数/触发器引用视图/表、主外键关联表等。 |
||
加密表检查 |
源数据库是否存在加密表。 |
详见源库加密表检查。 |
|
同名检查 |
除了系统数据库之外,当目标数据库和源数据库同名时,目标数据库中如果存在与源数据库同名的表,则表结构必须与源库保持一致。 |
||
库表名规范检查 |
|
- |
|
源数据库检查 |
预检查阶段进行同步对象检查时,源数据库连接正常。 |
详见源库选择对象预检查。 |
|
SSL连接检查 |
SSL安全连接检查 |
选择SSL安全连接时,源数据库和目标数据库的SSL安全连接成功。 |
详见SSL安全连接检查。 |
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
MariaDB->MySQL
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
SELECT、SHOW VIEW、EVENT、LOCK TABLES、RELOAD、REPLICATION SLAVE、REPLICATION CLIENT(或BINLOG MONIOTOR,MariaDB 10.5及以上版本更改为此权限)。 |
- |
目标数据库权限 |
SELECT、CREATE、DROP、DELETE、INSERT、UPDATE、ALTER、CREATE VIEW、CREATE ROUTINE、REFERENCES,RDS for MySQL实例的root账户默认已具备上述权限。当目标库为8.0.14-8.0.18版本时,还需要有SESSION_VARIABLES_ADMIN权限。 |
- |
|
版本类 |
源数据库版本 |
支持10.0、10.1、10.2、10.3、10.4、10.5版本。 |
详见支持的数据库。 |
目标数据库版本 |
支持5.5、5.6、5.7、8.0版本。 |
详见支持的数据库。 |
|
参数类 |
性能参数 |
源数据库log_slave_updates参数需设置为开启状态,否则会导致同步失败。 |
|
源数据库的binlog_row_image参数需设置为full,否则会导致同步失败。 |
|||
最大允许传输包的大小 |
DRS同步时会有大量数据写入目标库,目标库max_allowed_packet参数过小会导致无法写入,建议将目标库max_allowed_packet参数值设置为大于100MB。 |
||
sql_mode取值检查 |
同步的对象中包含引擎为MyISAM的表,则目标数据库sql_mode不能包含no_engine_substitution参数,否则可能会导致同步失败。 |
||
增量同步类 |
Binlog开启 |
增量同步时,源数据库的Binlog日志必须打开。 |
|
Binlog格式 |
源数据库的Binlog格式必须为行格式。 |
||
Binlog保留时长 |
在磁盘空间允许的情况下,建议源数据库Binlog保存时间越长越好,建议为3天,设置为0,可能会导致同步失败。 |
||
server_id值设置 |
增量同步时,必须设置MariaDB源数据库的server_id,server_id的取值范围在1-4294967296之间。 |
||
表字段检查 |
同步对象中如果存在包含longtext、longblob类型字段的表,建议创建大规格及以上规格的DRS任务进行同步,否则可能会导致capture OOM。 |
- |
|
索引列长度检查 |
源数据库索引列长度必须符合要求。 |
详见源数据库索引列长度检查。 |
|
目标数据库检查 |
磁盘空间检查 |
目标数据库实例必须有足够的磁盘空间。 |
|
状态检查 |
目标数据库实例的状态必须正常,如果数据库实例是主备实例,复制状态也必须正常。 |
- |
|
一致性检查 |
字符集 |
目标库和源库的字符集需要一致。 |
|
字符序 |
目标库和源库的collation_server需要一致。 |
||
时钟 |
目标库和源库的时钟需要一致。 |
- |
|
大小写敏感 |
目标库和源库的lower_case_table_names参数设置需要一致。 |
||
group_concat函数计算结果字符的最大长度 |
目标库和源库的group_concat_max_len参数需要一致。 |
||
InnoDB检查模式 |
目标库和源库innodb_strict_mode需要一致。 |
||
SQL模式 |
目标库和源库sql_mode需要一致。 |
||
同步对象类 |
选择对象检查 |
|
- |
|
详见映射数据库对象检查。 |
||
无主键表检查 |
由于无主键表的性能低于主键表的性能,建议将无主键表修改为主键表。 |
详见源库无主键表检查。 |
|
关联对象检查 |
相互关联的数据对象要确保同时同步,避免因关联对象缺失,导致同步失败。常见的关联关系:视图引用表、视图引用视图、存储过程/函数/触发器引用视图/表、主外键关联表等。 |
||
加密表检查 |
源数据库是否存在加密表。 |
详见源库加密表检查。 |
|
同名检查 |
除了系统数据库之外,当目标数据库和源数据库同名时,目标数据库中如果存在与源数据库同名的表,则表结构必须与源库保持一致。 |
||
库表名规范检查 |
|
- |
|
源数据库检查 |
预检查阶段进行同步对象检查时,源数据库连接正常。 |
详见源库选择对象预检查。 |
|
SSL连接检查 |
SSL安全连接检查 |
选择SSL安全连接时,源数据库和目标数据库的SSL安全连接成功。 |
详见SSL安全连接检查。 |
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
MariaDB->TaurusDB
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
SELECT、SHOW VIEW、EVENT、LOCK TABLES、RELOAD、REPLICATION SLAVE、REPLICATION CLIENT(或BINLOG MONIOTOR,MariaDB 10.5及以上版本更改为此权限)。 |
- |
目标数据库权限 |
SELECT、CREATE、DROP、DELETE、INSERT、UPDATE、ALTER、CREATE VIEW、CREATE ROUTINE、REFERENCES,TaurusDB实例的root账户默认已具备上述权限。当目标库为8.0.14-8.0.18版本时,还需要有SESSION_VARIABLES_ADMIN权限。 |
- |
|
版本类 |
源数据库版本 |
支持10.0、10.1、10.2、10.3、10.4、10.5版本。 |
详见支持的数据库。 |
目标数据库版本 |
支持8.0版本。 |
详见支持的数据库。 |
|
参数类 |
性能参数 |
源数据库log_slave_updates参数需设置为开启状态,否则会导致同步失败。 |
|
源数据库的binlog_row_image参数需设置为full,否则会导致同步失败。 |
|||
最大允许传输包的大小 |
DRS同步时会有大量数据写入目标库,目标库max_allowed_packet参数过小会导致无法写入,建议将目标库max_allowed_packet参数值设置为大于100MB。 |
||
sql_mode取值检查 |
同步的对象中包含引擎为MyISAM的表,则目标数据库sql_mode不能包含no_engine_substitution参数,否则可能会导致同步失败。 |
||
增量同步类 |
Binlog开启 |
增量同步时,源数据库的Binlog日志必须打开。 |
|
Binlog格式 |
源数据库的Binlog格式必须为行格式。 |
||
Binlog保留时长 |
在磁盘空间允许的情况下,建议源数据库Binlog保存时间越长越好,建议为3天,设置为0,可能会导致同步失败。 |
||
server_id值设置 |
增量同步时,必须设置MariaDB源数据库的server_id,server_id的取值范围在1-4294967296之间。 |
||
表字段检查 |
同步对象中如果存在包含longtext、longblob类型字段的表,建议创建大规格及以上规格的DRS任务进行同步,否则可能会导致capture OOM。 |
- |
|
索引列长度检查 |
源数据库索引列长度必须符合要求。 |
详见源数据库索引列长度检查。 |
|
目标数据库检查 |
磁盘空间检查 |
目标数据库实例必须有足够的磁盘空间。 |
|
状态检查 |
目标数据库实例的状态必须正常,如果数据库实例是主备实例,复制状态也必须正常。 |
- |
|
一致性检查 |
字符集 |
目标库和源库的字符集需要一致。 |
|
字符序 |
目标库和源库的collation_server需要一致。 |
||
时钟 |
目标库和源库的时钟需要一致。 |
- |
|
大小写敏感 |
目标库和源库的lower_case_table_names参数设置需要一致。 |
||
group_concat函数计算结果字符的最大长度 |
目标库和源库的group_concat_max_len参数需要一致。 |
||
InnoDB检查模式 |
目标库和源库innodb_strict_mode需要一致。 |
||
SQL模式 |
目标库和源库sql_mode需要一致。 |
||
同步对象类 |
选择对象检查 |
|
- |
|
详见映射数据库对象检查。 |
||
无主键表检查 |
由于无主键表的性能低于主键表的性能,建议将无主键表修改为主键表。 |
详见源库无主键表检查。 |
|
关联对象检查 |
相互关联的数据对象要确保同时同步,避免因关联对象缺失,导致同步失败。常见的关联关系:视图引用表、视图引用视图、存储过程/函数/触发器引用视图/表、主外键关联表等。 |
||
加密表检查 |
源数据库是否存在加密表。 |
详见源库加密表检查。 |
|
同名检查 |
除了系统数据库之外,当目标数据库和源数据库同名时,目标数据库中如果存在与源数据库同名的表,则表结构必须与源库保持一致。 |
||
库表名规范检查 |
|
- |
|
源数据库检查 |
预检查阶段进行同步对象检查时,源数据库连接正常。 |
详见源库选择对象预检查。 |
|
SSL连接检查 |
SSL安全连接检查 |
选择SSL安全连接时,源数据库和目标数据库的SSL安全连接成功。 |
详见SSL安全连接检查。 |
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
TaurusDB->TaurusDB
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
SELECT、SHOW VIEW、EVENT、LOCK TABLES、REPLICATION SLAVE、REPLICATION CLIENT。 |
- |
目标数据库权限 |
SELECT、CREATE、DROP、DELETE、INSERT、UPDATE、ALTER、CREATE VIEW、CREATE ROUTINE、REFERENCES,TaurusDB实例的root账户默认已具备上述权限。 当目标库为8.0.14-8.0.18版本时,还需要有SESSION_VARIABLES_ADMIN权限。 |
- |
|
版本类 |
源数据库版本 |
支持8.0版本。 |
详见支持的数据库。 |
目标数据库版本 |
支持8.0版本。 |
详见支持的数据库。 |
|
同步版本检查 |
仅支持目标数据库版本等于或高于源数据库版本。 |
||
参数类 |
GTID状态 |
源数据库GTID状态建议为开启状态,源数据库实例没有开启GTID的情况下不支持主备倒换,DRS任务会因为位点不续接而中断导致无法恢复。 |
详见源库的GTID功能检查。 |
性能参数 |
源数据库log_slave_updates参数需设置为开启状态,否则会导致同步失败。 |
||
源数据库的binlog_row_image参数需设置为full,否则会导致同步失败。 |
|||
最大允许传输包的大小 |
DRS同步时会有大量数据写入目标库,目标库max_allowed_packet参数过小会导致无法写入,建议将目标库max_allowed_packet参数值设置为大于100MB。 |
||
DRS在同步数据量大或同步大字段情况下,源数据库max_allowed_packet参数过小可能会导致任务失败。 |
|||
sql_mode取值检查 |
同步的对象中包含引擎为MyISAM的表,则目标数据库sql_mode不能包含no_engine_substitution参数,否则可能会导致同步失败。 |
||
增量同步类 |
Binlog开启 |
增量同步时,源数据库的Binlog日志必须打开。 |
|
Binlog格式 |
源数据库的Binlog格式必须为行格式。 |
||
Binlog保留时长 |
在磁盘空间允许的情况下,建议源数据库Binlog保存时间越长越好,建议为3天,设置为0,可能会导致同步失败。 |
||
server_id值设置 |
增量同步时,必须设置源数据库的server_id,server_id的取值范围在1-4294967296之间。 |
||
表字段检查 |
同步对象中如果存在包含longtext、longblob类型字段的表,建议创建大规格及以上规格的DRS任务进行同步,否则可能会导致capture OOM。 |
- |
|
索引列长度检查 |
源数据库索引列长度必须符合要求。 |
详见源数据库索引列长度检查。 |
|
目标数据库检查 |
状态检查 |
目标数据库实例的状态必须正常,如果数据库实例是主备实例,复制状态也必须正常。 |
- |
一致性检查 |
字符集 |
目标库和源库的字符集需要一致。 |
|
字符序 |
目标库和源库的collation_server需要一致。 |
||
时钟 |
目标库和源库的时钟需要一致。 |
- |
|
时区 |
目标库和源库的time_zone需要一致。 |
||
大小写敏感 |
目标库和源库的lower_case_table_names参数设置需要一致。 |
||
group_concat函数计算结果字符的最大长度 |
目标库和源库的group_concat_max_len参数需要一致。 |
||
InnoDB检查模式 |
目标库和源库innodb_strict_mode需要一致。 |
||
SQL模式 |
目标库和源库sql_mode需要一致。 |
||
数据块加密参数 |
目标库和源库block_encryption_mode需要一致。 |
- |
|
同步对象类 |
选择对象检查 |
|
- |
|
详见映射数据库对象检查。 |
||
无主键表检查 |
由于无主键表的性能低于主键表的性能,建议将无主键表修改为主键表。 |
详见源库无主键表检查。 |
|
关联对象检查 |
相互关联的数据对象要确保同时同步,避免因关联对象缺失,导致同步失败。常见的关联关系:视图引用表、视图引用视图、存储过程/函数/触发器引用视图/表、主外键关联表等。 |
||
外键引用操作检查 |
不支持外键级联操作。当外键是普通索引的时候,可能会导致表结构创建失败,建议改成唯一索引。 |
||
加密表检查 |
源数据库是否存在加密表。 |
详见源库加密表检查。 |
|
同名检查 |
除了系统数据库之外,当目标数据库和源数据库同名时,目标数据库中如果存在与源数据库同名的表,则表结构必须与源库保持一致。 |
||
库表名规范检查 |
|
- |
|
源数据库检查 |
预检查阶段进行同步对象检查时,源数据库连接正常。 |
详见源库选择对象预检查。 |
|
SSL连接检查 |
SSL安全连接检查 |
选择SSL安全连接时,源数据库和目标数据库的SSL安全连接成功。 |
详见SSL安全连接检查。 |
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
GaussDB集中式版->GaussDB集中式版
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
|
-授予同步用户权限 |
目标数据库权限 |
具备sysadmin角色或者以下最小权限: 需要DATABASE的CONNECT和CREATE权限、SCHEMA的USAGE和CREATE权限、表的INSERT、UPDATE、DELETE、SELECT、ALTER、INDEX、COMMENT权限。 |
- |
|
版本类 |
源数据库版本 |
支持1.0.0及以上版本,版本查询:select version(); 以下是特性版本限制,特性版本号查询:select working_version_num(); 支持并行解码最低版本92556; 支持备机读最低版本93088; 支持级联复制最低版本93042; 支持M兼容模式最低版本94301; 支持CN解码最低版本93024; 支持指定位点启动复制槽最低版本94472; 支持DDL逻辑解码最低版本93782;支持truncate最低版本94382; |
详见支持的数据库。 |
目标数据库版本 |
支持1.0.0及以上版本,版本查询方式select version(); 目标端数据库版本不小于源端数据库版本。 |
详见支持的数据库。 |
|
参数类 |
性能参数 |
源数据库的max_replication_slots参数值必须大于当前已使用的复制槽数量。 |
|
源数据库中无主键表的replica identity属性必须为full。 建议将主键表的REPLICA IDENTITY属性设置为FULL。 |
|||
源库的enable_slot_log参数设置为on。 |
|||
源数据库的wal_level必须配置为logical。 |
|||
数据同步类 |
表字段检查 |
支持bigint、 bit、 bit varying、 blob、 boolean、 box、 bytea、character、 character varying、 cidr、 circle、 clob、date、 double precision、inet、 integer、 interval、 mediumint、tinyint unsigned、smallint unsigned、 mediumint unsigned、 integer unsigned、bigint unsigned、 json、 jsonb、 lseg、 macaddr、 money、 number、 numeric、varchar2、 path、 point、 polygon、 raw、 real、smalldatetime、 smallint、 text、time with time zone、time without time zone、 timestamp with time zone、timestamp without time zone、tinyint、 tsquery、 tsvector、 refcursor、 uuid、 array、 float4、 decimal、 float、 double、char、 varchar、 tinytext、 mediumtext、 longtext、datetime、 timestamp、 time、 year、binary、 varbinary、 tinyblob、 mediumblob、 longblob等数据类型的同步 |
- |
长事务检查 |
源数据库存在长时间未提交事务,无法创建复制槽,可能会导致任务增量同步失败。 |
详见源库长事务检查 |
|
无日志表检查 |
增量同步时,不支持无日志表(UNLOGGED TABLE)的同步。 |
- |
|
一致性检查 |
schema和表检查 |
目标库和源库的schema、表结构需要一致。 |
- |
数据库兼容类型检查 |
目标库和源库的数据库兼容类型要保持一致。 |
查询同步库的兼容类型: select datname, datcompatibility from pg_database; |
|
源端和目标端数据库字符集检查 |
源端和目标端字符集需要保持一致 |
- |
|
同步对象类 |
选择对象检查 |
|
- |
选择对象约束检查 |
源库所选表不能包含延迟约束 。 |
详见所选表是否包含延迟约束。 |
|
库表列名规范检查 |
库名、模式名、表名不能包含/ < . > \ ' ` | , ? ! |
- |
|
源数据库检查 |
预检查阶段进行同步对象检查时,源数据库连接正常。 |
详见源库选择对象预检查。 |
|
|
- |
||
任务启动前请确保源数据库中不存在长时间未提交的事务。 |
详见源库长事务检查 |
||
源数据库的SSL状态正常,可以进行远程连接和复制连接。 |
|||
目标端对象检查 |
目标库的表不能包含外键约束和触发器。 |
||
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
GaussDB集中式版->GaussDB分布式版
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
|
-授予同步用户权限 |
目标数据库权限 |
具备sysadmin角色或者以下最小权限: 需要DATABASE的CONNECT和CREATE权限、SCHEMA的USAGE和CREATE权限、表的INSERT、UPDATE、DELETE、SELECT、ALTER、INDEX、COMMENT权限。 |
- |
|
版本类 |
源数据库版本 |
支持1.0.0及以上版本,版本查询:select version(); 以下是特性版本限制,特性版本号查询:select working_version_num(); 支持并行解码最低版本92556; 支持备机读最低版本93088; 支持级联复制最低版本93042; 支持M兼容模式最低版本94301; 支持CN解码最低版本93024; 支持指定位点启动复制槽最低版本94472; 支持DDL逻辑解码最低版本93782;支持truncate最低版本94382; |
详见支持的数据库。 |
目标数据库版本 |
支持1.0.0及以上版本,版本查询方式select version(); 目标端数据库版本不小于源端数据库版本。 |
详见支持的数据库。 |
|
参数类 |
性能参数 |
源数据库的max_replication_slots参数值必须大于当前已使用的复制槽数量。 |
|
源数据库中无主键表的replica identity属性必须为full。 建议将主键表的REPLICA IDENTITY属性设置为FULL。 |
|||
源库的enable_slot_log参数设置为on。 |
|||
源数据库的wal_level必须配置为logical。 |
|||
数据同步类 |
表字段检查 |
支持bigint、 bit、 bit varying、 blob、 boolean、 box、 bytea、character、 character varying、 cidr、 circle、 clob、date、 double precision、inet、 integer、 interval、 mediumint、tinyint unsigned、smallint unsigned、 mediumint unsigned、 integer unsigned、bigint unsigned、 json、 jsonb、 lseg、 macaddr、 money、 number、 numeric、varchar2、 path、 point、 polygon、 raw、 real、smalldatetime、 smallint、 text、time with time zone、time without time zone、 timestamp with time zone、timestamp without time zone、tinyint、 tsquery、 tsvector、 refcursor、 uuid、 array、 float4、 decimal、 float、 double、char、 varchar、 tinytext、 mediumtext、 longtext、datetime、 timestamp、 time、 year、binary、 varbinary、 tinyblob、 mediumblob、 longblob等数据类型的同步 |
- |
长事务检查 |
源数据库存在长时间未提交事务,无法创建复制槽,可能会导致任务增量同步失败。 |
详见源库长事务检查 |
|
无日志表检查 |
增量同步时,不支持无日志表(UNLOGGED TABLE)的同步。 |
- |
|
无主键分区表检查 |
无主键分区表检查增量同步时,不支持无主键分区表的同步。 |
- |
|
一致性检查 |
schema和表检查 |
目标库和源库的schema、表结构需要一致。 |
- |
数据库兼容类型检查 |
目标库和源库的数据库兼容类型要保持一致。 |
查询同步库的兼容类型: select datname, datcompatibility from pg_database; |
|
源端和目标端数据库字符集检查 |
源端和目标端字符集需要保持一致 |
- |
|
同步对象类 |
选择对象检查 |
|
- |
选择对象约束检查 |
|
详见所选表是否包含延迟约束。 |
|
库表列名规范检查 |
|
- |
|
源数据库检查 |
预检查阶段进行同步对象检查时,源数据库连接正常。 |
详见源库选择对象预检查。 |
|
|
- |
||
任务启动前请确保源数据库中不存在长时间未提交的事务。 |
详见源库长事务检查 |
||
源数据库的SSL状态正常,可以进行远程连接和复制连接。 |
|||
目标端对象检查 |
目标库的表不能包含外键约束和触发器。 |
||
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
GaussDB分布式版->GaussDB集中式版
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
|
-授予同步用户权限 |
目标数据库权限 |
具备sysadmin角色或者以下最小权限: 需要DATABASE的CONNECT和CREATE权限、SCHEMA的USAGE和CREATE权限、表的INSERT、UPDATE、DELETE、SELECT、ALTER、INDEX、COMMENT权限。 |
- |
|
版本类 |
源数据库版本 |
支持1.0.0及以上版本,版本查询:select version(); 以下是特性版本限制,特性版本号查询:select working_version_num(); 支持并行解码最低版本92556; 支持备机读最低版本93088; 支持级联复制最低版本93042; 支持M兼容模式最低版本94301; 支持CN解码最低版本93024; 支持指定位点启动复制槽最低版本94472; 支持DDL逻辑解码最低版本93782;支持truncate最低版本94382; |
详见支持的数据库。 |
目标数据库版本 |
支持1.0.0及以上版本,版本查询方式select version(); 目标端数据库版本不小于源端数据库版本。 |
详见支持的数据库。 |
|
参数类 |
性能参数 |
源数据库的max_replication_slots参数值必须大于当前已使用的复制槽数量。 |
|
源数据库中无主键表的replica identity属性必须为full。 建议将主键表的REPLICA IDENTITY属性设置为FULL。 |
|||
源库的enable_slot_log参数设置为on。 |
|||
源数据库的wal_level必须配置为logical。 |
|||
数据同步类 |
表字段检查 |
支持bigint、 bit、 bit varying、 blob、 boolean、 box、 bytea、character、 character varying、 cidr、 circle、 clob、date、 double precision、inet、 integer、 interval、 mediumint、tinyint unsigned、smallint unsigned、 mediumint unsigned、 integer unsigned、bigint unsigned、 json、 jsonb、 lseg、 macaddr、 money、 number、 numeric、varchar2、 path、 point、 polygon、 raw、 real、smalldatetime、 smallint、 text、time with time zone、time without time zone、 timestamp with time zone、timestamp without time zone、tinyint、 tsquery、 tsvector、 refcursor、 uuid、 array、 float4、 decimal、 float、 double、char、 varchar、 tinytext、 mediumtext、 longtext、datetime、 timestamp、 time、 year、binary、 varbinary、 tinyblob、 mediumblob、 longblob等数据类型的同步 |
- |
长事务检查 |
源数据库存在长时间未提交事务,无法创建复制槽,可能会导致任务增量同步失败。 |
详见源库长事务检查 |
|
无日志表检查 |
增量同步时,不支持无日志表(UNLOGGED TABLE)的同步。 |
- |
|
一致性检查 |
schema和表检查 |
目标库和源库的schema、表结构需要一致。 |
- |
源端和目标端数据库字符集检查 |
源端和目标端字符集需要保持一致 |
- |
|
数据库兼容类型检查 |
目标库和源库的数据库兼容类型要保持一致。 |
查询同步库的兼容类型: select datname, datcompatibility from pg_database; |
|
多任务模式dn数量检查 |
用户填写的子任务数量和源端数据库的dn数量要保持一致 |
- |
|
同步对象类 |
选择对象检查 |
|
- |
选择对象约束检查 |
|
详见所选表是否包含延迟约束。 |
|
库表列名规范检查 |
|
- |
|
源数据库检查 |
预检查阶段进行同步对象检查时,源数据库连接正常。 |
详见源库选择对象预检查。 |
|
|
- |
||
任务启动前请确保源数据库中不存在长时间未提交的事务。 |
详见源库长事务检查 |
||
源数据库的SSL状态正常,可以进行远程连接和复制连接。 |
|||
目标端对象检查 |
目标库的表不能包含外键约束和触发器。 |
||
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
GaussDB分布式版->GaussDB分布式版
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
|
-授予同步用户权限 |
目标数据库权限 |
具备sysadmin角色或者以下最小权限: 需要DATABASE的CONNECT和CREATE权限、SCHEMA的USAGE和CREATE权限、表的INSERT、UPDATE、DELETE、SELECT、ALTER、INDEX、COMMENT权限。 |
- |
|
版本类 |
源数据库版本 |
支持1.0.0及以上版本,版本查询:select version(); 以下是特性版本限制,特性版本号查询:select working_version_num(); 支持并行解码最低版本92556; 支持备机读最低版本93088; 支持级联复制最低版本93042; 支持M兼容模式最低版本94301; 支持CN解码最低版本93024; 支持指定位点启动复制槽最低版本94472; 支持DDL逻辑解码最低版本93782;支持truncate最低版本94382; |
详见支持的数据库。 |
目标数据库版本 |
支持1.0.0及以上版本,版本查询方式select version(); 目标端数据库版本不小于源端数据库版本。 |
详见支持的数据库。 |
|
参数类 |
性能参数 |
源数据库的max_replication_slots参数值必须大于当前已使用的复制槽数量。 |
|
源数据库中无主键表的replica identity属性必须为full。 建议将主键表的REPLICA IDENTITY属性设置为FULL。 |
|||
源库的enable_slot_log参数设置为on。 |
|||
源数据库的wal_level必须配置为logical。 |
|||
数据同步类 |
表字段检查 |
支持bigint、 bit、 bit varying、 blob、 boolean、 box、 bytea、character、 character varying、 cidr、 circle、 clob、date、 double precision、inet、 integer、 interval、 mediumint、tinyint unsigned、smallint unsigned、 mediumint unsigned、 integer unsigned、bigint unsigned、 json、 jsonb、 lseg、 macaddr、 money、 number、 numeric、varchar2、 path、 point、 polygon、 raw、 real、smalldatetime、 smallint、 text、time with time zone、time without time zone、 timestamp with time zone、timestamp without time zone、tinyint、 tsquery、 tsvector、 refcursor、 uuid、 array、 float4、 decimal、 float、 double、char、 varchar、 tinytext、 mediumtext、 longtext、datetime、 timestamp、 time、 year、binary、 varbinary、 tinyblob、 mediumblob、 longblob等数据类型的同步 |
- |
长事务检查 |
源数据库存在长时间未提交事务,无法创建复制槽,可能会导致任务增量同步失败。 |
详见源库长事务检查 |
|
无日志表检查 |
增量同步时,不支持无日志表(UNLOGGED TABLE)的同步。 |
- |
|
无主键分区表检查 |
无主键分区表检查增量同步时,不支持无主键分区表的同步。 |
- |
|
一致性检查 |
schema和表检查 |
目标库和源库的schema、表结构需要一致。 |
- |
源端和目标端数据库字符集检查 |
源端和目标端字符集需要保持一致 |
- |
|
数据库兼容类型检查 |
目标库和源库的数据库兼容类型要保持一致。 |
查询同步库的兼容类型: select datname, datcompatibility from pg_database; |
|
多任务模式dn数量检查 |
用户填写的子任务数量和源端数据库的dn数量要保持一致 |
- |
|
同步对象类 |
选择对象检查 |
|
- |
选择对象约束检查 |
|
详见所选表是否包含延迟约束。 |
|
库表列名规范检查 |
|
- |
|
源数据库检查 |
预检查阶段进行同步对象检查时,源数据库连接正常。 |
详见源库选择对象预检查。 |
|
|
- |
||
任务启动前请确保源数据库中不存在长时间未提交的事务。 |
详见源库长事务检查 |
||
源数据库的SSL状态正常,可以进行远程连接和复制连接。 |
|||
目标端对象检查 |
目标库的表不能包含外键约束和触发器。 |
||
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
GaussDB集中式版->Kafka
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
|
-授予同步用户权限 |
Kafka权限 |
确保Kafka集群能被正常的连接; 确保DRS发起连接的客户端可以被认证; 确保DRS发起连接的客户端能够进行读取、写入和创建等操作; |
- |
|
版本类 |
源数据库版本 |
支持1.0.0及以上版本,版本查询:select version(); 以下是特性版本限制,特性版本号查询:select working_version_num(); 支持并行解码最低版本92556; 支持备机读最低版本93088; 支持级联复制最低版本93042; 支持M兼容模式最低版本94301; 支持CN解码最低版本93024; 支持指定位点启动复制槽最低版本94472; 支持DDL逻辑解码最低版本93782;支持truncate最低版本94382; |
详见支持的数据库。 |
Kafka版本 |
Kafka 0.11及以上版本 |
详见支持的数据库。 |
|
参数类 |
性能参数 |
源数据库的max_replication_slots参数值必须大于当前已使用的复制槽数量。 |
|
源数据库中无主键表的replica identity属性必须为full。 建议将主键表的REPLICA IDENTITY属性设置为FULL:具体可按照Kafka下游的消费业务设置 |
|||
源库的enable_slot_log参数设置为on。 |
|||
源数据库的wal_level必须配置为logical。 |
|||
数据同步类 |
表字段检查 |
支持bigint,tinyint unsigned,smallint unsigned,integer unsigned,bigint unsigned,bit,bit varying,blob,boolean,bytea,character,character varying,clob,date,double precision,integer,money,number,numeric,nvarchar2,raw,real,smalldatetime,smallint,text,time with time zone,time without time zone,timestamp with time zone,timestamp without time zone,tinyint等数据类型的同步 |
- |
长事务检查 |
源数据库存在长时间未提交事务,无法创建复制槽,可能会导致任务增量同步失败。 |
详见源库长事务检查 |
|
无日志表检查 |
增量同步时,不支持无日志表(UNLOGGED TABLE)的同步。 |
- |
|
无主键分区表检查 |
无主键分区表检查增量同步时,不支持无主键分区表的同步。 |
- |
|
同步对象类 |
选择对象检查 |
|
- |
选择对象约束检查 |
|
详见所选表是否包含延迟约束。 |
|
库表列名规范检查 |
|
- |
|
源数据库检查 |
预检查阶段进行同步对象检查时,源数据库连接正常。 |
详见源库选择对象预检查。 |
|
|
- |
||
任务启动前请确保源数据库中不存在长时间未提交的事务。 |
详见源库长事务检查 |
||
源数据库的SSL状态正常,可以进行远程连接和复制连接。 |
|||
网络情况 |
网络检查 |
目标端Kafka的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
GaussDB分布式版->Kafka
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
|
-授予同步用户权限 |
Kafka权限 |
确保Kafka集群能被正常的连接; 确保DRS发起连接的客户端可以被认证; 确保DRS发起连接的客户端能够进行读取、写入和创建等操作; |
- |
|
版本类 |
源数据库版本 |
支持1.0.0及以上版本,版本查询:select version(); 以下是特性版本限制,特性版本号查询:select working_version_num(); 支持并行解码最低版本92556; 支持备机读最低版本93088; 支持级联复制最低版本93042; 支持M兼容模式最低版本94301; 支持CN解码最低版本93024; 支持指定位点启动复制槽最低版本94472; 支持DDL逻辑解码最低版本93782;支持truncate最低版本94382; |
详见支持的数据库。 |
Kafka版本 |
Kafka 0.11及以上版本。 |
详见支持的数据库。 |
|
参数类 |
性能参数 |
源数据库的max_replication_slots参数值必须大于当前已使用的复制槽数量。 |
|
源数据库中无主键表的replica identity属性必须为full。 建议将主键表的REPLICA IDENTITY属性设置为FULL:具体可按照Kafka下游的消费业务设置 |
|||
源库的enable_slot_log参数设置为on。 |
|||
源数据库的wal_level必须配置为logical。 |
|||
数据同步类 |
表字段检查 |
支持bigint,tinyint unsigned,smallint unsigned,integer unsigned,bigint unsigned,bit,bit varying,blob,boolean,bytea,character,character varying,clob,date,double precision,integer,money,number,numeric,nvarchar2,raw,real,smalldatetime,smallint,text,time with time zone,time without time zone,timestamp with time zone,timestamp without time zone,tinyint等数据类型的同步 |
- |
长事务检查 |
源数据库存在长时间未提交事务,无法创建复制槽,可能会导致任务增量同步失败。 |
详见源库长事务检查 |
|
无日志表检查 |
增量同步时,不支持无日志表(UNLOGGED TABLE)的同步。 |
- |
|
无主键分区表检查 |
无主键分区表检查增量同步时,不支持无主键分区表的同步。 |
- |
|
一致性检查 |
多任务模式dn数量检查 |
用户填写的子任务数量和源端数据库的dn数量要保持一致 |
- |
同步对象类 |
选择对象检查 |
|
- |
选择对象约束检查 |
|
详见所选表是否包含延迟约束。 |
|
库表列名规范检查 |
|
- |
|
源数据库检查 |
预检查阶段进行同步对象检查时,源数据库连接正常。 |
详见源库选择对象预检查。 |
|
|
- |
||
任务启动前请确保源数据库中不存在长时间未提交的事务。 |
详见源库长事务检查 |
||
源数据库的SSL状态正常,可以进行远程连接和复制连接。 |
|||
网络情况 |
网络检查 |
目标端Kafka的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
GaussDB集中式版->MySQL
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
|
-授予同步用户权限 |
目标数据库权限 |
具备管理员用户权限或者以下最小权限: INSERT、DELETE、 UPDATE、 SELECT、SHOW DATABASES |
- |
|
版本类 |
源数据库版本 |
支持1.0.0及以上版本,版本查询:select version(); 以下是特性版本限制,特性版本号查询:select working_version_num(); 支持并行解码最低版本92556; 支持备机读最低版本93088; 支持级联复制最低版本93042; 支持M兼容模式最低版本94301; 支持CN解码最低版本93024; 支持指定位点启动复制槽最低版本94472; 支持DDL逻辑解码最低版本93782;支持truncate最低版本94382; |
详见支持的数据库。 |
目标数据库版本 |
RDS for MySQL 5.6、5.7版本 本地自建MySQL数据库 5.5、5.6、5.7版本 ECS自建MySQL数据库 5.5、5.6、5.7版本 其他云上MySQL数据库 5.5、5.6、5.7版本 |
详见支持的数据库。 |
|
参数类 |
性能参数 |
源数据库的max_replication_slots参数值必须大于当前已使用的复制槽数量。 |
|
源数据库中无主键表的replica identity属性必须为full。 建议将主键表的REPLICA IDENTITY属性设置为FULL。 |
|||
源库的enable_slot_log参数设置为on。 |
|||
源数据库的wal_level必须配置为logical。 |
|||
数据同步类 |
表字段检查 |
支持integer,tinyint,smallint,bigint,tinyint unsigned,smallint unsigned,integer unsigned,bigint unsigned,number,numeric,real,double precision,character,character varying,nvarchar2,bit,bit varying,blob,bytea,clob,raw,text,boolean,date,smalldatetime,time with time zone,time without time zone,timestamp with time zone,timestamp without time zone,money等数据类型的同步 |
- |
长事务检查 |
源数据库存在长时间未提交事务,无法创建复制槽,可能会导致任务增量同步失败。 |
详见源库长事务检查 |
|
无日志表检查 |
增量同步时,不支持无日志表(UNLOGGED TABLE)的同步。 |
- |
|
无主键分区表检查 |
无主键分区表检查增量同步时,不支持无主键分区表的同步。 |
- |
|
一致性检查 |
表检查 |
目标库和源库的表结构需要一致。 同步数据前需要清空目标端表数据。 |
- |
数据库兼容类型检查 |
源数据库兼容类型建议是B或者M兼容类型。 |
查询同步库的兼容类型: select datname, datcompatibility from pg_database; |
|
源端和目标端数据库字符集检查 |
源端和目标端字符集需要保持一致 |
- |
|
同步对象类 |
选择对象检查 |
|
- |
选择对象约束检查 |
|
详见所选表是否包含延迟约束。 |
|
库表列名规范检查 |
|
- |
|
源数据库检查 |
预检查阶段进行同步对象检查时,源数据库连接正常。 |
详见源库选择对象预检查。 |
|
|
- |
||
任务启动前请确保源数据库中不存在长时间未提交的事务。 |
详见源库长事务检查 |
||
源数据库的SSL状态正常,可以进行远程连接和复制连接。 |
|||
目标端对象检查 |
目标库的表不能包含外键约束和触发器。 |
||
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
GaussDB分布式版->MySQL
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
|
-授予同步用户权限 |
目标数据库权限 |
具备管理员用户权限或者以下最小权限: INSERT、DELETE、 UPDATE、 SELECT、SHOW DATABASES |
- |
|
版本类 |
源数据库版本 |
支持1.0.0及以上版本,版本查询:select version(); 以下是特性版本限制,特性版本号查询:select working_version_num(); 支持并行解码最低版本92556; 支持备机读最低版本93088; 支持级联复制最低版本93042; 支持M兼容模式最低版本94301; 支持CN解码最低版本93024; 支持指定位点启动复制槽最低版本94472; 支持DDL逻辑解码最低版本93782;支持truncate最低版本94382; |
详见支持的数据库。 |
目标数据库版本 |
RDS for MySQL 5.6、5.7版本 本地自建MySQL数据库 5.5、5.6、5.7版本 ECS自建MySQL数据库 5.5、5.6、5.7版本 其他云上MySQL数据库 5.5、5.6、5.7版本 |
详见支持的数据库。 |
|
参数类 |
性能参数 |
源数据库的max_replication_slots参数值必须大于当前已使用的复制槽数量。 |
|
源数据库中无主键表的replica identity属性必须为full。 建议将主键表的REPLICA IDENTITY属性设置为FULL。 |
|||
源库的enable_slot_log参数设置为on。 |
|||
源数据库的wal_level必须配置为logical。 |
|||
数据同步类 |
表字段检查 |
支持integer,tinyint,smallint,bigint,tinyint unsigned,smallint unsigned,integer unsigned,bigint unsigned,number,numeric,real,double precision,character,character varying,nvarchar2,bit,bit varying,blob,bytea,clob,raw,text,boolean,date,smalldatetime,time with time zone,time without time zone,timestamp with time zone,timestamp without time zone,money等数据类型的同步 |
- |
长事务检查 |
源数据库存在长时间未提交事务,无法创建复制槽,可能会导致任务增量同步失败。 |
详见源库长事务检查 |
|
无日志表检查 |
增量同步时,不支持无日志表(UNLOGGED TABLE)的同步。 |
- |
|
无主键分区表检查 |
无主键分区表检查增量同步时,不支持无主键分区表的同步。 |
- |
|
一致性检查 |
多任务模式dn数量检查 |
用户填写的子任务数量和源端数据库的dn数量要保持一致 |
- |
表检查 |
目标库和源库的表结构需要一致。 同步数据前需要清空目标端表数据。 |
- |
|
数据库兼容类型检查 |
源数据库兼容类型建议是Mysql或者M兼容类型。 |
查询同步库的兼容类型: select datname, datcompatibility from pg_database; |
|
源端和目标端数据库字符集检查 |
源端和目标端字符集需要保持一致 |
- |
|
同步对象类 |
选择对象检查 |
|
- |
选择对象约束检查 |
|
详见所选表是否包含延迟约束。 |
|
库表列名规范检查 |
|
- |
|
源数据库检查 |
预检查阶段进行同步对象检查时,源数据库连接正常。 |
详见源库选择对象预检查。 |
|
|
- |
||
任务启动前请确保源数据库中不存在长时间未提交的事务。 |
详见源库长事务检查 |
||
源数据库的SSL状态正常,可以进行远程连接和复制连接。 |
|||
目标端对象检查 |
目标库的表不能包含外键约束和触发器。 |
||
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
GaussDB集中式版->Oracle
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
|
-授予同步用户权限 |
目标数据库权限 |
用户需要具备DBA角色或者以下最小权限: CREATE SESSION权限,表的SELECT、INSERT、UPDATE、DELETE权限,或者具备RESOURCE角色。 |
- |
|
版本类 |
源数据库版本 |
支持1.0.0及以上版本,版本查询:select version(); 以下是特性版本限制,特性版本号查询:select working_version_num(); 支持并行解码最低版本92556; 支持备机读最低版本93088; 支持级联复制最低版本93042; 支持M兼容模式最低版本94301; 支持CN解码最低版本93024; 支持指定位点启动复制槽最低版本94472; 支持DDL逻辑解码最低版本93782;支持truncate最低版本94382; |
详见支持的数据库。 |
目标数据库版本 |
本地自建Oracle数据库11g、19c; ECS自建Oracle数据库11g、19c; |
详见支持的数据库。 |
|
参数类 |
性能参数 |
源数据库的max_replication_slots参数值必须大于当前已使用的复制槽数量。 |
|
源数据库中无主键表的replica identity属性必须为full。 建议将主键表的REPLICA IDENTITY属性设置为FULL。 |
|||
源库的enable_slot_log参数设置为on。 |
|||
源数据库的wal_level必须配置为logical。 |
|||
数据同步类 |
表字段检查 |
支持integer,tinyint,smallint,bigint,tinyint unsigned,smallint unsigned,integer unsigned,bigint unsigned,number,numeric,real,double precision,character,character varying,nvarchar2,bit,bit varying,blob,bytea,clob,raw,text,boolean,date,smalldatetime,time with time zone,time without time zone,timestamp with time zone,timestamp without time zone,money等数据类型的同步 |
- |
长事务检查 |
源数据库存在长时间未提交事务,无法创建复制槽,可能会导致任务增量同步失败。 |
详见源库长事务检查 |
|
无日志表检查 |
增量同步时,不支持无日志表(UNLOGGED TABLE)的同步。 |
- |
|
无主键分区表检查 |
无主键分区表检查增量同步时,不支持无主键分区表的同步。 |
- |
|
一致性检查 |
表检查 |
目标库和源库的表结构需要一致。 同步数据前需要清空目标端表数据。 |
- |
数据库兼容类型检查 |
源数据库兼容类型建议是A兼容类型。 |
查询同步库的兼容类型: select datname, datcompatibility from pg_database; |
|
源端和目标端数据库字符集检查 |
源端和目标端字符集需要保持一致 |
- |
|
同步对象类 |
选择对象检查 |
|
- |
选择对象约束检查 |
|
详见所选表是否包含延迟约束。 |
|
库表列名规范检查 |
|
- |
|
源数据库检查 |
预检查阶段进行同步对象检查时,源数据库连接正常。 |
详见源库选择对象预检查。 |
|
|
- |
||
任务启动前请确保源数据库中不存在长时间未提交的事务。 |
详见源库长事务检查 |
||
源数据库的SSL状态正常,可以进行远程连接和复制连接。 |
|||
目标端对象检查 |
目标库的表不能包含外键约束和触发器。 |
||
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
GaussDB分布式版->Oracle
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
|
-授予同步用户权限 |
目标数据库权限 |
用户需要具备DBA角色或者以下最小权限: CREATE SESSION权限,表的SELECT、INSERT、UPDATE、DELETE权限,或者具备RESOURCE角色。 |
- |
|
版本类 |
源数据库版本 |
支持1.0.0及以上版本,版本查询:select version(); 以下是特性版本限制,特性版本号查询:select working_version_num(); 支持并行解码最低版本92556; 支持备机读最低版本93088; 支持级联复制最低版本93042; 支持M兼容模式最低版本94301; 支持CN解码最低版本93024; 支持指定位点启动复制槽最低版本94472; 支持DDL逻辑解码最低版本93782;支持truncate最低版本94382; |
详见支持的数据库。 |
目标数据库版本 |
本地自建Oracle数据库11g、19c; ECS自建Oracle数据库11g、19c; |
详见支持的数据库。 |
|
参数类 |
性能参数 |
源数据库的max_replication_slots参数值必须大于当前已使用的复制槽数量。 |
|
源数据库中无主键表的replica identity属性必须为full。 建议将主键表的REPLICA IDENTITY属性设置为FULL。 |
|||
源库的enable_slot_log参数设置为on。 |
|||
源数据库的wal_level必须配置为logical。 |
|||
数据同步类 |
表字段检查 |
支持integer,tinyint,smallint,bigint,tinyint unsigned,smallint unsigned,integer unsigned,bigint unsigned,number,numeric,real,double precision,character,character varying,nvarchar2,bit,bit varying,blob,bytea,clob,raw,text,boolean,date,smalldatetime,time with time zone,time without time zone,timestamp with time zone,timestamp without time zone,money等数据类型的同步 |
- |
长事务检查 |
源数据库存在长时间未提交事务,无法创建复制槽,可能会导致任务增量同步失败。 |
详见源库长事务检查 |
|
无日志表检查 |
增量同步时,不支持无日志表(UNLOGGED TABLE)的同步。 |
- |
|
无主键分区表检查 |
无主键分区表检查增量同步时,不支持无主键分区表的同步。 |
- |
|
一致性检查 |
多任务模式dn数量检查 |
用户填写的子任务数量和源端数据库的dn数量要保持一致 |
- |
表检查 |
目标库和源库的表结构需要一致。 同步数据前需要清空目标端表数据。 |
- |
|
数据库兼容类型检查 |
源数据库兼容类型建议是ORA兼容类型。 |
查询同步库的兼容类型: select datname, datcompatibility from pg_database; |
|
源端和目标端数据库字符集检查 |
源端和目标端字符集需要保持一致 |
- |
|
同步对象类 |
选择对象检查 |
|
- |
选择对象约束检查 |
|
详见所选表是否包含延迟约束。 |
|
库表列名规范检查 |
|
- |
|
源数据库检查 |
预检查阶段进行同步对象检查时,源数据库连接正常。 |
详见源库选择对象预检查。 |
|
|
- |
||
任务启动前请确保源数据库中不存在长时间未提交的事务。 |
详见源库长事务检查 |
||
源数据库的SSL状态正常,可以进行远程连接和复制连接。 |
|||
目标端对象检查 |
目标库的表不能包含外键约束和触发器。 |
||
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
GaussDB集中式版->PostgreSQL
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
|
-授予同步用户权限 |
目标数据库权限 |
具备sysadmin角色权限或者以下最小权限: 库级权限:CONNECT权限。 schema级权限:USAGE权限。 表级权限:INSERT、UPDATE、DELETE、SELECT权限。 序列权限:UPDATE权限。 |
- |
|
版本类 |
源数据库版本 |
支持1.0.0及以上版本,版本查询:select version(); 以下是特性版本限制,特性版本号查询:select working_version_num(); 支持并行解码最低版本92556; 支持备机读最低版本93088; 支持级联复制最低版本93042; 支持M兼容模式最低版本94301; 支持CN解码最低版本93024; 支持指定位点启动复制槽最低版本94472; 支持DDL逻辑解码最低版本93782;支持truncate最低版本94382; |
详见支持的数据库。 |
目标数据库版本 |
本地自建数据库(PostgreSQL 9.5、9.6、10、11、12、13、14、15、16版本) ECS自建数据库(PostgreSQL 9.5、9.6、10、11、12、13、14、15、16版本) |
详见支持的数据库。 |
|
参数类 |
性能参数 |
源数据库的max_replication_slots参数值必须大于当前已使用的复制槽数量。 |
|
源数据库中无主键表的replica identity属性必须为full。 建议将主键表的REPLICA IDENTITY属性设置为FULL。 |
|||
源库的enable_slot_log参数设置为on。 |
|||
源数据库的wal_level必须配置为logical。 |
|||
数据同步类 |
表字段检查 |
不支持SMALLDATETIME、RELTIME、ABSTIME、TID、XID、CID、OID等数据类型的同步 |
- |
长事务检查 |
源数据库存在长时间未提交事务,无法创建复制槽,可能会导致任务增量同步失败。 |
详见源库长事务检查 |
|
无日志表检查 |
增量同步时,不支持无日志表(UNLOGGED TABLE)的同步。 |
- |
|
无主键分区表检查 |
无主键分区表检查增量同步时,不支持无主键分区表的同步。 |
- |
|
一致性检查 |
表检查 |
目标库和源库的表结构需要一致。 同步数据前需要清空目标端表数据。 |
- |
数据库兼容类型检查 |
源数据库兼容类型推荐PG或者A兼容模式。 |
查询同步库的兼容类型: select datname, datcompatibility from pg_database; |
|
源端和目标端数据库字符集检查 |
源端和目标端字符集需要保持一致 |
- |
|
同步对象类 |
选择对象检查 |
|
- |
选择对象约束检查 |
|
详见所选表是否包含延迟约束。 |
|
库表列名规范检查 |
|
- |
|
源数据库检查 |
预检查阶段进行同步对象检查时,源数据库连接正常。 |
详见源库选择对象预检查。 |
|
|
- |
||
任务启动前请确保源数据库中不存在长时间未提交的事务。 |
详见源库长事务检查 |
||
源数据库的SSL状态正常,可以进行远程连接和复制连接。 |
|||
目标端对象检查 |
目标库的表不能包含外键约束和触发器。 |
||
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
GaussDB分布式版->PostgreSQL
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
|
-授予同步用户权限 |
目标数据库权限 |
具备sysadmin角色权限或者以下最小权限: 库级权限:CONNECT权限。 schema级权限:USAGE权限。 表级权限:INSERT、UPDATE、DELETE、SELECT权限。 序列权限:UPDATE权限。 |
- |
|
版本类 |
源数据库版本 |
支持1.0.0及以上版本,版本查询:select version(); 以下是特性版本限制,特性版本号查询:select working_version_num(); 支持并行解码最低版本92556; 支持备机读最低版本93088; 支持级联复制最低版本93042; 支持M兼容模式最低版本94301; 支持CN解码最低版本93024; 支持指定位点启动复制槽最低版本94472; 支持DDL逻辑解码最低版本93782;支持truncate最低版本94382; |
详见支持的数据库。 |
目标数据库版本 |
本地自建数据库(PostgreSQL 9.5、9.6、10、11、12、13、14、15、16版本) ECS自建数据库(PostgreSQL 9.5、9.6、10、11、12、13、14、15、16版本) |
详见支持的数据库。 |
|
参数类 |
性能参数 |
源数据库的max_replication_slots参数值必须大于当前已使用的复制槽数量。 |
|
源数据库中无主键表的replica identity属性必须为full。 建议将主键表的REPLICA IDENTITY属性设置为FULL。 |
|||
源库的enable_slot_log参数设置为on。 |
|||
源数据库的wal_level必须配置为logical。 |
|||
数据同步类 |
表字段检查 |
不支持SMALLDATETIME、RELTIME、ABSTIME、TID、XID、CID、OID等数据类型的同步 |
- |
长事务检查 |
源数据库存在长时间未提交事务,无法创建复制槽,可能会导致任务增量同步失败。 |
详见源库长事务检查 |
|
无日志表检查 |
增量同步时,不支持无日志表(UNLOGGED TABLE)的同步。 |
- |
|
无主键分区表检查 |
无主键分区表检查增量同步时,不支持无主键分区表的同步。 |
- |
|
一致性检查 |
多任务模式dn数量检查 |
用户填写的子任务数量和源端数据库的dn数量要保持一致 |
- |
表检查 |
目标库和源库的表结构需要一致。 同步数据前需要清空目标端表数据。 |
- |
|
数据库兼容类型检查 |
源数据库兼容类型推荐PG或者ORA兼容模式。 |
查询同步库的兼容类型: select datname, datcompatibility from pg_database; |
|
源端和目标端数据库字符集检查 |
源端和目标端字符集需要保持一致 |
- |
|
同步对象类 |
选择对象检查 |
|
- |
选择对象约束检查 |
|
详见所选表是否包含延迟约束。 |
|
库表列名规范检查 |
|
- |
|
源数据库检查 |
预检查阶段进行同步对象检查时,源数据库连接正常。 |
详见源库选择对象预检查。 |
|
|
- |
||
任务启动前请确保源数据库中不存在长时间未提交的事务。 |
详见源库长事务检查 |
||
源数据库的SSL状态正常,可以进行远程连接和复制连接。 |
|||
目标端对象检查 |
目标库的表不能包含外键约束和触发器。 |
||
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
GaussDB集中式版->GaussDB(DWS)
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
|
-授予同步用户权限 |
目标数据库权限 |
通常需要具备sysadmin角色或以下基本权限: DATABASE上的权限:CONNECT、CREATE。 SCHEMA上的权限:USAGE、CREATE。 表上的权限:INSERT、DELETE、 UPDATE、 SELECT。 |
- |
|
版本类 |
源数据库版本 |
支持1.0.0及以上版本,版本查询:select version(); 以下是特性版本限制,特性版本号查询:select working_version_num(); 支持并行解码最低版本92556; 支持备机读最低版本93088; 支持级联复制最低版本93042; 支持M兼容模式最低版本94301; 支持CN解码最低版本93024; 支持指定位点启动复制槽最低版本94472; 支持DDL逻辑解码最低版本93782;支持truncate最低版本94382; |
详见支持的数据库。 |
目标数据库版本 |
GaussDB(DWS)集群 |
详见支持的数据库。 |
|
参数类 |
性能参数 |
源数据库的max_replication_slots参数值必须大于当前已使用的复制槽数量。 |
|
源数据库中无主键表的replica identity属性必须为full。 建议将主键表的REPLICA IDENTITY属性设置为FULL。 |
|||
源库的enable_slot_log参数设置为on。 |
|||
源数据库的wal_level必须配置为logical。 |
|||
数据同步类 |
表字段检查 |
支持integer,tinyint,smallint,bigint,tinyint unsigned,smallint unsigned,integer unsigned,bigint unsigned,number,numeric,real,double precision,character,character varying,nvarchar2,bit,bit varying,blob,bytea,clob,raw,text,json,boolean,date,smalldatetime,time with time zone,time without time zone,timestamp with time zone,timestamp without time zone,interval,box,cidr,circle,inet,lseg,macaddr,money,path,point,polygon,tsquery,tsvector,refcursor,uuid,array等数据类型的同步 |
- |
长事务检查 |
源数据库存在长时间未提交事务,无法创建复制槽,可能会导致任务增量同步失败。 |
详见源库长事务检查 |
|
无日志表检查 |
增量同步时,不支持无日志表(UNLOGGED TABLE)的同步。 |
- |
|
无主键分区表检查 |
无主键分区表检查增量同步时,不支持无主键分区表的同步。 |
- |
|
一致性检查 |
表检查 |
目标库和源库的表结构需要一致。 同步数据前需要清空目标端表数据。 |
- |
数据库兼容类型检查 |
目标库和源库的数据库兼容类型要保持一致。 |
查询同步库的兼容类型: select datname, datcompatibility from pg_database; |
|
源端和目标端数据库字符集检查 |
源端和目标端数据库字符集需要保持一致 |
- |
|
同步对象类 |
选择对象检查 |
|
- |
选择对象约束检查 |
|
详见所选表是否包含延迟约束。 |
|
库表列名规范检查 |
|
- |
|
源数据库检查 |
预检查阶段进行同步对象检查时,源数据库连接正常。 |
详见源库选择对象预检查。 |
|
|
- |
||
任务启动前请确保源数据库中不存在长时间未提交的事务。 |
详见源库长事务检查 |
||
源数据库的SSL状态正常,可以进行远程连接和复制连接。 |
|||
目标端对象检查 |
目标库的表不能包含外键约束和触发器。 |
||
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
GaussDB分布式版->GaussDB(DWS)
分类 |
预检查项 |
检查项详情 |
不通过解决方法 |
---|---|---|---|
权限类 |
源数据库权限 |
|
-授予同步用户权限 |
目标数据库权限 |
通常需要具备sysadmin角色或以下基本权限: DATABASE上的权限:CONNECT、CREATE。 SCHEMA上的权限:USAGE、CREATE。 表上的权限:INSERT、DELETE、 UPDATE、 SELECT。 |
- |
|
版本类 |
源数据库版本 |
支持1.0.0及以上版本,版本查询:select version(); 以下是特性版本限制,特性版本号查询:select working_version_num(); 支持并行解码最低版本92556; 支持备机读最低版本93088; 支持级联复制最低版本93042; 支持M兼容模式最低版本94301; 支持CN解码最低版本93024; 支持指定位点启动复制槽最低版本94472; 支持DDL逻辑解码最低版本93782;支持truncate最低版本94382; |
详见支持的数据库。 |
目标数据库版本 |
GaussDB(DWS)集群 |
详见支持的数据库。 |
|
参数类 |
性能参数 |
源数据库的max_replication_slots参数值必须大于当前已使用的复制槽数量。 |
|
源数据库中无主键表的replica identity属性必须为full。 建议将主键表的REPLICA IDENTITY属性设置为FULL。 |
|||
源库的enable_slot_log参数设置为on。 |
|||
源数据库的wal_level必须配置为logical。 |
|||
数据同步类 |
表字段检查 |
支持integer,tinyint,smallint,bigint,tinyint unsigned,smallint unsigned,integer unsigned,bigint unsigned,number,numeric,real,double precision,character,character varying,nvarchar2,bit,bit varying,blob,bytea,clob,raw,text,json,boolean,date,smalldatetime,time with time zone,time without time zone,timestamp with time zone,timestamp without time zone,interval,box,cidr,circle,inet,lseg,macaddr,money,path,point,polygon,tsquery,tsvector,refcursor,uuid,array等数据类型的同步 |
- |
长事务检查 |
源数据库存在长时间未提交事务,无法创建复制槽,可能会导致任务增量同步失败。 |
详见源库长事务检查 |
|
无日志表检查 |
增量同步时,不支持无日志表(UNLOGGED TABLE)的同步。 |
- |
|
无主键分区表检查 |
无主键分区表检查增量同步时,不支持无主键分区表的同步。 |
- |
|
一致性检查 |
多任务模式dn数量检查 |
用户填写的子任务数量和源端数据库的dn数量要保持一致 |
- |
表检查 |
目标库和源库的表结构需要一致。 同步数据前需要清空目标端表数据。 |
- |
|
数据库兼容类型检查 |
目标库和源库的数据库兼容类型要保持一致。 |
查询同步库的兼容类型: select datname, datcompatibility from pg_database; |
|
源端和目标端数据库字符集检查 |
源端和目标端数据库字符集需要保持一致 |
- |
|
同步对象类 |
选择对象检查 |
|
- |
选择对象约束检查 |
|
详见所选表是否包含延迟约束。 |
|
库表列名规范检查 |
|
- |
|
源数据库检查 |
预检查阶段进行同步对象检查时,源数据库连接正常。 |
详见源库选择对象预检查。 |
|
|
- |
||
任务启动前请确保源数据库中不存在长时间未提交的事务。 |
详见源库长事务检查 |
||
源数据库的SSL状态正常,可以进行远程连接和复制连接。 |
|||
目标端对象检查 |
目标库的表不能包含外键约束和触发器。 |
||
网络情况 |
网络检查 |
目标数据库的IP,端口,用户名和密码连接成功。 |
详见目标数据库连接是否成功。 |
源数据库的IP,端口,用户名和密码连接成功。 |
详见源数据库连接是否成功。 |
预检查项 |
错误码 |
不通过原因 |
不通过详情 |
处理建议 |
---|---|---|---|---|
源数据库连接是否成功 srcDbConnection |
PG_ECOLOGY_DATABASE_INSTANCE_UNAVAILABLE |
数据库不可用 |
无法连接到数据库服务 |
|
SRE_NOT_CORRECT_GS_DIS_DN_TYPE |
DN IP地址填写不正确 |
分布式为源多任务,当前填写的ip对应的数据库节点DN信息错误。请保证填写的是GaussDB分布式DN节点IP,对应类型是DIS_DN或者名称为dn开头标识。 |
请前往测试连接页面填写正确的DN IP地址或域名。 参考如下SQL进行检查DN节点信息: 查询DN类型SQL: SELECT get_nodeinfo('node_type'); 查询DN名称SQL: SELECT get_nodename(); |
|
选择对象预检查 userSelectObjectsCheck |
SRC_HAS_DATABASE_WITH_NO_TABLE |
选择了没有表的库或schema |
在表级同步或者异构(源数据库和目标数据库类型不同)迁移中,不支持同步或者迁移没有表的库或schema。 |
返回对象选择页面,取消选择没有表的库或schema。或在支持库级同步的场景下可以使用库级同步。 |
USER_IMPORT_OBJECTS_NOT_EXISTED |
选择的对象在源数据库中不存在 |
选择的对象中,部分对象在源数据库中不存在,或者用户对导入的对象缺少select权限。 |
重新选择或编辑对象导入文件,删除源数据库不存在对象后再重新导入。如果确认对象存在,请确认用户是否对以上对象拥有select权限。 |
|
目标数据库连接是否成功 dstDbConnection |
KAFKA_NO_BROKERS_AVAILABLE |
目标Kafka brokers未响应 |
kafka连接异常 |
请检查KAFKA集群服务状态 |
指定副本数是否大于目标kafka broker数 targetKafkaSpecifyCopiesNumber |
TARGET_KAFKA_SPECIFY_COPIES_NUM_GREATER_THAN_BROKERS_NUM |
指定副本数大于目标kafka broker数 |
指定副本数大于目标kafka broker数时,自动生成topic会失败。 |
请返回“设置同步”页面修改“副本个数” |
源库中间件连接是否成功 srcMiddlewareConnectedCheck |
PG_ECOLOGY_DATABASE_INSTANCE_UNAVAILABLE |
数据库DN不可用,无法连接 |
数据库DN不可用,无法连接。 |
1.请检查与服务端网络是否畅通,服务端口是否正确。 2.请检查数据库服务是否正常运行。 3.如果是主备数据库,请检查主备节点信息填写是否正确或者主备节点状态是否正常。 |
源数据库参数wal_level校验 srcWalLevelCheck |
GAUSSDBV5_SOURCE_DB_LOG_MODE_IS_NOT_LOGICAL |
源数据库参数wal_level配置错误 |
源数据库参数wal_level必须配置成logical 查询日志模式SQL: show wal_level; |
建议将源数据库所有DN的配置文件postgresql.conf(gaussdb.conf)中wal_level参数项修改为wal_level=logical,修改完成重启数据库生效。或者使用GUC命令修改 gs_guc set -Z datanode -I all -N all -c "wal_level = logical"' |
源数据库指定名称的复制槽是否存在 srcDbSlotNameIsExistedCheck |
SRC_SLOT_NAME_IS_ALREADY_EXISTED |
源数据库已存在指定的复制槽并且状态活跃 |
源数据库中已存在指定名称的复制槽 |
1.查询所有复制槽的参考SQL: select * from pg_replication_slots;查询结果中slot_type为logical代表逻辑复制槽,physica代表物理复制槽;查询结果中active为t代表正在被使用。 2.如果指定的槽名为物理复制槽或者同名逻辑复制槽正在被使用,请重新指定槽名。 3.如果确定该同名逻辑复制槽不再使用,请在数据库中删除此复制槽。以槽名为slot1举例,删槽参考SQL: SELECT * FROM pg_drop_replication_slot('slot1');, |
SRC_SLOT_NAME_IS_INACTIVE |
指定槽位处于未激活状态,请确认无其他业务使用该槽位 |
如果该槽位会被其他业务使用,会导致同步失败。 |
请确保该槽位无其他业务使用 |
|
源数据库参数enable_slot_log校验 srcSlotLogIsEnableCheck |
GAUSSDBV5_SOURCE_DB_SLOT_LOG_IS_NOT_ON |
源数据库参数ENABLE_SLOT_LOG值不为ON |
开启复制槽主备同步特性,逻辑解码任务需要开启为on。 查询状态SQL:show enable_slot_log; |
请使用GaussDB的参数修改功能,将源数据库参数ENABLE_SLOT_LOG设置成on。 |
源数据库参数max_replication_slots校验 srcMaxReplicationSlotsCheck |
DB_PARAS_MAX_REPLICATION_SLOTS_NOT_ENOUGH |
源数据库参数max_replication_slots配置错误 |
当前无可用复制槽。 查看当前已使用的复制槽个数SQL:select count(*) as number from pg_replication_slots; 查看配置的所有可用复制槽个数SQL:show max_replication_slots |
修改配置文件postgresql.conf中的max_replication_slots参数, max_replication_slots的值必须大于已使用的replication_slot值,重启数据库后生效。或者删除多余复制槽。 |
源数据库用户权限是否足够 srcDbPrivilegesIsEnough |
GAUSSDBV5_SOURCE_DB_PRIVILEGES_IS_NOT_ENOUGH_FOR_SYNCBYCN |
分布式为源在单任务模式下源数据库用户权限不足。 |
分布式为源在单任务模式下需要源数据库用户具有system admin或monitor admin权限。 |
给源库用户赋予system admin或monitor admin权限。 参考SQL: alter user user1 monadmin; alter user user1 sysadmin; |
GAUSSDBV5_SOURCE_DB_PRIVILEGES_IS_NOT_ENOUGH |
源库同步用户没有复制权限 |
源库同步用户没有复制权限,无法进行增量同步。 |
请检查用户权限,确保用户具有replication权限或继承了内置角色gs_role_replication的权限。 参考SQL: ALTER USER user1 replication; GRANT gs_role_replication TO user1; |
|
GAUSSDB_SRC_DB_REPL_PRIV_IS_NOT_ENOUGH_NEW |
无法与源库进行复制连接 |
由于源库复制连接白名单未放通,导致复制连接失败 |
增量同步需要数据库放开复制连接白名单,参考DRS用户指南中《GaussDB远程连接配置方法》。 |
|
PG_SRC_DB_MAX_WAL_SENDERS_IS_NOT_ENOUGH |
源数据库已使用的walsender数量达到上限 |
主备物理复制连接、逻辑复制连接都会使用walsender获取日志 |
建议增大源数据库的max_wal_senders参数值。 |
|
GAUSSDB_REPL_CONN_IS_UNAVAILABLE |
与源库进行复制连接失败 |
源库复制连接不可用 |
请检查数据库的安全组、防火墙、远程复制权限等配置,保证与复制连接端口畅通。复制端口默认为数据库服务端口+1。 |
|
源数据库版本是否支持 srcDbVersionSupport |
GAUSSDBV5_HA_FEATURE_VERSION_NO_SUPPORT |
DRS主备实例不支持当前源数据库版本 |
DRS主备实例支持的源数据库最低版本序号为:92556 如果源数据库版本过旧,无法进行增量同步。以下命令查询版本序号:SELECT working_version_num() |
升级数据库版本或者请使用实例类型为单机的DRS任务进行同步。 |
GAUSSDBV5_CN_DECODE_VERSION_NO_SUPPORT |
源数据库版本不支持CN逻辑解码,无法进行增量数据同步 |
支持CN逻辑解码的最低内核版本为:93024 |
建议使用多任务模式,从DN进行数据同步 |
|
GAUSSDBV5_SOURCE_DB_VERSION_NOT_SUPPORT |
源数据库数据库版本不支持逻辑解码 |
支持逻辑解码的最低版本openGauss 1.0.0 |
升级数据库版本 |
|
GAUSSV5_SRC_VERSION_NOT_SUPPORT_FOR_STANDBY_READ_MODE |
备机读模式支持的源数据库版本须不低于93088 |
备机读模式支持的源数据库版本须不低于93088 |
若要使用备机读模式,请选择版本为93088及以上源数据库;否则,请关闭备机读 查看源数据库版本:select working_version_num() |
|
GAUSSDBV5_DDL_DECODE_VERSION_NO_SUPPORT |
源数据库版本不支持DDL逻辑解码,无法进行增量DDL同步 |
集中式数据库支持DDL逻辑解码的最低内核版本为93782 分布式数据库支持DDL逻辑解码的最低内核版本为94527 |
升级数据库版本或者取消增量DDL同步 |
|
GAUSSDBV5_DDL_DECODE_IS_DISABLE |
源库DDL逻辑解码特性开关未打开,不支持DDL同步 |
源库的参数enable_logical_replication_ddl为off,增量不输出DDL日志,导致无法同步DDL。 |
修改源库的enable_logical_replication_ddl为on |
|
GAUSSDBV5_TRUNCATE_DDL_DECODE_VERSION_NO_SUPPORT |
源数据库版本TRUNCATE不支持逻辑解码,增量DDL同步无法同步TRUNCATE。 |
支持TRUNCATE逻辑解码的最低内核版本为94382 |
升级数据库版本或者增量DDL同步取消勾选TRUNCATE_TABLE |
|
GAUSSV5_SRC_VERSION_NOT_SUPPORT_FOR_DISABLE_ONLY_LOCAL |
源数据库的版本不支持级联链路同步 |
支持级联同步需要大于版本93042 |
不使用级联同步,或升级源库版本后再同步。 |
|
GAUSSV5_SRC_VERSION_NOT_SUPPORT_FOR_M_COMPATIBILITY |
M兼容模式支持的源数据库版本不能低于94301 |
查看源数据库版本参考如下命令:select working_version_num() |
若要使用M兼容模式库作为源库,请选择版本为94301及以上源数据库 |
|
源数据库是否包含无日志表(UNLOGGED TABLE) srcContainUnloggedTables |
SRC_EXIST_UNLOGGED_TABLES |
源数据库包含无日志表(UNLOGGED TABLE) |
GaussDB数据库无日志表在主节点和备节点之间不同步数据,GaussDB源库在全量同步时发生主备倒换可能导致无日志表同步数据不一致或任务失败。同时,GaussDB数据库不记录无日志表的wal日志,增量同步时也无法同步无日志表的DML或DDL数据。 |
请在同步对象中移除无日志表。 |
源数据库库名是否合法 srcDbNameContainsUnsupportedSymbols |
SRC_DB_NAMES_CONTAIN_UNSUPPORTED_SYMBOLS |
源数据库库名包含不支持的字符:“.”、“<”、“>”和“\'” |
库名非法,不支持同步 |
修改包含非法字符的数据库库名或者返回到对象选择页面迁移合法库名的数据库 |
SRC_DB_NAMES_CONTAIN_UNSUPPORTED_CHARACTERS |
同步到Kafka链路,源数据库库名包含不支持的字符 |
数据库库名只支持字母,数字,“-”,“_” |
修改包含非法字符的数据库库名,或者返回到对象选择页面迁移合法库名的数据库 |
|
源数据库的schema名是否合法 srcSchemaNameContainsUnsupportedSymbols |
SRC_SCHEMA_NAMES_CONTAIN_UNSUPPORTED_SYMBOLS |
源数据库schema名包含不支持的字符:"/", "<", ".", ">", "\\", "\'", "`", "|", ",", "?", "!" |
schema名非法,不支持同步 |
可通过如下语句,在源数据库修改包含不支持字符的schema名:alter schema old_name rename to new_name; |
SRC_SCHEMA_NAMES_CONTAIN_UNSUPPORTED_CHARACTERS |
同步到Kafka链路,源数据库库名包含不支持的字符 |
数据库schema名只支持字母,数字,“-”,“_” |
可通过如下语句,在源数据库修改包含不支持字符的schema名:alter schema old_name rename to new_name; |
|
源数据库的表名是否合法 srcTableNameContainsUnsupportedSymbols |
SRC_TABLE_NAMES_CONTAIN_UNSUPPORTED_SYMBOLS |
源数据库表名或视图名包含不支持的字符 |
源数据库(或映射后的)表名,不支持的字符有:非ASCII字符和"/", "<", ".", ">", "\\", "\'", "`", "|", ",", "?", "!" |
可通过如下语句,在源数据库修改包含不支持字符得表名:alter table old_name rename to new_name; |
SRC_TABLE_NAMES_CONTAIN_UNSUPPORTED_CHARACTERS |
同步到Kafka链路,源库表名包含不支持的字符 |
数据库表名只支持字母,数字,“-”,“_” |
可通过如下语句,在源数据库修改包含不支持字符得表名:alter table old_name rename to new_name; |
|
源数据库中表的复制属性检查 srcTableReplicaIdentityCheck |
SRC_TABLE_REPLICA_IDENTITY_IS_NOT_FULL |
源数据库存在无主键且复制属性不为FULL的表,可能导致增量同步失败或者数据不一致问题 |
源数据库同步对象有是无主键且复制属性不为FULL的表 |
无主键表复制属性修改为FULL或者添加主键 |
SRC_TABLE_HAS_PK_REPLICA_IDENTITY_IS_NOTHING |
源数据库存在有主键且复制属性不为DEFAULT或FULL的表,可能导致增量同步失败或者数据不一致问题 |
源数据库中以下表有主键且复制属性不为DEFAULT或FULL |
请讲上述表的复制属性修改为DEFAULT |
|
SRC_TABLE_HAS_PK_REPLICA_IDENTITY_IS_NOT_FULL |
以下源数据库表包含主键列,但是复制属性不为FULL |
当源数据表发生更新时,如果表的复制属性不为FULL,源数据库日志可能无法记录所有列的旧值,造成数据缺失问题。 |
请将上述表的复制属性修改为FULL。 |
|
源数据库表是否存在不支持的字段类型 srcDbNotSupportTypeCheck |
GAUSSDBV5_SOURCE_DB_IS_NOT_SUPPORT_TABLE_TYPE |
源数据库表含有不支持的表字段类型 |
源数据库表含有不支持的表字段类型 |
请选择其他可迁移的表 |
源数据库是否包含列存表 srcDbTableOrientationTypeCheck |
SRC_SELECTED_TABLE_ORIENTATION_IS_NOT_RAW |
由于GaussDB逻辑复制不支持列存表,将不会同步这些表 |
由于GaussDB逻辑复制不支持列存表,将不会同步这些表 |
请从所选对象中移除这些表 |
源数据库是否包含压缩表 srcDbTableCompressionTypeCheck |
SRC_SELECTED_TABLE_COMPRESSION_IS_NOT_NO |
由于GaussDB逻辑复制不支持压缩表,将不会同步这些表 |
由于GaussDB逻辑复制不支持压缩表,将不会同步这些表 |
请从所选对象中移除这些表 |
Topic名字格式是否合法 targetKafkaTopicFormat |
TARGET_KAFKA_INVALID_TOPIC_FORMAT |
Topic名字格式不合法 |
由于Kafka的机制限制,topic名字格式不能以"__"、"."开头,也不能以".internal"、"-internal" 结尾,且仅能以字母、数字、下划线、中划线组成。除预置变量(例如:$database$,$schema$,$table$)外,不能再包含$字符。 |
请修改包含非法字符的Topic名字格式。 |
源数据库间隔分区表检查 srcIntervalPartitionTableChecker |
GAUSSDBV5_SRC_INTERVAL_PARTITION_TABLE_NOT_SUPPORT |
增量不支持同步间隔分区表 |
源数据库存在间隔分区表 |
请返回到对象选择页面取消选择间隔分区表。 |
用户输入DN数量校验 srcDnCountChecker |
DN_COUNT_IS_NOT_EQUAL_TO_DATABASE_DN_COUNT |
用户输入DN数量与源数据库DN数量不一致 |
用户输入DN数量与源数据库DN数量不一致 |
用户输入DN数量与源数据库DN数量不一致时可能会导致数据不一致,需要用户确定风险后继续 |
Kafka Topic是否已创建 targetKafkaTopicExists |
TARGET_KAFKA_TOPICS_DO_NOT_EXIST |
Topic还未在kafka中创建 |
若不创建这些Topic,DRS将在增量同步时自动创建Topic |
请在kafka中创建上述Topic |
源数据库备机读约束检查 srcDbReadFromStandbyRestrictionCheck |
GAUSSV5_SRC_HAS_NO_PK_TABLE_IN_STANDBY_READ_MODE |
备机读模式下,全量不支持同步无主键表。 |
备机读模式下,全量不支持同步无主键表。 |
若要使用备机读模式,请给上述的无主键表添加主键或取消同步上述无主键表;若要同步无主键表,请关闭备机读。 |
任务规格变更检查 changeFlavorCheck |
CHANGE_FLAVOR_WARNING |
任务规格变更属于高危操作,存在任务变更失败和任务启动失败等风险。如遇此类问题,请联系技术支持 |
任务规格变更属于高危操作,存在任务变更失败和任务启动失败等风险。如遇此类问题,请联系技术支持。 |
任务规格变更属于高危操作,存在任务变更失败和任务启动失败等风险。如遇此类问题,请联系技术支持。 |
源数据库是否存在长时间未提交事务 srcGaussDBLongTimeTransactionExist |
SRC_LONG_TIME_TRANSACTION_EXIST |
源数据库存在长时间未提交的事务 |
源数据库存在长时间未提交事务,可能会导致任务增量同步失败。 |
查询源数据库未提交的事务,长时间未提交事务处理完成后重新执行预检查。 |
逻辑解码白名单约束校验 whiteTableListContainsUnsupportedSymbols |
WHITE_TABLE_LIST_ONLY_SUPPORT_TABLE_LEVEL |
仅支持表级同步使用逻辑解码白名单 |
此功能要使用具体表名作为逻辑解码参数,所以仅在表级同步时可指定白名单列表。 |
取消使用逻辑解码白名单或者在设置同步页面使用表级同步。 |
WHITE_TABLE_LIST_TABLE_NUM_EXCEED_LIMIT |
根据数据库逻辑解码白名单约束,在源库白名单支持的表数量不可超过5000 |
根据数据库逻辑解码白名单约束,在源库白名单支持的表数量不可超过5000。 |
控制选表数量,以保证表数量不超过5000。 |
|
WHITE_TABLE_LIST_STRING_LENGTH_EXCEED_LIMIT |
根据数据库逻辑解码白名单约束,在源库白名单参数长度不可超过65534 |
根据选择对象信息计算可以得到的白名单参数长度。假如选表信息为schema1.table1、schema1.table2、schema2.table1,则逻辑解码白名单参数为schema1.table1,schema1.table2,schema2.table1,其参数长度为44。 |
控制选表数量,以保证逻辑解码白名单参数长度不超过65534。 |
|
WHITE_TABLE_LIST_CONTAIN_UNSUPPORTED_CHARACTERS |
schema名、表名包含逻辑复制白名单不支持的字符 |
schema名、表名包含逻辑复制白名单不支持的字符,包括空格(" ")、逗号(",")、星号("*")、点号("."),小括号("(",")")。 |
取消逻辑复制白名单选择或取消选择包含不支持字符的schema、表。 |
|
源数据库复制槽指定启动位点检查 startSlotDecodeLsnCheck |
GAUSSDBV5_NOT_FINISH_BASELINE |
数据库未完成基线化操作,无法进行增量数据同步 |
通过SQL:show enable_logical_replication_dictionary;查询当前数据库支持创建哪种复制槽类型。ON状态下,逻辑复制支持创建多版本字典表类型的逻辑复制槽;OFF状态下,不支持创建多版本字典表类型的逻辑复制槽。通过SQL:select status from pg_catalog.gs_logical_dictionary;查询基线化完成情况。status为0表示未加载,1表示未基线化,2表示基线化进行中,3表示基线化完成,null表示未查询到信息。 |
enable_logical_replication_dictionary设置成off或者完成基线化操作,根据业务需要,两种方式任选其一即可。参考SQL:关闭多版本字典表类型的逻辑复制槽:GUC设置参数: gs_guc reload -Z datanode -I all -N all -c " enable_logical_replication_dictionary ='off'";用管理员用户执行基线化函数: select * from gs_logical_dictionary_baseline(); |
GAUSSDBV5_DB_NOT_SUPPORT_DICTIONARY_SLOT |
指定了复制槽启动位点,数据库版本不支持或者数据库未完成基线化 |
指定复制槽启动位点,数据库版本必须大于等于94472版本并且基线化完成之后,支持创建多版本字典表类型的逻辑复制槽,才能指定复制槽启动位点。通过SQL: select working_version_num();查询当前数据库的版本。通过SQL:select status from pg_catalog.gs_logical_dictionary;查询基线化完成情况。status为0表示未加载,1表示未基线化,2表示基线化进行中,3表示基线化完成,null表示未查询到信息。 |
如果版本不支持需要升级数据库或者不指定复制槽启动位点。如果版本支持,用管理员用户执行基线化函数: select * from gs_logical_dictionary_baseline(); 完成基线化操作。 |
|
GAUSSDBV5_DECODE_LSN_ILLEGAL |
复制槽指定启动位点不合法 |
复制槽指定启动位点不合法 |
指定正确的复制槽启动位点进行同步。非M兼容建库查询启动位点SQL: SELECT *, CONCAT(to_hex((create_lsn::bigint >> 32) & x\'ffffffff\'::bigint), \'/\', to_hex((create_lsn::bigint << 32 >> 32) & x\'ffffffff\'::bigint)) as restart_lsn from gs_txn_lsn_time ORDER BY create_time DESC LIMIT 10; M兼容库查询启动位点SQL: SELECT *, CONCAT(hex((create_lsn >> 32) & 4294967295), \'/\', hex(((create_lsn<< 32) >> 32) & 4294967295)) as restart_lsn from gs_txn_lsn_time ORDER BY create_time DESC LIMIT 10; 以上sql查询create_lsn为10进制显示格式,对应16进制显示格式为restart_lsn字段值,页面需要填写正确的16进制的restart_lsn。 |
|
源库和目标库datea参数检查 srcDstGaussDBV5DateaChecker |
GAUSSDBV5_DATE_TO_DATEA_CHECK_ERROR |
源数据库或目标数据库的mapping_date_to_datea参数不为off |
mapping_date_to_datea参数为on时,date类型会被转换为datea类型,可能导致DRS任务失败或数据不一致。 |
修改mapping_date_to_datea参数为off,重启数据库生效。 |
GAUSSDBV5_DATE_TO_DATEA_CHECK_WARNNING |
不支持源库或目标库同步的表包含datea类型 |
如果源库或目标库同步的表使用了datea类型,可能导致DRS任务失败或数据不一致。 |
建议确保源库或目标库同步的表中不使用datea类型,并且迁移过程中不开启mapping_date_to_datea参数。 |