首批通过分布式安全可靠测评,为关键业务系统打造
ls_gc_delay_time
更新时间:2026-04-10 11:58:02
说明
该配置项从 V4.2.0 版本开始引入。
功能描述
ls_gc_delay_time 用于配置租户日志流延迟删除的时间。
OceanBase 数据库从 V4.2.0 版本开始基于日志流的分裂、合并功能设计并实现了负载均衡模块,提供了扩容、缩容等能力。当数据库进行缩容操作时,对于满足 GC(Garbage Collection) 条件的日志流就会被迅速删除,同时系统还会清理 Palf 对应的日志存储。
此外,OceanBase 数据库从 V4.2.0 版本开始,实现了基于网络的物理备库。在物理备库架构下,当源端主租户或备租户未开启日志归档,且对数据库进行缩容操作后,日志流很快就会被清理,这样极其容易导致备租户因源端日志的回收而使整体的日志同步卡住,故需要通过该配置项配置源端主租户或备租户日志流延迟删除的时间。
权限要求
查询配置项
sys租户和所有用户租户均可以使用SHOW PARAMETERS语句或视图GV$OB_PARAMETERS查询该配置项。修改配置项
sys租户和用户租户均可修改该配置项。
属性说明
| 属性 | 描述 |
|---|---|
| 参数类型 | Time |
| 默认值 | 0s,表示日志流延迟删除机制不再生效。
说明从 V4.2.1 BP1 版本开始默认值由 3600s 调整为 0s。 |
| 取值范围 | [0s,+∞) |
| 是否可修改 | 是,支持通过 ALTER SYSTEM SET 语句修改。 |
| 是否重启 OBServer 节点生效 | 否 |
使用说明
对于物理备库场景:
如果源端的主租户或备租户未开启日志归档,同时配置项
ls_gc_delay_time的默认值为 3600s,即 1 小时,则日志延迟删除机制生效,且日志流延迟删除的时间为 1 小时。如果源端的主租户或备租户开启了日志归档,由于日志归档保证了日志流数据的完整性,因此日志流的 GC 不会受该配置项的影响。即,该场景下,无论配置项
ls_gc_delay_time的值为多少,日志延迟删除机制均不会生效。
对于删除租户的场景,无论配置项
ls_gc_delay_time的值为多少,日志流延迟删除机制均不生效。注意
该配置项中的延迟删除仅保留的是日志流实体,日志流本身的日志文件是否可以保留取决于当前租户的磁盘剩余空间,如果磁盘剩余空间不足,仍然会触发日志回收。
配置示例
sys 租户下设置指定租户日志流的延迟删除时间。
obclient> ALTER SYSTEM SET ls_gc_delay_time='7200s' TENANT = 'mysql_tenant';用户租户设置本租户日志流的延迟删除时间。
obclient> ALTER SYSTEM SET ls_gc_delay_time='7200s';