首批通过分布式安全可靠测评,为关键业务系统打造
OceanBase 数据库 V1.4x 版本 meta 表有不符合预期的副本记录
更新时间:2023-11-14 03:16
问题描述
OceanBase 数据库 V1.4.x 版本在合并成功结束后发现 __all_meta 表中的版本号没有推上去,查询记录发现没推上去版本号的表已经被删除/TRUNCATE。
适用版本
OceanBase 数据库 V1.4x 版本。
问题原因
在 OceanBase V1.4.x 版本中,对于 schema 不存在的分区的物理 GC 需要等待两轮合并。除此之外,没有外部手段显式清理分区的所有副本。只有在副本完全进行垃圾回收后,meta 表才有可能被清理。这种垃圾副本除了占用空间外,目前不会影响 RS 的相关逻辑,因为相关分区在 schema 中不存在。
解决方法
通过再次执行合并操作,可以触发数据库进行垃圾回收,并且有可能清理掉已被删除或截断的表的相关版本号。
obclient> ALTER SYSTEM MAJOR FREEZE TENANT = ALL;