tencent cloud

文档反馈

同步 Online DDL 临时表

最后更新时间:2023-11-16 17:19:25

    操作场景

    使用 gh-ost、 pt-online-schema-change(下文简称 pt-osc )等工具对源库中的表做 Online DDL,需要将 Online DDL 变更产生的临时表同步到目标库。 DTS 支持在选择同步对象时,提前关联对象表的临时表名,在后续源库产生临时表时一并进行同步。
    使用 gh-ost 工具对表 表名 做 Online DDL,DTS 支持同步临时表 _表名_ghc_表名_gho_表名_del 到目标库。
    使用 pt-osc 工具对表 表名 做 Online DDL,DTS 支持同步临时表 _表名_new_表名_old 到目标库。

    适用范围

    同步 Online DDL 临时表支持的链路范围如下:
    MySQL/MariaDB/Percona/TDSQL-C MySQL > MySQL
    MySQL/MariaDB/Percona > MariaDB
    MySQL/MariaDB/TDSQL-C MySQL > TDSQL-C MySQL
    MySQL/MariaDB/Percona/TDSQL-C MySQL > Kafka
    MySQL/MariaDB/Percona > TDSQL TDStore

    约束限制

    表映射(表重命名)功能与迁移 Online DDL 临时表功能冲突,只能选择一个功能使用。

    操作步骤

    1. 登录 DTS 控制台,在左侧导航选择数据同步页,创建同步任务。
    2. 在“设置同步选项和同步对象”步骤中,勾选是否同步 Online DDL 临时表,和 Online DDL 工具
    勾选 gh-ost,DTS 会将 gh-ost 工具产生的临时表名(_表名_ghc_表名_gho_表名_del)迁移到目标库。
    勾选 pt-osc, DTS 会将 pt-osc 工具产生的临时表名(_表名_new_表名_old)迁移到目标库。
    说明
    右方已选对象中,需要勾选指定的表对象,下面才会显示“是否同步 Online DDL 临时表”的按钮,勾选库名,或者勾选 Tables,无法显示“是否同步 Online DDL 临时表”的按钮。
    如果源库中已存在与临时表名 _表名_new_表名_old 相同的表名,则 pt-osc 会产生其他临时表,由于 pt-osc 产生的其他临时表名并非固定,DTS 无法同步其他临时表。这种情况同步对象不能仅选择这个表,需要选择这个表所在的整个库(或者整个实例),否则无法同步 Online DDL 变更产生的临时表数据到目标数据库。
    
    
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持