更新时间:2022-12-29 GMT+08:00

源库无主键表检查

MySQL迁移、灾备场景

表1 源迁移库无主键表检查

预检查项

源迁移库无主键表检查。

描述

在进行MySQL迁移时,源数据库若存在无主键表,可能会导致迁移失败。

待确认提示处理建议

待确认原因:源数据库迁移的表中存在无主键表。

处理建议:无主键表由于缺乏行的唯一性标志,在网络不稳定情况下,迁移可能存在目标与源库数据不一致的情况。建议将无主键表修改为主键表。

MySQL同步场景

表2 源库无主键表检查

预检查项

源库无主键表检查。

描述

在进行MySQL同步时,源数据库若存在无主键表,可能会导致同步失败。

不通过提示处理建议

不通过原因:源数据库同步的表中存在无主键表。

处理建议:建议修改无主键表。

不通过原因:多对一任务时,不允许源库中存在与目标库同名的无主键表。

处理建议:建议修改无主键表、删除目标库无主键表或者不迁移无主键表。

待确认提示处理建议

待确认原因:源数据库同步的表中存在无主键表。

处理建议:无主键表由于缺乏行的唯一性标志,在网络不稳定情况下,可能存在目标与源库数据不一致的情况。建议将无主键表修改为主键表。

Microsoft SQL Server->GaussDB(DWS)同步场景

表3 源库无主键表检查

预检查项

源库无主键表检查。

描述

源数据库若存在无主键表,可能会导致同步数据存在少量不一致的可能性。

待确认提示处理建议

待确认原因:由于无主键表缺乏行的唯一性标志,网络不稳定时涉及少量重试,表数据存在少量不一致的可能性。

处理建议:建议为无主键表添加主键,或者不同步无主键表。

增加主键语句参考:

ALTER TABLE table_name ADD CONSTRAINT constraint-name PRIMARY KEY (column_name);

Oracle为源同步场景

表4 源库无主键表检查

预检查项

源库无主键表检查。

描述

源数据库若存在无主键表,可能会导致同步数据存在少量不一致的可能性。

不通过提示处理建议

不通过原因:由于无主键表缺乏行的唯一性标志,网络不稳定时涉及少量重试,表数据存在少量不一致的可能性。

处理建议:建议为无主键表添加主键,或者不同步无主键表。

增加主键语句参考:

ALTER TABLE table_name ADD CONSTRAINT constraint-name PRIMARY KEY (column_name);

若要同步主键表,建议在全量同步期间不执行ALTER TABLE MOVE操作,多分区操作SPLIT/MERGE分区,FLASHBACK操作,ALTER TABLE SHRINK SPACE操作,否则数据重复可能性会增加。