首批通过分布式安全可靠测评,为关键业务系统打造
STOP_JOB
更新时间:2026-01-07 10:38:52
STOP_JOB 过程用于终止正在运行的作业。
功能适用性
该内容仅适用于 OceanBase 数据库企业版。OceanBase 数据库社区版仅提供 MySQL 模式。
权限说明
sys 租户可以终止其他用户正在运行的作业,其他用户只能终止自己的正在运行的作业。
语法
DBMS_SCHEDULER.STOP_JOB (
job_name IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE);
参数说明
| 参数 | 说明 |
|---|---|
| job_name | 指定作业名称,仅支持指定一个 job_name。 |
| force | 是否强制终止正在运行的作业。仅支持设置为 FALSE,表示不强制执行终止作业。 |
使用说明
- 结束作业的多个运行轮次:当执行
STOP_JOB指令时,会终止所有在指令执行时间点之前启动的作业及其相应的 session。 - 对未来调度的影响:
STOP_JOB仅会结束当前正在运行的作业实例,不会对该作业未来的预定调度产生任何影响,作业将按计划继续执行。 - 被终止作业的失败次数统计:通过
STOP_JOB或kill session终止的作业会被计入失败一次。如果作业连续失败达到一定次数(如 16 次),可能会被系统认定为已毁坏。 - 在队列积压时对作业的影响:如果系统租户队列或 Oracle 租户队列出现积压,可能会影响
STOP_JOB指令的执行。队列积压可能会导致资源紧张,从而延迟或阻碍STOP_JOB指令的执行。
示例
立即终止作业 MYJOB。
BEGIN
DBMS_SCHEDULER.STOP_JOB(
JOB_NAME => 'MYJOB,
force => FALSE);
END;