暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【每日一练 095】调度(一)

原创 李美静 恩墨学院 2020-12-23
1020

1 使用调度的场景

image.png
Oracle环境中的许多任务都需要作业调度功能。常规数据库维护和应用程序逻辑要求对作业进行调度并定期运行。企业到企业(B2B)应用程序要求对其业务事件进行调度。dba需要在指定的时间窗口内安排定期维护任务。
Oracle数据库通过Oracle调度器提供高级调度功能,Oracle调度器是DBMS_SCHEDULER包中的函数和过程集合。调度器可以在任何SQL环境中调用,也可以通过Enterprise Manager Cloud Control中调用。
调度器使数据库管理员和应用程序开发人员能够控制数据库环境中各种任务的发生时间和地点。这些任务既费时又复杂;使用调度程序,可以管理和计划这些任务。
调度程序作业可以根据时间或指定事件发生时启动,并且调度程序可以在作业的状态更改(例如,从运行到完成)时引发事件。也可以使用一系列命名的程序,这些程序为了一个共同的目标而连接在一起。

2 理解job的组成

image.png
一个job有两个关键部分:
Action: “What” needs to be done
Schedule: “When” the action occurs
在示例中,“what”包含在顶部框中,而“when”部分显示在第二个框中。“what”在JOB_TYPE和JOB_ACTION参数中表示。“when”在“schedule”中表示,“schedule”可以基于时间(如START_DATE参数所示)或事件,或者依赖于其他作业的结果。

3 调度的核心组件

image.png
调度器提供了一种模块化的方法来管理Oracle数据库中的任务。通过将任务分解为其组件(如时间、位置和数据库对象),调度程序提供了一种更简单的方法来管理数据库环境。
调度器使用以下基本组件:
作业指定需要执行什么。它可以作为PL/SQL过程、本机二进制可执行文件、Java应用程序或shell脚本的示例。可以指定计划(什么)和计划(何时)作为作业定义的一部分,或者可以使用现有的计划或计划来代替。可以使用作业的参数来定制其运行时行为。
调度指定了执行作业的时间和次数。日程安排可以基于时间或事件。可以通过使用一系列日期、事件或这两者的组合,以及表示重复间隔的附加规范,来定义作业的计划。可以分别存储一个作业的调度,然后对多个作业使用相同的调度。
程序是关于特定可执行文件、脚本或过程的元数据的集合。自动作业执行某些任务。使用程序使能够在不修改作业本身的情况下修改作业任务或“什么”。可以为程序定义参数,从而使用户能够修改任务的运行时行为。

4 如何使用调度

可以通过使用Enterprise Manager Cloud Control或使用DBMS_SCHEDULER PL/SQL包来执行所有步骤。

  1. 创建一个程序
    使用CREATE_PROGRAM过程创建一个程序。创建程序是使用调度程序的可选部分。还可以在CREATE_JOB过程中编码要在匿名PL/SQL块中执行的操作。通过单独创建程序,可以只定义一次操作,然后在多个作业中重用该操作。这使能够更改作业的调度,而不必重新创建PL/SQL块。
    默认情况下,程序是在禁用状态下创建的(除非启用参数设置为TRUE)。被禁用的程序只有在启用后才能被作业执行。可以通过为enabled指定TRUE值来指定应该在启用状态下创建程序。
  2. 创建和使用计划
    作业的计划可以是预定义的计划(用CREATE_SCHEDULE过程创建),也可以定义为作业创建的一部分。
    调度指定了关于作业何时运行的属性,例如:
    开始时间(定义选择作业执行的时间)和结束时间(指定作业不再有效且不再调度的时间)
    指定作业重复间隔的表达式
    结合现有计划创建的复杂计划
    在作业开始之前必须满足的一种条件或状态变化,称为事件
    通过使用计划(而不是在作业定义中指定作业的执行时间),可以管理多个作业的计划执行,而不必更新多个作业定义。如果计划被修改,使用该计划的每个作业都会自动使用新的计划。
  3. 创建并运行一个作业
    作业是一个计划和要做什么的描述的组合,以及作业所需的任何附加参数。可以为一项工作设置许多属性。属性控制作业如何执行。

5 练习题

选择关于调度程序的true语句。
A 创建程序是使用调度程序的一个强制性部分。
B 当作业操作在程序中(而不是直接在作业中)时,可以更改作业调度,而不必重新创建PL/SQL块。
C 创建作业是使用调度程序的可选部分。
D 每项工作都必须有一个时间表。它可以是预定义的,也可以定义为就业创造的一部分。
答案:BD

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论