12
返回列表 发新帖
楼主: ZALBB

如何让scheduler在指定的时间段执行作业

[复制链接]
论坛徽章:
1
11#
发表于 2006-7-7 11:15 | 只看该作者
確實如此!
Creating Jobs Using a Named Schedule
You can also create a job by pointing to a named schedule instead of inlining its schedule. To create a job using a named schedule, you specify the value for schedule_name in the CREATE_JOB procedure when creating the job and do not specify the values for start_date, repeat_interval, and end_date.

在這里主要是結束時間不好控制。
如果解決了希望能貼出來﹐讓大家學習學習。

使用道具 举报

回复
论坛徽章:
314
行业板块每日发贴之星
日期:2012-07-12 18:47:29双黄蛋
日期:2011-08-12 17:31:04咸鸭蛋
日期:2011-08-18 15:13:51迷宫蛋
日期:2011-08-18 16:58:25紫蛋头
日期:2011-08-31 10:57:28ITPUB十周年纪念徽章
日期:2011-09-27 16:30:47蜘蛛蛋
日期:2011-10-20 15:51:25迷宫蛋
日期:2011-10-29 11:12:59ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41鲜花蛋
日期:2011-11-09 20:33:30
12#
 楼主| 发表于 2006-7-10 08:37 | 只看该作者

找到方法了,共享一下。

begin
   dbms_scheduler.create_schedule
   (schedule_name       =>'S10',
    start_date          =>to_date('01:30:00','HH24:MI:SS'),   
    repeat_interval     =>'freq=minutely; byhour=01,02,05,06,07; interval=40; bysecond=00;',   
    comments            => 'interval=40 min');
end;
/

create or replace procedure pro_decodetab10 as
begin
   insert into decodetab(id,time,pro_name)
   select nvl(max(id),0)+1, sysdate, 'PRO_DECODETAB10' from decodetab
   where pro_name='PRO_DECODETAB10';
   commit;
end pro_decodetab10;

exec dbms_scheduler.drop_job('J_PRO_DECODETAB10');

begin
  dbms_scheduler.create_job
  (job_name              => 'J_PRO_DECODETAB10',
   job_type              => 'PLSQL_BLOCK',
   job_action            => 'begin pro_decodetab10; end;',
   schedule_name         => 'S10',
   enabled               => TRUE);
end;
/

运行结果

SQL> select job_name, state, run_count, failure_count, last_start_date, next_run_date from user_scheduler_jobs;

JOB_NAME                       STATE            RUN_COUNT FAILURE_COUNT LAST_START_DATE      NEXT_RUN_DATE
------------------------------ --------------- ---------- ------------- -------------------- --------------------
J_PRO_DECODETAB10              SCHEDULED                7             0 2006-07-10 07:30:00  2006-07-11 01:30:00

9 rows selected.

SQL> select * from decodetab where pro_name='PRO_DECODETAB10' order by 2;

        ID TIME                PRO_NAME
---------- ------------------- ------------------------------
         1 2006-07-10 01:30:00 PRO_DECODETAB10
         2 2006-07-10 02:10:00 PRO_DECODETAB10
         3 2006-07-10 02:50:00 PRO_DECODETAB10
         4 2006-07-10 05:30:00 PRO_DECODETAB10
         5 2006-07-10 06:10:00 PRO_DECODETAB10
         6 2006-07-10 06:50:00 PRO_DECODETAB10
         7 2006-07-10 07:30:00 PRO_DECODETAB10

7 rows selected.

SQL>


有些美中不足,假若我只想运行到6点10分,50的不想运行,还不知道怎么控制。9I的JOB则可以完全控制到这个点

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表