读书人

oracle定时器解决办法

发布时间: 2013-01-06 15:44:47 作者: rapoo

oracle定时器
本人在oracle里写了3个定时器,都是在凌晨2点执行。
但是一开始执行了1次,后面就都不执行了。

RUN了。也不行。


delare jobno number;
begin
dbms_job.submit(jobno,what=>'test;',next_date=>trunc(sysdate),interval=>'trunc(sysdate)+1+2/(24)');
commit;
end;

begin
dbms_job.run(1);
end;


test为存储过程的名字, dbms_job.run(1);是开始这个定时器。
但是这样他在凌晨2点的时候并没有运行。
在此求教。
oracle10g
有更好的方法的也请赐教一下。
谢谢
[解决办法]

同学 你的 服务器的参数 job_queue_process 是不是设置成0 了。。。。
show parameter job_queue_process
这个参数是0的话job 相当于关闭了 job 功能,肯定不会自动执行了
oracle10g开始,推荐大家使用 dbms_scheduler 了,因此把这个参数默认设置成0了。。

[解决办法]
原来如此,呵呵~
先要赋予create job权限,例如
grant create job to dreams1208;

然后执行
begin
dbms_scheduler.create_job(
job_name=>'job_test',
job_type=>'STORED_PROCEDURE',
job_action=>'test',
repeat_interval=>'FREQ=DAILY;BYHOUR=2;BYMINUTE=0;BYSECOND=0',
enabled=>true);
end;

读书人网 >oracle

热点推荐