首批通过分布式安全可靠测评,为关键业务系统打造
DELETE BACKUP POLICY
更新时间:2026-06-12 11:42:40
ADD DELETE BACKUP POLICY 语句和 DROP DELETE BACKUP POLICY 语句分别用于设置和删除清理策略。
如果需要为用户开启自动清理功能,可以使用 ADD DELETE BACKUP POLICY 语句为租户设置清理策略,设置了清理策略的租户将会每小时触发一次自动清理任务。
清理任务执行过程中,如果仅希望取消正在执行的清理任务,可以执行 CANCELE DELETE BACKUP 语句,有关 CANCELE DELETE BACKUP 语句的详细介绍,请参见 CANCEL DELETE BACKUP;如果希望取消的清理任务不再被调度执行,则需要先执行 DROP DELETE BACKUP POLICY 语句删除自动清理策略后,再执行 CANCELE DELETE BACKUP 语句取消正在执行的清理任务。
使用限制及注意事项
使用
ADD DELETE BACKUP POLICY语句设置清理策略时,仅支持设置租户级的自动清理策略,不支持设置集群级的清理策略。每条命令只能为一个租户设置或删除一个清理策略。
使用
DROP DELETE BACKUP POLICY语句删除租户的清理策略时,当租户下所有的清理策略都被删除后,相当于关闭了该租户的自动清理功能。使用
DROP DELETE BACKUP POLICY语句删除清理策略并不会影响正在执行的清理任务,仅表示系统下次进行自动清理调度时,被删除的清理策略将不会再生成清理任务。
权限要求
需要由 sys 租户的 root 用户(root@sys) 或各租户的管理员用户执行。其中:
- MySQL 模式的默认管理员用户为
root用户。 - Oracle 模式的默认管理员用户为
SYS用户。
语法
ALTER SYSTEM delete_backup_action [ TENANT [=] tenant_name ];
delete_backup_action:
ADD DELETE BACKUP POLICY [=] policy_name [RECOVERY_WINDOW [=] recovery_window]
| DROP DELETE BACKUP POLICY [=] policy_name
参数说明
| 参数 | 描述 |
|---|---|
| POLICY | 指定清理策略名,支持以下取值:
|
| RECOVERY_WINDOW | 控制备份数据可恢复的时间窗口,可选。如果不显式指定该参数,则默认备份数据可恢复的时间窗口为 0 天,表示备份集不会过期,系统不执行清理。有关该参数的详细说明,请参见 清理备份相关参数介绍。 |
| tenant_name | 指定租户名称。可选,仅在系统租户下执行时需要指定。 |
示例
系统租户
系统租户为
mysql_tenant租户设置清理策略为default,备份数据可恢复的时间窗口为 7 天。obclient [oceanbase]> ALTER SYSTEM ADD DELETE BACKUP POLICY = 'default' RECOVERY_WINDOW ='7d' TENANT = mysql_tenant;设置成功后,可以通过以下语句查看该租户已设置的清理策略。
obclient [oceanbase]> SELECT * FROM oceanbase.CDB_OB_BACKUP_DELETE_POLICY WHERE TENANT_ID=1002;查询结果如下:
+-----------+-------------+-----------------+ | TENANT_ID | POLICY_NAME | RECOVERY_WINDOW | +-----------+-------------+-----------------+ | 1002 | default | 7d | +-----------+-------------+-----------------+ 1 row in set系统租户删除
mysql_tenant租户的清理策略default。obclient [oceanbase]> ALTER SYSTEM DROP DELETE BACKUP POLICY 'default' TENANT mysql_tenant;
用户租户
租户
oracle_tenant设置本租户的清理策略为default,备份数据可恢复的时间窗口为 7 天。obclient [SYS]> ALTER SYSTEM ADD DELETE BACKUP POLICY 'default' RECOVERY_WINDOW '7d';设置成功后,可以通过以下语句查看本租户已设置的清理策略。
obclient [SYS]> SELECT * FROM SYS.DBA_OB_BACKUP_DELETE_POLICY;查询结果如下:
+-------------+-----------------+ | POLICY_NAME | RECOVERY_WINDOW | +-------------+-----------------+ | default | 7d | +-------------+-----------------+ 1 row in set租户
oracle_tenant删除本租户的清理策略。obclient [SYS]> ALTER SYSTEM DROP DELETE BACKUP POLICY 'default';