首页 / ORACLE / 学习Oracle环境中job创建
学习Oracle环境中job创建
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了学习Oracle环境中job创建,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2353字,纯文字阅读大概需要4分钟。
内容图文
![学习Oracle环境中job创建](/upload/InfoBanner/zyjiaocheng/549/92abb33033344b9ebad9309f928ce824.jpg)
Oracle中job的创建: create table date_log(create_date date constraint create_date_pk primary key); create or replace pro
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表示不运行 job
job_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) :停止job
job:dbms_job.broken(job,false,next_date) next_date:下次执行时间,,如果不填则马上启动job
job: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;
--停止正在运行的job
exec dbms_job.broken(46,true);
commit;
select broken from user_jobs where job=46;
--启动job
exec 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环境中job创建全部内容,希望文章能够帮你解决学习Oracle环境中job创建所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。