首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

oracle定时器,该怎么解决

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

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

RUN了。也不行。

SQL code
delare jobno number; begindbms_job.submit(jobno,what=>'test;',next_date=>trunc(sysdate),interval=>'trunc(sysdate)+1+2/(24)');commit;end;begindbms_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;

然后执行
SQL code
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; 

热点排行