美文网首页我爱编程
ORACLE调度之基于时间的调度(一)

ORACLE调度之基于时间的调度(一)

作者: hanson_zju | 来源:发表于2018-01-08 00:41 被阅读0次

    一、调度的概述

      这里我看到一篇对调度的概述觉得描述的比我好,但仅限于概述部分,其他部分我觉得我讲的比他好,于是发生以下事情:

    ************************华丽的转载*************************************************************************

    在Oracle中任务调度指某一执行程序在特定的时间被周期性的执行。Oracle把任务调度称为job。而一个基本的job由两方面组成program和schedule。其中program指周期性执行的可执行程序,其中可包括PL\SQL匿名块,存储过程、函数、包以及操作系统的可执行脚本和外部程序等等。schedule指的是,调度program执行的周期。该周期既可以基于特定时间被调度,也可以基于某一事件被调度。因而JOB总体上可分为两大类,基于时间的JOB和基于事件的JOB。在Oracle 10g之前,采用dbms_job程序包来完成任务调度的相关工作。在Oracle 10g之后,Oracle推出了功能更加强大的dbms_schedule来完成任务调度工作,主要是由于dbms_schedule能够基于事件进行任务调度而dbms_job无法基于事件进行调度(笔者个人浅见,待验证)!

    ************************华丽的转载*************************************************************************

     二、调度的作用

      作用的话我可以使用第一张图片来描述。如果用一句话来描述的话那就是:简化管理任务。

    三、调度的组成

      调度的话包含着3个部分,用一句话来描述那就是:程序+调度计划+作业=调度

      如果用一张图片来描述的话那就是:

    四、创建一个机遇时间的调度

      1、我比较喜欢讲程序、调度计划和作业分开创建,使用的时候将他们关联组织在一块形成一个调度,而不喜欢创建一个作业,里面稀里哗啦的包含着一大堆的内容。

      2、这次我使用EM企业管理器来创建会比较简单,因为图形化界面就是越来越方便,而且里面的show sql实在是我们这些对sql命令不爱记忆的人的一大神器。不过有些命令还是要记住的,不然显得我们不够专业。

      创建一个测试表: job_test

    conn hr/hr

    create table job_test(sdate date);

      3、看图,按照顺序我们先创建一个程序:程序就是我们整个调度要做的事情都放在这里。

      其中的source就是我们要执行这个调度要做什么的动作要写在这里面。这次我们要做的就是每隔一秒插入一条记录到job_test这张表中。

      4、创建一个调度计划。调度计划的计划类型有:标准的和事件类型的。这次我么选择标准的调度计划。

      5、创建一个作业,然后将程序和调度计划管理组织在一起形成一个调度。

    看最下面,这里我们使用刚才创建好的程序:

    使用预定义的调度计划:

    至此,只要点击OK就可以让完成这个作业了。

    6、开始调度过程:

    查看作业是否正常运行:

    可以看出,基于时间的调度是正常运行的。

    相关文章

      网友评论

        本文标题:ORACLE调度之基于时间的调度(一)

        本文链接:https://www.haomeiwen.com/subject/sirvnxtx.html