操作场景
数据一致性校验,即 DTS 对数据迁移的源库和目标库的表数据进行对比,并给出对比结果和不一致详情,方便用户快速确定业务的割接时间。数据一致性校验任务是独立进行的,不会影响源数据库的正常业务,也不会影响 DTS 的任务。
自动触发,在配置迁移任务时,数据一致性检查勾选了全量检查迁移对象,则后续任务进行到同步增量步骤时自动触发一次一致性校验任务。
手动创建,在 DTS 任务步骤进行到同步增量时,手动创建一致性校验任务,支持多次创建。
注意事项
数据一致性校验的范围,仅对比源数据库选择的对象和迁移到目标数据库的对象,如果用户在迁移过程中向目标库进行数据写入,则这部分数据不包含在校验范围内。
数据一致性校验任务可能会增加源数据库实例的负载,因此请在业务低峰期进行操作。
数据一致性校验的任务可以重复执行,但一个 DTS 实例在同一时刻只能发起一个数据一致性校验任务。
如果在数据一致性校验任务还未结束时,用户选择完成或者终止 DTS 任务,则数据一致性校验任务会失败。
因为一致性校验需要在源数据库中创建新库
__tencentdb__
,并在该库下写入 CheckSum 表,所以源数据库为只读时将会跳过一致性校验。约束限制
当前校验任务对 DDL 操作不感知,如果在迁移过程中,用户对源库做了 DDL 操作,会出现校验结果不一致,需要用户重新发起校验任务才能得到准确的对比结果。
自动触发一致性校验任务
说明:
自动触发一致性校验任务,默认会发起全量数据的内容校验和所有数据库信息校验,如需筛选校验对象,请选择手动创建一致性校验任务。
手动创建一致性校验任务
1. 登录 DTS 控制台。
2. 在数据迁移页面,选择需要校验的迁移任务,在操作列选择更多 > 创建数据一致性校验。
3. 在数据库一致性校验页面,单击创建数据一致性校验。
说明:
数据一致性校验需要在 DTS 任务步骤进行到同步增量时,才可以创建。如果界面按钮呈灰色,则 DTS 任务状态不满足条件,如任务未进行到同步增量步骤、任务失败、任务终止。
4. 在弹出的温馨提示的对话框中,阅读提示信息,确认发起校验任务,单击确定。
5. 在创建数据一致性校验窗口,配置如下参数,单击创建并启动一致性校验。
参数名称 | 参数含义 | 配置方式 |
任务名称 | 设置检验任务的名称。 | 可输入任意字符,请编辑便于识别管理的任务名称。 |
迁移对象模式 | 指明校验数据库的模式。 | 固定为整个实例。 |
检验对象 | 选择校验迁移对象的方式 | 全部迁移对象:指对迁移的所有数据进行校验。 自定义选择:在下方源库对象区域,选择需校验的库表。 |
数据库信息 | 选择校验的数据库信息。支持校验索引、库表信息和片键。 | 分片集群,支持选择片键进行校验。 |
数据校验 | 选择数据校验方式。 行数校验:对比源库和目标库的数据行数。 内容校验:逐条对比源库和目标库的数据内容。 | 数据量较大时,建议使用行数校验。如果使用内容校验,请抽取相对低比例的数据进行校验,提高校验效率。 |
抽样对比 | 选择内容校验时,校验的数据量较大时,支持抽取一定比例的数据进行对比。 | 请根据业务情况选择抽样配比。 |
查看数据一致性校验结果
1. 在数据迁移任务列表的最后一次校验结果列,可查看任务对应的校验结果,一致或者不一致,单击查看更多进入数据校验一致性校验页面。
2. 在数据校验任务列表,选择具体的任务,单击其操作列的查看,即可查看校验结果。
校验一致的结果示例:
校验不一致的结果示例:
说明:
针对不一致性的结果,需要用户根据提示,手动确认源数据库和目标数据库的对应数据内容。
更多参考