介绍几个数据字典视图:
dba_jobs 本数据库定义到任务队列的任务
dba_jobs_running 目前正在运行的任务
user_jobs 当前用户拥有的任务
时间间隔 参数interval 设置
每天运行一次 'sysdate+1'
每小时运行一次 'sysdate+1/24'
每10分钟运行一次 'sysdate+10/(24*60)'
每30秒运行一次 'sysdate+30/(24*60*60)'
每星期一次 'sysdate+7'
不再运行该任务并删除它 null
以上时间间隔不能保证任务的下一次运行在一个特定的时间,仅仅能够指定一个任务两次运行之间的时间间隔
特定日期或时间的例子
每天午夜12点 'trunc(sysdate+1)'
每天早上8点30分 'trunc(sysdate+1)+(8*60+30)/(24*60)'
每星期二中午12点 'next_day(trunc(sysdate),"tuesday"+12/24)'
每个月第一天的午夜12点 'trunc(last_day(sysdate)+1)'
在总结之前,先把Job的参数一一说明一下:
job参数是由Submit()过程返回的binary_ineger。这个值用来唯一标识一个工作;
what参数是将被执行的PL/SQL代码块;
next_date参数指识何时将运行这个工作。写Job的时候可以不指定该值,默认值是:“4000-1-1”;
interval参数何时这个工作将被重执行。
其中Interval这个值是决定Job何时,被重新执行的关键。
附上自己写的两个例子:
--每天凌晨一点执行
DECLARE
X NUMBER;
BEGIN
sys.dbms_job.submit(job => X,
what => 'begin pro_job_test.pro_job_day; end;',
next_date =>to_date('13-07-2011 01:00:00', 'dd-mm-yyyy hh24:mi:ss'),
interval => ' TRUNC(SYSDATE+1)+1/24 ');
SYS.DBMS_OUTPUT.PUT_LINE( 'Job Number is: ' || to_char(x));
commit;
END;
--每月1日执行
DECLARE
X NUMBER;
BEGIN
sys.dbms_job.submit(job => X,
what => 'begin pro_job_test.pro_job_month; end;',
next_date =>to_date('01-08-2011 01:00:00', 'dd-mm-yyyy hh24:mi:ss'),
interval => 'trunc(last_day(sysdate)+1)');
SYS.DBMS_OUTPUT.PUT_LINE( 'Job Number is: ' || to_char(x));
commit;
END;
分享到:
相关推荐
Oracle Job定时任务
Oracle JOB 定时任务 定时执行存储过程
oracle的job定时,henyouyongde ziliao
ORACLE定时任务不能自动执行的检查修复步聚。 oracle定时任务有时不能自动执行,据网上说可能是某个版本的BUG,一般通过这些步骤就能恢复了。 这是本人结合网络上的知识,解决实际问题时记录的。
oracle job调度存储过程 触发器 定时更新数据库
Oracle 定时删除数据 并释放空间 ,创建存储过程并使用job完成。
Oracle中的定时任务是在Oracle系统中是一个非常重要的子系统,运用得当,可以极大的提高我们的系统运行和维护能力。而Oracle数据复制的延迟事务队列管理完全是基于Oracle的队列任务,对其的深刻理解有助于我们更好地...
描述了oracle停止一个job的详细的操作步骤介绍。
Oracle定时执行存储过程 Oracle定时执行存储过程
。。。
。。。
DBMS JOB包创建ORACLE定时任务
-- job 创建 begin dbms_scheduler.create_job ( job_name => 'AGENT_LIQUIDATION_JOB', job_type => 'STORED_PROCEDURE', job_action => 'AGENT_LIQUIDATION.LIQUIDATION', --存储过程名 start_date...
oracle存储过程+日期+定时任务Job oracle存储过程+日期+定时任务Job oracle存储过程+日期+定时任务Job
主要介绍的是oracle中的job用法,oracle中定时执行存储过程
plsql创建存储过程并创建job定时任务执行-详细笔记文档总结
Oracle 在10g 版本以前,计划任务用的是DBMS_JOB 包,10g 版本引入DBMS_SCHEDULER 来替代先前的DBMS_JOB,在功能方面,它比DBMS_JOB 提供了更强大的功能和更灵活的机制 管理,但DBMS_JOB 包的使用相对比较简单,也基本...
oracle定时任务.txt
job的界面配置管理工具,为你更方便快捷定制定时任务,提高维护者的时间成本,更加安全实用
oracle中job调度存储过程 触发器 定时更新数据库.rar