oracle本地账号密码忘记了Oracle JOB 的探讨

 

当你 执行DMBS_JOB.RUN(:JOB_ID) ;则此条job的记录,将在user_jobs  存在一条记录,但是DBA_JOBS_RUNNING 中并没有此条对应的记录。

 

 

 

1、Broken()过程更新一个已提交的工作的状态,典型地是用来把一个已破工作标记为未破工作。

   这个过程有三个参数:job 、broken与next_date。

  oracle账号PROCEDURE Broken (job   IN binary_integer,

           Broken  IN boolean,

           next_date IN date :=SYSDATE)

  job参数是工作号,它在问题中唯一标识工作。

  broken参数指示此工作是否将标记为破——TRUE说明此工作将标记为破,而FLASE说明此工作将标记为未破。

  next_date参数指示在什么时候此工作将再次运行。此参数缺省值为当前日期和时间。

  job如果由于某种原因未能成功之行,oracle将重试16次后,还未能成功执行,将被标记为broken

 

 

 

当你执行了DBMS_JOB.BROKEN(:JOB_ID,true) 后,在DBA_JOBS_RUNNING  表中即可存在了一条与之对应的记录。网上的文档一般认为DBA_JOBS_RUNNING   表存放的是正在运行的job,但是我觉得这里存放的已破了的job记录。

 

我有以下几个疑问:

 

 DBMS_JOB.BROKEN(:JOB_ID,false) 后,job并没有立刻重新执行,我等待了很长的时间后,观察也没有执行,不知道是为什么!后来我有用了   DBMS_JOB.RUN(:JOB_ID) 后,发现job也没有立刻的执行,不知道这是为什么!

作者 xiaobiao

此条目发表在oracle metalink账号分类目录,贴了标签。将固定链接加入收藏夹。