当前版本仅支持自动清理备份任务。对于自动清理场景,为了防止取消清理的任务被再次调度执行,需要先删除清理策略,再停止正在执行的清理任务。如果仅希望取消正在执行的清理任务,可无需删除清理策略。
删除清理策略
注意事项及说明
用户租户下删除清理策略
-
租户管理员登录到用户租户下。
-
执行以下语句,删除清理策略。
语句如下:
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;
确认清理策略已被删除
执行删除清理策略操作后,您可以通过查看视图来确认清理策略是否已被删除。
-
系统租户或用户租户的租户管理员登录到对应的租户。
-
确认清理策略是否已被删除。
根据查询结果,当视图中已无对应租户的记录时,表示该租户的清理策略已删除成功。
取消清理任务
用户租户下取消正在执行的清理任务
-
租户管理员登录到用户租户下。
-
执行以下语句,停止当前租户正在执行的清理任务。
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,则表示清理任务已停止。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70026124/viewspace-2932886/
,如需转载,请注明出处,否则将追究法律责任。