You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何区分数据库中的DBMS_JOB与DBMS_SCHEDULER?求过滤DBMS_JOB的查询语句

区分DBMS_JOB与DBMS_SCHEDULER及过滤查询语句

两者的核心区分点

  • 创建方式:DBMS_JOB是Oracle早期的作业调度工具,只能通过DBMS_JOB.SUBMIT()存储过程创建;DBMS_SCHEDULER是后续推出的新版调度工具,依赖DBMS_SCHEDULER.CREATE_JOB()及相关过程创建。
  • 数据存储视图:DBMS_JOB的作业信息集中在DBA_JOBS、ALL_JOBS、USER_JOBS这几个视图里;DBMS_SCHEDULER的作业数据则存在DBA_SCHEDULER_JOBS、ALL_SCHEDULER_JOBS、USER_SCHEDULER_JOBS等以SCHEDULER开头的专属视图中。
  • 功能范围:DBMS_SCHEDULER支持更复杂的调度规则(比如日历表达式、作业依赖、作业链),而DBMS_JOB仅支持简单的时间间隔调度,功能局限性明显。
  • 作业标识:DBMS_JOB的作业ID是系统分配的数字;DBMS_SCHEDULER的作业名可自定义,也可由系统自动生成字符串型标识。

仅过滤DBMS_JOB的查询语句

DBMS_JOB的作业不会出现在DBMS_SCHEDULER的视图中,直接查询其专属视图即可:

  1. 查询当前用户的所有DBMS_JOB:
SELECT job AS 作业ID, 
       what AS 执行内容, 
       next_date AS 下次执行时间, 
       interval AS 调度间隔, 
       failures AS 失败次数
FROM USER_JOBS;
  1. 查询数据库中所有用户的DBMS_JOB(需要DBA权限):
SELECT job AS 作业ID, 
       log_user AS 所属用户, 
       what AS 执行内容, 
       next_date AS 下次执行时间, 
       interval AS 调度间隔
FROM DBA_JOBS;

内容的提问来源于stack exchange,提问作者chiranth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 18:01:08