oracle中job的实例

oracle中job的实例

ID:34724965

大小:153.18 KB

页数:40页

时间:2019-03-10

oracle中job的实例_第1页
oracle中job的实例_第2页
oracle中job的实例_第3页
oracle中job的实例_第4页
oracle中job的实例_第5页
资源描述:

《oracle中job的实例》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、一、Oracle定时器(Job)各时间段写法汇总对于DBA来说,数据库Job再熟悉不过了,因为经常要数据库定时的自动执行一些脚本,或做数据库备份,或做数据的提炼,或做数据库的性能优化,包括重建索引等等的工作。但是,Oracle定时器Job时间的处理上,千变万化,今天我把比较常用写法汇总如下:在总结之前,先把Job的参数一一说明一下:job参数是由Submit()过程返回的binary_ineger。这个值用来唯一标识一个工作;what参数是将被执行的PL/SQL代码块;next_date参数指识何时将运行这个工作。写Job的时候可以不指定

2、该值;interval参数何时这个工作将被重执行。其中Interval这个值是决定Job何时,被重新执行的关键。例如:有存储过程p_dosomethings,需要被不同的时间间隔执行。1declare   2  jobnonumber;   3begin   4  dbms_job.submit(5    jobno,6    'p_dosomething;',  --what7    to_date('20090101020000','yyyy-mm-ddhh24:mi:ss'),--next_date,可以不填8    'Interv

3、al时间字符串'--interval,关键设置9  );   10  commit;   11end;121、每分钟执行Interval=>TRUNC(sysdate,’mi’)+1/(24*60)2、每天定时执行例如:每天的凌晨2点执行Interval=>TRUNC(sysdate)+1+2/243、每周定时执行例如:每周一凌晨2点执行Interval=>TRUNC(next_day(sysdate,'星期一'))+2/244、每月定时执行例如:每月1日凌晨2点执行Interval=>TRUNC(LAST_DAY(SYSDATE))+1

4、+2/245、每季度定时执行例如每季度的第一天凌晨2点执行Interval=>TRUNC(ADD_MONTHS(SYSDATE,3),'Q')+2/246、每半年定时执行例如:每年7月1日和1月1日凌晨2点Interval=>ADD_MONTHS(trunc(sysdate,'yyyy'),6)+2/247、每年定时执行例如:每年1月1日凌晨2点执行Interval=>ADD_MONTHS(trunc(sysdate,'yyyy'),6)+2/24一、oraclejob下午mumu问我,如何终止一个正在执行的job,我当时也没有想起来(或

5、者说,以前都是run,而没有romove过),所以就上网找了一下,感觉下面写的还不错,就收了起来,呵呵~~~~ORACLE中JOB的应用1、创建存储过程createorreplaceprocedure*pro_nameasbegininsertintoagri_exhibition_basecur(messid,title,type,pub_date)selectid,title,sort,pub_datefromagri_messagewhere(trunc(sysdate-pub_date)=0andrownum<6)andsort=

6、'供';insertintoagri_exhibition_basecur(messid,title,type,pub_date)selectid,title,sort,pub_datefromagri_messagewhere(trunc(sysdate-pub_date)=0andrownum<6)andsort='求';end;/2、创建JOBvariablejobdxmnumber;begindbms_job.submit(:jobdxm,'exhi_pro_dxm;',sysdate,'trunc(sysdate,''dd'')

7、+32.5/24');end;一个简单的JOB实列1、创建测试表SQL>createtablea(adate);表已创建。2、创建一个自定义过程SQL>createorreplaceproceduretestas2begin3insertintoavalues(sysdate);4end;5/过程已创建。3、创建JOBSQL>variablejob1number;SQL>SQL>begin2dbms_job.submit(:job1,'test;',sysdate,'sysdate+1/1440');  --每天1440分钟,即一分钟运行

8、test过程一次3end;4/PL/SQL过程已成功完成。4、运行JOBSQL>begin2dbms_job.run(:job1);3end;4/PL/SQL过程已成功完成。SQL>selec

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。