今天开发人员让看一个测试机的JOB是否在跑,查了一下,BROKEN是N,但是没有last_date,last_sec,也就是没有最后的运行时间
在后台发现好多JOB都没有最后的运行时间。再细查,从SCHEMA_USER中看到一个未见过的USERNAME:mdlcnDEV,从dba_users
中也没有找到此用户 (历史问题) 基本断定为什么JOB不能跑了 所以需要把这些JOB建到开发所需的用户下
查JOB 的创建脚本:
set serveroutput on ;
declare
job_body varchar2(32767);
begin
dbms_job.user_export(42,job_body);
dbms_output.put_line(job_body);
end;
/
dbms_job.isubmit(job=>42,what=>'apautoclose;',next_date=>to_date('2013-03-07:00:06:00','YYYY-MM-DD:HH24:MI:SS'),interval=>'trunc(sysdate+1)+0.1/24',no_parse=>TRUE);
PL/SQL 过程已成功完成。
删除JOB
SQL> EXEC DBMS_JOB.REMOVE(42);
PL/SQL 过程已成功完成。
SQL> COMMIT;
通过开发用户登录,重新创建JOB
exec dbms_job.isubmit(job=>42,what=>'apautoclose;',next_date=>to_date('2013-03-07:00:06:00','YYYY-MM-DD:HH24:MI:SS'),interval=>'trunc(sysdate+1)+0.1/24',no_parse=>TRUE);
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23891491/viewspace-755438/
,如需转载,请注明出处,否则将追究法律责任。