熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

Oracle數據庫中如何根據時間來執行JOB

2013-11-13 15:59:33  來源: Oracle 

  問題假設有一個存儲過程p_test如何才能每分鐘執行一次?

  解答

  把initora中如下兩個參數打開

  JOB_QUEUE_INTERVAL=

  JOB_QUEUE_PROCESSES=

  job_queue_keep_connections=true

  然後重啟一個庫如果原來已經打開了則不用這步了

  示例以下由sqlplus 來執行具體參照一下相關的文檔

  VARIABLE jobno number;

  BEGIN

  DBMS_JOBSUBMIT(:jobno

  p_test;

  SYSDATESYSDATE + /);

  commit;

  END;

  DBMS_JOBSUBMIT(:jobno//job號

  your_procedure;//要執行的過程

  trunc(sysdate)+///下次執行時間

  trunc(sysdate)+/+//每次間隔時間

  );

  刪除job:dbms_jobremove(jobno);

  修改job:dbms_jobwhat(jobnowhat);

  修改下次執行時間dbms_jobnext_date(jobnext_date);

  修改間隔時間dbms_jobinterval(jobinterval);

  停止job:dbmsbroken(jobbrokennextdate);

  啟動job:dbms_jobrun(jobno);

  例子

  VARIABLE jobno number;

  begin

  DBMS_JOBSUBMIT(:jobno

  Procdemo;

  SYSDATE SYSDATE + /);

  commit;

  end;


From:http://tw.wingwit.com/Article/program/Oracle/201311/17638.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.