数据复制服务 DRS-DRS实时同步支持使用Online DDL工具吗:操作步骤

时间:2023-11-01 16:18:22

操作步骤

  1. 查看DRS任务状态,确认任务状态为增量中且增量时延在10秒以内。
  2. 确认需要执行的DDL操作,不同操作在源库和目标库执行的顺序不同。

    • 加列:先在目标库执行,执行成功后在源库执行。
    • 删列:先在源库执行,执行成功后在目标库执行。
    • 增加、修改、删除列默认值:跟操作顺序无关。
    • 修改列类型:先在目标库执行,执行成功后在源库执行。
    • 修改字符集:先在目标库执行,执行成功后在源库执行。
    • 修改列名:先在源库执行,执行成功后等待DRS任务因列不存在失败,然后在目标库执行,续传DRS任务。
    • 加分区:先在目标库执行,执行成功后在源库执行。
    • 删分区:先在源库执行,执行成功后在目标库执行。
    • 加索引:跟操作顺序无关。
    • 删索引:跟操作顺序无关。
    • 加约束(主键、唯一键、check等):先在源库执行,执行成功后在目标库执行。
    • 删约束(主键、唯一键、check等):先在目标库执行,执行成功后在源库执行。
    • 增加字段长度:先在目标库执行,执行成功后在源库执行。
    • 减少字段长度:先在源库执行,执行成功后在目标库执行。

    如果一条DDL中包含多个操作的,所有操作除去跟操作顺序无关的操作外(比如修改默认值),剩余操作的要求顺序一样,则按要求顺序操作;否则需要拆成多条DDL操作。如加列的同时修改默认值,先在目标库执行,执行成功后在源库执行。

    表1 总结

    DDL操作

    操作顺序

    加列,修改列类型,修改字符集,加分区,删约束,增加字段长度

    先在目标库执行,执行成功后在源库执行。

    删列,删分区,加约束,减少字段长度

    先在源库执行,执行成功后在目标库执行。

    增加、修改、删除列默认值,加索引,删索引

    跟操作顺序无关。

    修改列名

    先在源库执行,执行成功后等待DRS任务因列不存在失败,然后在目标库执行,续传DRS任务。

  3. 根据2顺序中完成DDL操作后,查看DRS任务状态是否正常。
support.huaweicloud.com/drs_faq/drs_16_1124.html