在网上看到有人问,在Oracle中如果JOB执行的时候数据库处于关闭状态,重新开启的时候是否会执行,没具体的测试过,但总觉得是会重新执行的,所以做了个测试,让事实来说话。
[@more@]SYS@HUIYI>create table t2 2 ( 3 col1 date 4 ) 5 / Table created. SYS@HUIYI>create or replace procedure pro_01 is 2 begin 3 insert into t2 values(sysdate); 4 commit; 5 end; 6 / Procedure created. SYS@HUIYI>select sysdate from dual; SYSDATE ------------------ 13-Mar-07 10:01:16 SYS@HUIYI>var job number; SYS@HUIYI>begin 2 dbms_job.submit(job=>:job, 3 what=>'PRO_01;', 4 next_date=>to_date('2007-03-13 15:15:15','yyyy-mm-dd hh24:mi:ss'), 5 interval=>'trunc(sysdate+1)'); 6 commit; 7 end; 8 / PL/SQL procedure successfully completed. SYS@HUIYI>shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SYS@HUIYI>host date The current date is: 2007-03-13 星期二 Enter the new date: (yy-mm-dd) 2007-03-14 SYS@HUIYI>startup ORACLE instance started. Total System Global Area 143727516 bytes Fixed Size 453532 bytes Variable Size 109051904 bytes Database Buffers 33554432 bytes Redo Buffers 667648 bytes Database mounted. Database opened. SYS@HUIYI>select * from t2; COL1 ------------------ 14-Mar-07 10:04:39 SYS@HUIYI>select sysdate from t2; SYSDATE ------------------ 14-Mar-07 10:04:53 SYS@HUIYI>select last_date,total_time,what from user_jobs; LAST_DATE TOTAL_TIME WHAT ------------------ ---------- ------------------------------ 14-Mar-07 10:04:38 1 PRO_01;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8799875/viewspace-904849/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/8799875/viewspace-904849/