dbms_scheduler包中job(作业)学习

本文详细介绍了Oracle 10g的dbms_scheduler包,包括program、schedule、job、job_class、window、window_group和chain的概念,并重点探讨了job的创建和操作,提供了一个简单的job应用实例,帮助读者理解和掌握如何在Oracle数据库中设置和管理定时任务。
摘要由CSDN通过智能技术生成

1、dbms_scheduler

        Oracle 10g引入dbms_scheduler来替代先前的dbms_job,在功能方面,它比dbms_job提供了更强大的功能和更灵活的机制/管理(引用自百度百科)。这个包主要包括以下几个部分(以下定义均引用自百度百科):

program:程序。

        10g下的program支持分为3种形式:PL/SQL BLOCK、STORED_ PROCEDURE、EXECUTABLE。

schedule:调度。

        一个任务计划执行的时间策略。比如我们想要创建一个晚上3点执行的任务计划,就可以创建一个调度,凡是符合这个调度要求的,都可以调用这个我们预先创建好的调度。可以用dbms_scheduler.create_schedule来创建一个调度。

job:作业。

        一个调度程序作业的实体.可以由dbms_scheduler.create_job创建生成.它可以自行指定作业属性,也可以调用我们预先创建的一系列scheduler、program、chain、job_class、 window、window_group来匹配其作业属性。

job_class:作业类。

        定义了运行作业的资源使用者组,通过使用窗口中的资源计划,我们可以在不同资源组和不同作业类之间分配资源。可以使用dbms_scheduler.create_job_class创建一个作业类。

window:窗口。

        可以看成是一个更高功能的调度,窗口可以调用系统中存在的调度(也可以自行定义执行时间),而且,具有资源计划限制功能,窗口可以归属于某个窗口组。可以使用DBMS_SCHEDULER.CREATE_WINDOW来创建一个窗口。

window_group:窗口组。

        一个/几个窗口的集合。10g默认的自动采集统计信息的调度就是一个窗口组的形式,譬如,设置两个窗口,窗口一指定任务周日、周五晚上12点执行,而窗口二设定周六凌晨3点执行,这两个窗口组成了一个窗口组,形成了这个job的执行调度策略。可以使用DBMS_SCHEDULER.CREATE_WINDOW_GROUP来创建一个窗口组。

chain:链。

        链可以看作是一个/几个program/event scheduler的集合,为了维护需要,我们可能需要将很多不同的program放到一起依次执行,按照以前的模式,要么将这几个program能整合成一个大的整体,要么分开几个job来单独执行,这无疑加重了维护负担,而chain的出现,可以优化这个问题,我们将事先定义好的program集合到一起,然后统一制定一个job来执行,可以使用dbms_scheduler.create_chain来创建一个chain。

2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值