Welcome 微信登录

首页 / 数据库 / MySQL / 学习Oracle环境中job创建

Oracle中job的创建:create table date_log(create_date date constraint create_date_pk primary key);create or replace procedure create_date_log_row
 is
 begin
   insert into date_log(create_date)values(sysdate);
   end;
   /
  
定期调用create_date_log_row  存储过程相date_log 表中插入数据Job_queue_processes=2  :执行job时候引起的进程数 (最小值是0,最大值是36) 0表示不运行 jobjob_queue_interval=30  :范围在1~3600之间,单位是秒,定期唤醒进程,判断有没有要执行的job,这里时间是30秒alter system set Job_queue_processes=0;alter system set Job_queue_processes=5;dbms_job.submit(:jobno,"create_date_log_row",trunc(sysdate)+1/24,"trunc(sysdate)+1/24+1")jobno:job编号create_date_log_row :要执行的存储过程名trunc(sysdate)+1/24 :下次执行的时间"trunc(sysdate)+1/24+1" :每次间隔时间job:dbms_job.remove(jobno); 移去job号job:dbms_job.what(jobno,what);修改job号dbms_job.next_date(job,next_date) :修改下次执行的时间dbms_job.interval(job,interval)   :修改间隔时间
 
job:dbms_job.broken(job,true)     :停止jobjob:dbms_job.broken(job,false,next_date)   next_date:下次执行时间,如果不填则马上启动jobjob:dbms_job.run(jobno);第一步:创建任务SQL>VAR job1 number;  --存储job号码SQL>begin
    dbms_job.submit(:job1,"create_date_log_row;",sysdate,"sysdate+1/1440");
    commit;
    end;SQL>PRINT job1;select * from date_log;--查看job参数的值select last_date,last_sec,next_date,next_sec,interval,broken from user_jobs;--停止正在运行的jobexec dbms_job.broken(46,true);
commit;
 
select broken from user_jobs where job=46;--启动jobexec dbms_job.broken(46,false);
commit;--
select next_date,next_sec from user_jobs;修改下次执行时间:exec dbms_job.next_date(5,sysdate+2/(24*60));
commit;-- 修改执行的频率exec dbms_job.interval(5,sysdate+3/(24*60));
commit;--移去job
job:dbms_job.remove(46);
--执行时间设置:每天午夜12点 "trunc(sysdate+1)"
每天早上8点30分 "trunc(sysdate+1)+(1*60+30)/(24*60)"
每星期二中午12点 "next_day(trunc(sysdate),"tuesday")+ 12/24"
每个月第一天的晚上11点 "trunc(last_day(sysdate)+1)"
每个季度最后一天的晚上11点 "trunc(add_months(sysdate+2/24,3),"Q")-1/24"
每星期六和日早上6点10分 "trunc(least(next_day(sysdate"SATURDAY"),NEXT_DAY(SYSDATE,"SUNDAY")))+(6*60+10)/(24*60)"Oracle中存储过程和函数的区别Oracle存储过程for语句用法相关资讯      Oracle基础教程 
  • Oracle块编程返回结果集详解  (11/10/2013 10:45:58)
  • Oracle基础教程之设置系统全局区  (08/22/2013 14:24:00)
  • Oracle基础教程知识点总结  (06/18/2013 07:43:32)
  • Oracle基础教程之tkprof程序详解  (10/22/2013 11:49:50)
  • Oracle基础教程之sqlplus汉字乱码  (07/18/2013 16:30:00)
  • Oracle 管理之 Linux 网络基础  (02/16/2013 18:37:35)
本文评论 查看全部评论 (0)
表情: 姓名: 字数