从dba_jobs中移除完成完成的作业需要多长时间?

时间:2018-06-29 07:28:17

标签: oracle dbms-job

如果我通过dbms_job.submit提交作业,然后提交,那么它将一直运行到完成。我可以在dba_jobs视图上查看多长时间?什么决定这次?

1 个答案:

答案 0 :(得分:0)

正如@Kaushik所说,DBMS_JOB软件包已被DBMS_SCHEDULER软件包source取代。 他们使用工作名称代替数字,使用适当的时间安排程序语言,并具有许多监视执行情况的视图等。

DBMS_SCHEDULER.CREATE_JOB过程甚至为您的问题提供了一个专用参数,称为auto_drop

  

如果TRUE,则此标志导致作业在完成后自动删除。 source

但是您要DBMS_JOB,我很确定该作业没有被删除。我刚刚验证了删除用户/架构后将其删除。

以管理员身份:

CREATE USER a IDENTIFIED BY a;
GRANT CREATE SESSION, CREATE JOB TO a;

作为用户a:

DECLARE
  my_job number;
BEGIN
  DBMS_JOB.SUBMIT(job => my_job, 
    what => 'BEGIN DBMS_STATS.GATHER_SCHEMA_STATS(NULL); END;',
    next_date=>sysdate+(1/24/60),
    interval=>'sysdate+(1/24/60)');
  COMMIT;
end;
/   

以管理员身份:

SELECT * FROM DBA_JOBS WHERE schema_user='A';
JOB LOG_USER LAST_DATE           NEXT_DATE ...
25  A        29.06.2018 13:46:25 29.06.2018 13:47:25

DROP USER A;
User A dropped.

SELECT * FROM DBA_JOBS WHERE schema_user='A';
no rows returned
相关问题