当前所在位置:珠峰网资料 >> 计算机 >> Oracle认证 >> 正文
Oracle认证考试辅导:中如何根据时间来执行JOB
发布时间:2010/3/31 17:39:04 来源:城市学习网 编辑:admin

  中如何根据时间来执行JOB
  问题:假设有一个存储过程p_test,如何才能每20分钟执行一次?
  解答:
  1、把init.ora中如下两个参数打开
  JOB_QUEUE_INTERVAL=60
  JOB_QUEUE_PROCESSES=4
  job_queue_keep_connections=true
  然后重启一个库,如果原来已经打开了则不用这步了
  2、示例,以下由sqlplus 来执行,具体参照一下相关的文档
  VARIABLE jobno number;
  BEGIN

  DBMS_JOB.SUBMIT(:jobno,
  ’p_test;’
  SYSDATE,’SYSDATE + 1/72’);
  commit;
  END;
  DBMS_JOB.SUBMIT(:jobno,//job号
  ’your_procedure;’,//要执行的过程
  trunc(sysdate)+1/24,//下次执行时间
  ’trunc(sysdate)+1/24+1’//每次间隔时间
  );
  删除job:dbms_job.remove(jobno);
  修改job:dbms_job.what(jobno,what);
  修改下次执行时间:dbms_job.next_date(job,next_date);
  修改间隔时间:dbms_job.interval(job,interval);
  停止job:dbms.broken(job,broken,nextdate);
  启动job:dbms_job.run(jobno);
  例子:
  VARIABLE jobno number;
  begin
  DBMS_JOB.SUBMIT(:jobno,
  ’Procdemo;’,
  SYSDATE, ’SYSDATE + 1/720’);
  commit;
  end;

广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved