otter不支持创建和表删除的同步,这个怎么解决;求大拿支招呐
原提问者GitHub用户 szlaigithub
你所说的情况指的是,当源端数据库进行表的创建和删除操作时,这些操作无法同步到目标端数据库中。otter默认不支持表的创建和删除操作,但是可以通过修改配置,实现表的创建和删除操作的同步。
这里简单介绍下如何修改otter配置以支持表的创建和删除操作的同步:
为了避免误操作,otter默认限制对源端数据库的DDL操作,需要在源端odps的权限中添加相应的DDL权限才能将DDL操作同步到目标端数据库。
在otter配置文件中,需要将 otter-dump.xml
文件中的 “NameFilter”
设置为 ”.*" including create"
, 将 otter-loader.xml
文件中的 “ddl.sync”
参数设置为 true
。这样修改后,otter就可以将表的创建和删除操作同步到目标端数据库中。
需要注意的是,DDL同步会造成比较大的性能开销,如果你的业务不特别需要DDL同步,建议还是禁用该选项。另外,对于数据同步过程中的一些故障问题,建议定期备份数据和清理数据、使用云函数等方式维护数据。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。