ITPub博客

首页 > 数据库 > Oracle > Oracle job自动任务实用指南

Oracle job自动任务实用指南

原创 Oracle 作者:hunterworld 时间:2014-06-24 10:56:43 0 删除 编辑

我的<>,欢迎观看: http://edu.51cto.com/lecturer/index/user_id-1850277.html

作为oracle的定时任务,oracle job介于服务器层级的crontab和应用程序(如java spring的定时任务)之间,在数据库层对数据处理有重要的价值。
 下面简单分享一下oracle job如何来调用存储过程。

--创建job,不带参数的情况
variable etljobno number;
 begin
    dbms_job.submit(:etljobno,'proc_ctitetl;',sysdate,'sysdate+3/1440');  
 end;
 /

--创建job,带参数的情况
variable JOB_TEST number;
 begin
  dbms_job.submit(:JOB_TEST,'begin hlqtestjob(1,''aa''); end;',sysdate,'sysdate+1/1440');
  commit;
 end;
 /

--启动job
 begin
    dbms_job.run(:etljobno);
 end;
 /
--停止正在执行的job
 begin
 dbms_job.broken(:etljobno,true );
 end;
 /
--删除job
 begin
 dbms_job.remove(:etljobno);
 end;
 commit;
 /

--查询job
 SELECT JOB, NEXT_DATE, NEXT_SEC, FAILURES, BROKEN FROM DBA_JOBS;
如果要打断已经scheduledjob,dbms_job.broken(:etljobno,true ),打断之后,DBA_JOBS的BROKEN字段为Y,如果你要停止job或者暂停job
后修改存储过程代码,就可以broken,修改完之后再次启动job即可。

--查询正在执行的job
  SELECT   SID,JOB   FROM   DBA_JOBS_RUNNING; SELECT   SID,JOB   FROM   DBA_JOBS_RUNNING; SELECT   SID,JOB   FROM   DBA_JOBS_RUNNING;SELECT   SID,JOB   FROM   DBA_JOBS_RUNNING;SELECT   SID,JOB   FROM   DBA_JOBS_RUNNING;select sid,job from dba_jobs_running;

  有了oracle job,你就可以不必在每日的凌晨3点来执行必须的数据处理,或者选择系统负载较低的时候去执行特殊的任务。以下是一些oracle
 job的时间间隔的设置:
1:每分钟执行
Interval => TRUNC(sysdate,'mi') + 1/ (24*60)

2:每天定时执行
 例如:每天的凌晨1点执行
Interval => TRUNC(sysdate) + 1 +1/ (24)

3:每周定时执行
 例如:每周一凌晨1点执行
Interval => TRUNC(next_day(sysdate,'星期一'))+1/24

4:每月定时执行
 例如:每月1日凌晨1点执行
Interval =>TRUNC(LAST_DAY(SYSDATE))+1+1/24

5:每季度定时执行
 例如每季度的第一天凌晨1点执行
Interval => TRUNC(ADD_MONTHS(SYSDATE,3),'Q') + 1/24

6:每半年定时执行
 例如:每年7月1日和1月1日凌晨1点
Interval => ADD_MONTHS(trunc(sysdate,'yyyy'),6)+1/24

7:每年定时执行
 例如:每年1月1日凌晨1点执行
Interval =>ADD_MONTHS(trunc(sysdate,'yyyy'),12)+1/24

我的<>,欢迎观看: http://edu.51cto.com/lecturer/index/user_id-1850277.html

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29102572/viewspace-1192375/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2013-08-07

  • 博文量
    5
  • 访问量
    153838