欢迎访问OceanBase官网获取更多信息:https://www.oceanbase.com/
当前版本仅支持自动清理备份任务。对于自动清理场景,为了防止取消清理的任务被再次调度执行,需要先删除清理策略,再停止正在执行的清理任务。如果仅希望取消正在执行的清理任务,可无需删除清理策略。
删除清理策略
注意事项及说明
删除清理策略时,当将租户下所有的清理策略都删除后,相当于关闭了该租户的自动清理功能。
删除清理策略并不会影响正在执行的清理任务,仅表示系统下次进行自动清理调度时,被删除的清理策略将不会再生成清理任务。
用户租户下删除清理策略
租户管理员登录到用户租户下。
执行以下语句,删除清理策略。
语句如下:
obclient> ALTER SYSTEM DROP DELETE BACKUP POLICY policy_name;其中,
POLICY参数用于指定待删除的清理策略名,您可以通过查看视图oceanbase.DBA_OB_BACKUP_DELETE_POLICY或sys.DBA_OB_BACKUP_DELETE_POLICY来获取当前租户所设置的清理策略。删除当前租户的清理策略
default的示例如下:obclient> ALTER SYSTEM DROP DELETE BACKUP POLICY 'default';
系统租户下删除清理策略
使用
root用户登录数据库的sys租户。执行以下语句,删除清理策略。
obclient> ALTER SYSTEM DROP DELETE BACKUP POLICY policy_name TENANT tenant_name;其中:
POLICY参数用于指定待删除的清理策略名, 可以从视图CDB_OB_BACKUP_DELETE_POLICY中获取。TENANT参数用于指定用户租户的租户名,在系统租户下删除清理策略必须指定用户租户名,且仅支持指定一个用户租户名。
系统租户取消
MySQL租户的清理策略default的示例如下:obclient> ALTER SYSTEM DROP DELETE BACKUP POLICY 'default' TENANT MySQL;
确认清理策略已被删除
执行删除清理策略操作后,您可以通过查看视图来确认清理策略是否已被删除。
系统租户或用户租户的租户管理员登录到对应的租户。
确认清理策略是否已被删除。
系统租户通过
oceanbase.CDB_OB_BACKUP_DELETE_POLICY视图确认指定租户的清理策略是否已删除。示例如下:
obclient> SELECT * FROM oceanbase.CDB_OB_BACKUP_DELETE_POLICY WHERE tenant_id = 1002; Empty set用户租户通过
oceanbase.DBA_OB_BACKUP_DELETE_POLICY视图或sys.DBA_OB_BACKUP_DELETE_POLICY视图确认当前租户的清理策略是否已删除。MySQL 租户
obclient> SELECT * FROM oceanbase.DBA_OB_BACKUP_DELETE_POLICY;
根据查询结果,当视图中已无对应租户的记录时,表示该租户的清理策略已删除成功。
取消清理任务
用户租户下取消正在执行的清理任务
租户管理员登录到用户租户下。
执行以下语句,停止当前租户正在执行的清理任务。
obclient> ALTER SYSTEM CANCEL DELETE BACKUP;
系统租户下取消正在执行的清理任务
使用
root用户登录数据库的sys租户。执行以下语句,停止指定租户正在执行的清理任务。
obclient> ALTER SYSTEM CANCEL DELETE BACKUP TENANT tenant_name_list;其中,
TENANT参数用于指定待取消清理任务的用户租户名,支持一次指定多个用户租户名,表示仅取消指定租户下正在执行的清理任务。系统租户取消
MySQL租户和Oracle租户上正在执行的清理任务。示例如下:obclient> ALTER SYSTEM CANCEL DELETE BACKUP TENANT MySQL, Oracle;如果不指定
TENANT参数,则表示同时取消所有用户租户下正在执行的清理任务。obclient> ALTER SYSTEM CANCEL DELETE BACKUP;
确认清理任务已停止
执行停止清理任务的操作后,系统租户和用户租户均可以通过查看视图来确认清理任务是否已停止。
系统租户或用户租户的租户管理员登录到对应的租户。
确认清理任务是否已停止。
查看清理任务是否正在执行。
系统租户通过
oceanbase.CDB_OB_BACKUP_DELETE_JOBS视图查看所有租户清理任务的执行情况;用户租户通过oceanbase.DBA_OB_BACKUP_DELETE_JOBS视图或sys.DBA_OB_BACKUP_DELETE_JOBS视图查看当前所在租户清理任务的执行情况。系统租户查看指定租户清理任务执行情况的示例如下:
obclient> SELECT * FROM oceanbase.CDB_OB_BACKUP_DELETE_JOBS WHERE tenant_id = 1002\G *************************** 1. row *************************** TENANT_ID: 1002 JOB_ID: 1 INCARNATION: 1 INITIATOR_TENANT_ID: 1002 INITIATOR_JOB_ID: 7 EXECUTOR_TENANT_ID: 1002 TYPE: DELETE OBSOLETE BACKUP PARAMETER: 2022-05-31 12:09:40.060284 JOB_LEVEL: USER_TENANT START_TIMESTAMP: 2022-06-01 12:09:53.389512 END_TIMESTAMP: STATUS: CANCELING TASK_COUNT: 2 SUCCESS_TASK_COUNT: 1 RESULT: 0 COMMENT: 1 row in set根据查询结果,如果
STATUS对应的值为INIT或DOING或CANCELING,则表示清理任务还未执行结束。如果出现如下情况,上述视图中查询不到租户正在执行的清理任务,则可以执行下一步,查看清理任务的历史记录来确认清理任务执行的结果。
obclient> SELECT * FROM oceanbase.CDB_OB_BACKUP_DELETE_JOBS where tenant_id = 1002; Empty set查看清理任务的历史记录。
系统租户通过
oceanbase.CDB_OB_BACKUP_DELETE_JOB_HISTORY视图查看所有租户的历史清理任务;用户租户通过oceanbase.DBA_OB_BACKUP_DELETE_JOB_HISTORY视图或sys.DBA_OB_BACKUP_DELETE_JOB_HISTORY视图查看所在租户的历史清理任务。系统租户查看指定租户清理任务的历史记录的示例如下:
obclient> SELECT * FROM oceanbase._DELETE_JOB_HISTORY where tenant_id = 1002\G *************************** 1. row *************************** TENANT_ID: 1002 JOB_ID: 1 INCARNATION: 1 INITIATOR_TENANT_ID: 1002 INITIATOR_JOB_ID: 7 EXECUTOR_TENANT_ID: 1002 TYPE: DELETE OBSOLETE BACKUP PARAMETER: 2022-05-31 12:09:40.060284 JOB_LEVEL: USER_TENANT START_TIMESTAMP: 2022-06-01 12:09:53.389512 END_TIMESTAMP: 2022-06-01 12:10:36.829576 STATUS: CANCELED TASK_COUNT: 2 SUCCESS_TASK_COUNT: 2 RESULT: 0 COMMENT: 1 row in set如果
STATUS对应的值为COMPLETED或FAILED或CANCELED,则表示清理任务已停止。
欢迎访问OceanBase官网获取更多信息:https://www.oceanbase.com/




