正在运行的JOB被broken以后会怎么样

来源:互联网 发布:淘宝客q群推机器人 编辑:程序博客网 时间:2024/04/26 13:42

今天做了个测试,想看下如果正在运行的定时JOB被broken后会怎样,我原以为定时job会停止继续起job,而正在运行的job会继续跑完,但是测试结果我只猜对了一半。

1.建立定时job

declare   job number;      begindbms_job.submit(job,'FOR i IN 1..500000 LOOP  insert into a (id,m_name) values (1,''aaaa'');  END LOOP; COMMIT;',sysdate+1/1440,'sysdate+1/1440');COMMIT;end;

2. 查看dba_jobs_running,当job正在跑的时候broken job

BEGIN  DBMS_JOB.broken(49,TRUE);  COMMIT;END;

3.查看Dba_Jobs中job情况

SELECT t.LAST_SEC,t.THIS_SEC,t.NEXT_SEC,t.BROKEN,t.FAILURES,t.* FROM Dba_Jobs t WHERE t.LOG_USER='ORACLE' AND t.JOB=49;


4. 查看dba_jobs_running,发现启动的job还在运行

到这里还都在我的预算中,当正在运行的job跑完,我再次查询这个job时,发现它竟然自己又重新启动了!!!!


所以大家准备停止定时JOB去做些与JOB内容互斥的操作时就要小心了,一定要等到JOB跑完后再停止,不要被它被骗了。。。。。。。

0 0
原创粉丝点击