资源描述:
《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