科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道job定時啟動的問題

job定時啟動的問題

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

job定時啟動的問題?

作者:csdn 来源:csdn 2009年12月22日

关键字: ORACLE 问答

  • 评论
  • 分享微博
  • 分享邮件

job定時啟動的問題?

要把dbms_job每天分3個時段執行 8:30 9:00 9:30
有個辦法是有每半小時執行一次 但是 一天下來  除了這3個時段外的都沒有意義
job能不能指定到3個時間段的


問題2
之前我定義了一個job 是8:12執行的 每小時執行一次 每次執行要用5分鐘  半個月job的執行時間變為8.49分
是不是job的下一次執行時間為這次執行完成后的時間再加上每次執行的時間
如 8:12執行  8:16完成  那下一次的時間是不是為9:16的

 

这是我们用的SCHED JOB
SQL code
BEGIN
  SYS.DBMS_SCHEDULER.CREATE_JOB
    (
       job_name        => 'SCH_JOB_AP030'
      ,start_date      => TO_TIMESTAMP_TZ('2009/03/31 15:45:00.000000 +08:00','yyyy/mm/dd hh24:mi:ss.ff tzh:tzm')
      ,[color=#FF0000]repeat_interval => 'FREQ=WEEKLY; BYDAY=MON,TUE,WED,THU,FRI;BYHOUR=9,10,11,13,14,15,16,17;
BYMINUTE=15,45;BYSECOND=0'[/color]
      ,end_date        => NULL
      ,job_class       => 'DEFAULT_JOB_CLASS'
      ,job_type        => 'PLSQL_BLOCK'
      ,job_action      => 'BEGIN
   SP_MAKE_AP030
  ( );
   END;'
      ,comments        => '上班时间每半时更新次AP030'
    );
  SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
    ( name      => 'SCH_JOB_AP030'
     ,attribute => 'RESTARTABLE'
     ,value     => FALSE);
  SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
    ( name      => 'SCH_JOB_AP030'
     ,attribute => 'LOGGING_LEVEL'
     ,value     => SYS.DBMS_SCHEDULER.LOGGING_RUNS);
  SYS.DBMS_SCHEDULER.SET_ATTRIBUTE_NULL
    ( name      => 'SCH_JOB_AP030'
     ,attribute => 'MAX_FAILURES');
  SYS.DBMS_SCHEDULER.SET_ATTRIBUTE_NULL
    ( name      => 'SCH_JOB_AP030'
     ,attribute => 'MAX_RUNS');
  BEGIN
    SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
      ( name      => 'SCH_JOB_AP030'
       ,attribute => 'STOP_ON_WINDOW_CLOSE'
       ,value     => FALSE);
  EXCEPTION
    -- could fail if program is of type EXECUTABLE...
    WHEN OTHERS THEN
      NULL;
  END;
  SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
    ( name      => 'SCH_JOB_AP030'
     ,attribute => 'JOB_PRIORITY'
     ,value     => 3);
  SYS.DBMS_SCHEDULER.SET_ATTRIBUTE_NULL
    ( name      => 'SCH_JOB_AP030'
     ,attribute => 'SCHEDULE_LIMIT');
  SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
    ( name      => 'SCH_JOB_AP030'
     ,attribute => 'AUTO_DROP'
     ,value     => FALSE);

  SYS.DBMS_SCHEDULER.ENABLE
    (name                  => 'SCH_JOB_AP030');
END;
/

 

 

BEGIN
  DBMS_SCHEDULER.CREATE_JOB
    (
      job_name        => 'job1216'
      ,start_date      => TO_TIMESTAMP_TZ('2009/12/16 15:45:00.000000 +08:00','yyyy/mm/dd hh24:mi:ss.ff tzh:tzm')
      ,repeat_interval => 'FREQ=minutely; BYDAY=0;BYHOUR=0;
BYMINUTE=1;BYSECOND=1'
      ,end_date        => NULL
      ,job_type        => 'PLSQL_BLOCK'
      ,job_action      => 'BEGIN
  PR1216    //存儲過程名
  ( );
  END;'
      ,comments        => '備注內容??'
    );
END; 

如果想要從12月16日開始每天的8:30 ,8.:45,9:00,9:15都執行一次
start_date,repeat_interval 要如何設置

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章