源表DMS_ONLINE_DDL过程中是否复制临时表到目标库的配置的说明是什么?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在配置阿里云DTS(数据传输服务)时,关于源表Online DDL过程中是否复制临时表到目标库的控制,可以通过以下参数进行设置:
whitelist.dms.online.ddl.enable
配置选项及说明:
复制临时表数据:若希望同步过程中包含由在线DDL工具(如DMS或gh-ost)产生的临时表数据,需设置whitelist.dms.online.ddl.enable
为true
,同时确保其他相关参数如sqlparser.dms.original.ddl
为false
,以及whitelist.ghost.online.ddl.enable
为true
。这表示会将源库中因Online DDL操作而产生的临时表结构及数据一并复制到目标库中。
不复制临时表数据:如果不需要复制临时表,而是仅同步源库执行的原始DDL语句,可以选择不同的配置组合:
whitelist.dms.online.ddl.enable
为false
,并且sqlparser.dms.original.ddl
为true
,这样只会同步DMS执行的原始DDL操作到目标库,不会包括临时表数据。但请注意,此方案会导致目标库锁表。whitelist.dms.online.ddl.enable
设为false
,同时sqlparser.ghost.original.ddl
设为true
,以同步gh-ost执行的原始DDL,此时也需要考虑配置影子表和无用表的正则表达式。此方案同样会导致目标库锁表。综上所述,通过调整这些参数,您可以灵活控制DTS任务在处理源库Online DDL操作时,是否及如何处理临时表数据,以满足不同场景下的数据同步需求。
重要提醒:选择不复制临时表数据并仅同步原始DDL时,务必注意目标库可能发生的锁表情况,这对业务连续性有直接影响,请根据实际情况谨慎选择配置策略。