OB 数据库 Oracle 模式的 RECOVERY WINDOW是什么?

通过 RECOVERY WINDOW 可以设置数据库备份的保留机制。本文介绍 RECOVERY WINDOW 的配置方法和规则。

适用版本

OceanBase 数据库 V2.X.X 版本

RECOVERY WINDOW

在 Oracle 数据库中,可以通过 CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF X DAYS 语句为数据库保留 X 天的备份,但实际上超过 X 天的数据仍然不会删除。这是由于 Oracle 数据库在恢复窗口期外存在一个最近时间点的备份,保证在恢复当前时间点开始往前 X 天的任意时间点都有数据。

OceanBase 数据库中,配置项 backup_recovery_window 用于表示成功备份的数据可以提供恢复的时间窗口,默认为 0,表示永久保留。配置 backup_recovery_window=X 后,实际上可以看到 X 天前的备份还在,并没有被删除 。

有关该配置项的详细信息,请参见《OceanBase 数据库 参考指南》中的 系统配置项 章节。

假设以上图为例,当前时间是 30 日,配置项 backup_recovery_window=7d,此时可恢复最早的时间点是 23 日,即上图横轴第一个箭头所指位置。

要恢复 23 日的数据,需要有一个全量备份,和一个增量或者 Clog 归档备份。23 日前的最近一次全量备份是在 15 日,那么如果要恢复 23 日,OceanBase 数据库就会将 15 日全量备份保留下来。