文档首页/ 迁移中心 MgC/ 常见问题/ 风险评估/ 数据库风险评估说明
更新时间:2026-07-08 GMT+08:00
分享

数据库风险评估说明

目前支持风险评估的数据库类型包括:MySQLPostgreSQLMongoDBSQL Server。本节主要介绍数据库风险评估的检查项类别,以及评估过程中关键检查项信息的详细说明。

MySQL

下表详细说明了在对MySQL数据库进行风险评估时,各检查项的检查内容及其目的。

图1 MySQL数据库风险评估

表1 MySQL风险评估检查项说明

检查项

所需字段

检查项目的

源库版本

源库版本

查询源库版本,与DRS支持版本比较。

源库形态

源库是否为主备库

源库为备库时无法进行增量迁移。

Binlog保留时长

Binlog保留时长

Binlog保留时间较短,可能会导致迁移失败,建议不低于3天。

Binlog格式

Binlog格式

增量迁移时,源库的Binlog必须打开,且Binlog格式必须为ROW。

源库最大允许传输包的大小

源库最大允许传输包的大小

DRS在迁移数据量大或迁移大字段情况下,源库最大允许传输包的大小小于16777216Byte可能会导致任务失败。

无主键表

未设置主键的业务表

若源库中存在无主键表,由于该类表缺乏行的唯一性标识,无法进行内容对比;此外,在网络不稳定的情况下,迁移过程中可能出现目标库与源库数据不一致的问题。建议先将无主键表修改为主键表,再进行数据迁移。

数据类型

数据类型

检查源库中是否存在DRS数据对比不支持的数据类型,如TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT。

主键数据类型

主键数据类型

检查源库中是否存在DRS数据对比不支持的主键数据类型,如TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT、FLOAT、TIMESTAMP、DATE、DATETIME、BINARY、VARBINARY。

大数据表

表大小

检查表数据量是否超出100GB或数据行数是否超过1000万行。

Lob类型表

包含大文本(longtext/mediumtext)或大二进制(longblob/mediumblob)类型字段的表

Lob类型迁移可能发生OOM。

PostgreSQL

下表详细说明了在对PostgreSQL数据库进行风险评估时,各检查项的检查内容及其目的。

图2 PostgreSQLL数据库风险评估

表2 PostgreSQL风险评估检查项说明

检查项

所需字段

检查项目的

源库版本

源库版本

查询源库版本,与DRS支持版本比较。

源库形态

源库是否为主备库

源库为备库时无法进行增量迁移。

可创建的最大复制槽数量

可创建的最大复制槽数量

源库可创建的最大复制槽数量必须大于当前已使用的复制槽数量,否则可能导致同步失败。

可同时运行WAL发送进程的最大数

可同时运行WAL发送进程的最大数

源库可同时运行WAL发送进程的最大数必须大于当前已使用的发送进程数量,否则可能导致同步失败。

wal_level设置

WAL日志级别

源库的WAL日志级别必须设置为logical。若未设置为logical,将无法对源库的增量日志进行逻辑解码,进而无法实现增量同步。

无主键表

未设置主键的业务表

若源库中存在无主键表,由于该类表缺乏行的唯一性标识,无法进行内容对比;此外,在网络不稳定的情况下,迁移过程中可能出现目标库与源库数据不一致的问题。建议先将无主键表修改为主键表,再进行数据迁移。

无日志表

无日志表

DRS不支持同步无日志表的DML。

主键数据类型

主键数据类型

检查源库中是否存在DRS数据对比不支持的主键数据类型,如REAL、DOUBLE PRECISION、MONEY、TEXT、BYTEA、TIMESTAMP WITHOUT TIME ZONE、TIMESTAMP WITH TIME ZONE、DATE、TIME WITHOUT TIME ZONE、TIME WITH TIME ZONE、INTERVAL、BOOLEAN、ENUMERATED TYPES、POINT、LINE、LSEG、BOX、PATH、POLYGON、CIRCLE、CIDR、INET、MACADDR、MACADDR8、BIT、BIT VARYING、TSVECTOR、TSQUERY、XML、JSON、ARRAY、COMPOSITE TYPES、INT4RANGE、INT8RANGE、NUMRANGE、TSRANGE、TSTZRANGE、DATERANGE等。

大数据表

表大小

检查表数据量是否超出100GB或数据行数是否超过1000万行。

Lob类型表

包含大文本(longtext/mediumtext)或大二进制(longblob/mediumblob)类型字段的表

Lob类型迁移可能发生OOM。

SQLServer

下表详细说明了在对SQLServer数据库进行风险评估时,各检查项的检查内容及其目的。

图3 SQLServer数据库风险评估

表3 SQLServer风险评估检查项说明

检查项

所需字段

检查项目的

源库版本

源库版本

查询源库版本,与DRS支持版本比较。

CDC开启

源库是否启动CDC

以SQLServer为源的增量同步基于SQLServer提供的CDC功能实现。若SQLServer源库的CDC功能发生异常(例如被关闭、事务日志已满等情况),增量同步将受到影响。

CDC数据保留时间检查

源数据库CDC数据保留时间

源数据库CDC数据保留时间不足1天,会导致增量同步异常。请修改为1440分钟(1 天)或以上,建议4320分钟(3天)。

无主键表

未设置主键的业务表

若源库中存在无主键表,由于该类表缺乏行的唯一性标识,无法进行内容对比;此外,在网络不稳定的情况下,迁移过程中可能出现目标库与源库数据不一致的问题。建议先将无主键表修改为主键表,再进行数据迁移。

数据类型

数据类型

检查源库中是否存在DRS数据对比不支持的数据类型,如TEXT、NTEXT、IMAGE、BINARY、VARBINARY、HIERARCHYID、XML、TIMESTAMP。

主键数据类型

主键数据类型

检查源库中是否存在DRS数据对比不支持的主键数据类型,如FLOAT、REAL、DATE、DATETIME、DATETIME2、DATETIMEOFFSET、TIME、TIMESTAMP、TEXT、NTEXT、IMAGE、BINARY、VARBINARY、HIERARCHYID、XML、BIT。

大数据表

表大小

检查表数据量是否超出100GB或数据行数是否超过1000万行。

Lob类型表

包含大文本(longtext/mediumtext)或大二进制(longblob/mediumblob)类型字段的表

Lob类型迁移可能发生OOM。

MongoDB

下表详细说明了在对MongoDB数据库进行风险评估时,各检查项的检查内容及其目的。

图4 MongoDB数据库风险评估

表4 MongoDB风险评估检查项说明

检查项

所需字段

检查项目的

源库版本

源库版本

查询源库版本,与DRS支持版本比较。

集合负载均衡器Balancer(只针对分片集群)

集合负载均衡器Balancer是否开启

如果迁移任务为源数据集群的增量迁移,则必须关闭源数据集群的Balancer。

Oplog日志开启(只针对副本集)

Oplog日志是否开启

增量迁移时,源数据库的Oplog日志必须打开。

集合索引个数检查

集合索引个数

MongoDB迁移过程中,索引数量会影响整体迁移时间。DRS会检查源数据库中是否存在索引数量超过10的集合,若存在则会影响迁移速度,请确认是否需要迁移所有索引。

集合id索引检查

无id索引的集合列表

源库若存在没有索引(_id)的集合,可能导致迁移失败。

集合TTL索引检查

包含TTL索引的集合

TTL索引可能因源数据库与目标数据库的时区、时钟不一致,导致迁移后数据不一致。

集合名称检查

名称包含非法字符的集合

遍历源库中的集合,检查其名称是否符合规范,源数据库中的集合名或视图名不能包含'、<、>。

相关文档