暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase 8a 表同步一直完不成,同步强制锁表的参数解决同步一直追不上加载

生命之源 2021-01-12
1098

GBase 8a 数据库在做同步时,会先比较主备分片的差异,然后将不同的数据做同步。 本次同步操作完成后,会再次检查是否已经一致。如果一致则清理掉异常标记,如果还有差异,则会再次同步。这个机制如果遇到了频繁变动的表,比如一直在加载,且频率很高,至少入库时间短于一次同步的时间,就会造成同步一直无法完成的情况。

针对这种情况,可以通过调整gcrecover同步锁表参数,在同步前,先锁定表,不允许其它DML操作。

配置文件

gcluster/config/gc_recover.cnf

增加参数

recover_lock_table_exclusive=1
表在同步时,会先锁住表,不让后续的DML操作。 确保本次同步后数据一致。

警告

警告 :如果你的同步需要耗时非常长,那么这个期间,这个表将无法加载新数据,【很有可能】与你预期的不符。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论