oracle怎么删除定时器,oracle中关于定时器的创建与删除

1、把init.ora中如下两个参数打开

JOB_QUEUE_INTERVAL=60

JOB_QUEUE_PROCESSES=4

job_queue_keep_connections=true

//位置位于:D:/oracle/admin/orcl/pfile下的init.ora文件内

2、定义job

sql>variable m number;

sql>begin

dbms_job.submit(:m,‘insert into attend (kq_id,user_id,date_time) select kq_id.nextVal,id,sysdate from rs_ygb;’,sysdate,‘sysdate+1’);

commit;

end;

/

PL/SQL 过程已成功完成。

或者已连接。

sql>variable m number;

sql>begin

dbms_job.submit(:m,‘insert into attend(kq_id,user_id,date_time) select kq_id.nextVal,id,sysdate from rs_ygb a,atten

d b where a.id !=b.user_id and to_char(b.date_time,'yyyy/mm/dd')!=to_char(sysdate,'yyyy/mm/dd');',sysdate,‘sysdate+1’);

commit;

end;

/

3、

系统提示执行成功。   Sql> print :n;

4、

如上,我们创建了一个每隔4分钟执行一次的任务号为300的任务。可以通过Oracle提供

的数据字典user_jobs察看该任务的执行情况:

sql> select job,next_date,next_sec,failures,broken from user_jobs;

执行结果如下:

job next_date next_sec failures broken

300 2000/10/10 11:45:15 0 N

这表示任务号为300的任务,下一次将在2000/10/10 11:45:15执行,此任务的执行失败

记录为0次。注意:当执行job出现错误时,Oracle将其记录在日志里,失败次数每次自动加1

。当执行失败次数达到16时,Oracle就将该job标志为broken。此后,Oracle不再继续执行它

,直到用户调用过程dbms_job.broken,重新设置为not broken,或强制调用dbms_job.run来

除了以上我们讨论的submit存储过程之外,Oracle还提供了其他许多存储过程来操作任务

。例如:dbms_job.change 、 dbms_job.what、dbms_job.interval可以用来修改提交的任务

。要想删除该任务,只需运行dbms_job.remove(n)即可,其中n为任务号。

5、

一般在执行语句的前面加exec

删除job:dbms_job.remove(jobno);

修改job:dbms_job.what(jobno,what);

修改下次执行时间:dbms_job.next_date(job,next_date);

修改间隔时间:dbms_job.interval(job,interval)

例如:

exec dbms_job.next_date(1,to_date('2006-03-01 00:00:00','yyyy/mm/dd hh24:mi:ss'))

删除job:dbms_job.remove(jobno);

修改job:dbms_job.what(jobno,what);

修改下次执行时间:dbms_job.next_date(job,next_date);

修改间隔时间:dbms_job.interval(job,interval);

6、

3、常见的时间函数

30分钟:(sysdate+1)/481个小时:(sysdate+1)/24一天:sysdate+1一个星期: sysdate+7每个星期五中午:NEXT_DAY(TRUNC(SYSDATE),'星期五') + 12/24一个月:add_months(sysdate,1) --可以为正负数一年:add_months(sysdate,12)月份加减:select to_char(add_months(sysdate,-1),'yyyymm') from dual;日期加减:select to_char(sysdate-1,'yyyymmdd') from dual;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值