【 使用环境 】 测试环境
【 OB or 其他组件 】 OB
【 使用版本 】 OB 3.2.4
【问题描述】nas空间不够,导致备份失败,然后暂停了备份策略功能。过了一段时间,发现磁盘使用率异常增长。
【解决方法】集群参数gc_wait_archive改成false,truncate/删掉的副本gc不会再等日志归档完成了。
GC(垃圾回收)在执行 DROP、TRUNCATE TABLE 等命令时,OceanBase 数据库只对 schema 进行了删除,但是 sstable 表空间需要依赖 GC 机制来进行物理删除。通常,GC 需要等待合并后才能触发。在开启归档的情况下,表/分区的 GC 还受制于 backup_log_archive_option 参数的设置。
backup_log_archive_option = mandatory:表/分区的 GC 需要等归档完成。
backup_log_archive_option = optional:通过参数 gc_wait_archive 来控制归档对 GC 的影响。
gc_wait_archive = true,GC 需要等待归档完成才能执行。
gc_wait_archive = false,GC 最多等 30 分钟。
这个已删除副本没有回收的触发因素是归档异常了,日志归档处于异常或者延迟状态,所以及时处理好归档备份后,这个空间回收占用的问题自然就不存在了。改回true之后,只要归档没出现异常,或者归档延迟时间在2小时内都是没问题的。
【注意】ob4.0以上的版本已废弃gc_wait_archive参数。
4.x重构了底层日志流机制,不是按分区生成日志流了,是按节点生成日志流,这个控制分区级归档参数没什么用处了。