我想每天5:35执行过程DPC_DATAPROCESS,在调试的时候先把数据库时间调到2004-9-16 5:35:33,然后设置:
declare   job1 number;
begin
  dbms_job.submit(job1,'DPC_DATAPROCESS;',trunc(sysdate)+(5*60+35)/(24*60),'TRUNC(SYSDATE + 1) + (5*60+35)/(24*60)');
  commit;
  end;
但过了时间还是没有执行,需要用dbms_job.run(job1);--强制执行指定任务才能执行;
执行后看到 NEXT_DATE:2004-9-17 5:35:00,我再把时间调到2004-9-17 5:33:00,但过了5:35后还是没有执行!!
请问到底有怎么设置才能执行啊!interval的值和第一次执行时间有关系吗?

解决方案 »

  1.   

    执行如下语句看看:
    SQL> show parameter jobNAME                                 TYPE    VALUE
    ------------------------------------ ------- ------------------------------
    job_queue_processes                  integer 10
    如果小的话
    SQL> alter system set job_queue_processes=10
      2  /
    系统已更改。
      

  2.   

    或者直接修改init.ora文件 
    加上:  
    job_queue_processes  =  10  
    job_queue_interval  =  60  
    然后重新启动数据库
      

  3.   

    有跟数据库job执行有关的参数
      job_queue_processes = 1
      job_queue_interval = 60
      distributed_transactions = 10
      open_links = 4
      第一行定义SNP进程的启动个数为n。系统缺省值为0,正常定义范围为0~36,根据任务的多少,可以配置不同的数值。
      第二行定义系统每隔N秒唤醒该进程一次。系统缺省值为60秒,正常范围为1~3600秒。事实上,该进程执行完当前任务后,就进入睡眠状态,睡眠一段时间后,由系统的总控负责将其唤醒。
      

  4.   

    DBMS_JOB的经典帖子,请斑竹加入精品管。