首批通过分布式安全可靠测评,为关键业务系统打造
undo_retention
更新时间:2026-04-10 11:58:02
说明
该配置项从 V2.1 版本开始以系统变量的参数类型引入。
功能描述
undo_retention 用于设置系统应保留的多版本数据范围,在转储时控制多版本数据的回收。
属性说明
| 属性 | 描述 |
|---|---|
| 参数类型 | INT
说明该配置项从 V4.0.0 版本开始,参数类型由系统变量调整为配置项。 |
| 默认值 | 1800,单位为秒。 |
| 取值范围 | [0, 4294967295] |
| 是否可修改 | 是,支持通过 ALTER SYSTEM SET 语句修改。 |
| 是否重启 OBServer 节点生效 | 否 |
使用说明
OceanBase 数据库转储的数据会保留多个版本的历史数据行,您可以通过 undo_retention 来控制转储中保留的多版本数据范围。
其中:
当
undo_retention的值为0时,表示未开启多版本转储,即转储文件仅保留当前最新版本的行数据。当
undo_retention的值大于0时,表示开启多版本转储,并且转储文件保留这段时间(单位为秒)以内的多版本行数据。注意
租户开启多版本转储后,大版本合并会保留对应的增量转储文件,但 Major SSTable 中不会存放多版本数据。建议该参数不要设置过大,防止因参数过大而导致保留的 SSTable 数量超限。
配置示例
obclient> ALTER SYSTEM SET undo_retention=1800;