一个oracle的job:
declare
job_tbl number;
begin
sys.dbms_job.submit(job => job_tbl,
what => 'clear_tbl;',
next_date => trunc(SYSDATE)+30/1440,
interval => 'trunc(sysdate)+30/1440');
commit;
end;
/这里要求每天00:30执行clear_tbl这个存储过程,现在clear_tbl存储过程执行没问题,且单独手工运行这个job也没问题,但一旦让它自己定时运行就报错,我猜测,是否是interval => 'trunc(sysdate)+30/1440')这里的时间采用与next_date一致,所以当在trunc(SYSDATE)+30/1440执行了该job后,由于间隔时间也是当前时间,所以报错,改为:
declare
job_tbl number;
begin
sys.dbms_job.submit(job => job_tbl,
what => 'clear_tbl;',
next_date => trunc(SYSDATE)+30/1440,
interval => 'trunc(sysdate+1)+30/1440');
commit;
end;
/
即可,是这么理解么?谢谢!
declare
job_tbl number;
begin
sys.dbms_job.submit(job => job_tbl,
what => 'clear_tbl;',
next_date => trunc(SYSDATE)+30/1440,
interval => 'trunc(sysdate)+30/1440');
commit;
end;
/这里要求每天00:30执行clear_tbl这个存储过程,现在clear_tbl存储过程执行没问题,且单独手工运行这个job也没问题,但一旦让它自己定时运行就报错,我猜测,是否是interval => 'trunc(sysdate)+30/1440')这里的时间采用与next_date一致,所以当在trunc(SYSDATE)+30/1440执行了该job后,由于间隔时间也是当前时间,所以报错,改为:
declare
job_tbl number;
begin
sys.dbms_job.submit(job => job_tbl,
what => 'clear_tbl;',
next_date => trunc(SYSDATE)+30/1440,
interval => 'trunc(sysdate+1)+30/1440');
commit;
end;
/
即可,是这么理解么?谢谢!
解决方案 »
- oracle刚装好,有没有系统库系统表?
- 求一条sql语句急在线等...
- 这个sql怎么写??/急
- 把sqlserver 存储过程转换为oracle存储过程
- 求SQL文:用查询更新表。(UPDATE SET ...FROM ..)MS-SQL SERVER中有
- 请问各位大侠,如何修改表的max_extents参数。感激不尽!
- oracle 数据库备份问题!
- Oracle里有没有类似于SQL Server的JOB(作业)的东东
- 谁知道关于介绍sql92,sql99的网址?
- oracle报ORA-00942:表或视图不存在
- Google不可靠,CSDN最好~~如何从DMP中只导入一个表的数据
- 有关数据库的导出语句 full=y 参数问题
间隔时间应该是一天
sys.dbms_scheduler.create_job(
job_name => '"YANFA"."JOB_UPDATE_RUNSTATE"',
job_type => 'STORED_PROCEDURE',
--调用的命令类型,此处调用存储过程
job_action => 'YANFA.PRO_UPDATE_RUNSTATE',
--每10分钟运行一次
repeat_interval => 'FREQ=MINUTELY;INTERVAL=10',
--每10秒钟运行一次
--repeat_interval => 'FREQ=SECONDLY;INTERVAL=10',
start_date => systimestamp at time zone '+8:00',
job_class => 'DEFAULT_JOB_CLASS',
auto_drop => FALSE,
enabled => FALSE
);
sys.dbms_scheduler.set_attribute( name => '"YANFA"."JOB_UPDATE_RUNSTATE"', attribute => 'restartable', value => TRUE);
sys.dbms_scheduler.enable( '"YANFA"."JOB_UPDATE_RUNSTATE"' );
END;