作业

“Jobs(作业)”菜单中有五个选项:“Summary(概要)”、“Running(正在运行)”、“Forecast(预测)”、“History(历史记录)”、“Notifications(通知)”下面介绍了各个选项。

Summary

在顶部,“汇总”页概述了“失败”、“已阻止”、“链停滞”、“资源不可用”、“中断”和“重试调度”作业的总数。单击作业磁贴,相应的作业列表将以表格式显示在下面。删除筛选器以显示所有调度的作业。

要创建作业,请参阅创建或编辑作业

每个职务行的末尾都有“操作”图标 “操作”图标。单击操作可查看以下选项列表:

  • 作业
    • 运行:运行特定作业。

    • 编辑:请参阅创建或编辑作业

    • 删除:删除特定作业。

    • 启用/禁用作业:如果选中“启用”,则调度程序将选择作业进行处理。作业的状态(已启用或未启用)显示在“作业详细信息”页中,其中属性“已启用”显示为 TRUE 或 FALSE。

  • 历史记录
    • 报表:以报表格式提供作业运行的历史记录,包括日志详细信息、运行状态、运行持续时间、错误(如果有)等。

    • 图表:以可视条形图表示形式提供作业运行的历史记录。每次执行都会显示运行持续时间和已用 CPU 时间。系统会向链中的作业提供整个作业的汇总信息。有一个概览滚动条,通过更改时间范围来启用缩放和滚动。可以显示所选作业或所有作业在该时间范围内的日志中的所有详细信息。此外,还可以为所选时间范围的所有作业显示甘特图。

  • 作业预测:您可以为单个作业(在“操作”菜单中可用)或一组作业(在表的工具栏中可用)执行作业预测功能。对于一组作业,可以使用筛选来缩小作业集的范围。使用 Ctrl 键并单击可选择某些作业,然后作业预测将仅针对所选作业运行。如果没有选定的作业,则将为所有列出的作业运行预测。并非集中的每个任务都包括在最终预测中。仅包括具有已定义日历(重复间隔)的作业。您可以内嵌或使用计划、窗口或窗口组定义日历。预测完成后,您可以选择不同的缩放级别并按方案筛选结果。

  • 作业详细信息:显示作业属性,例如操作、作业分类、类型、调度等。选择 JSON 以 JSON 格式查看属性。根据作业的定义,提供了有关已用对象的详细信息,例如已用程序、PL/SQL 代码、过程、过程相关性、程序参数、作业参数、作业类、调度表、窗口、窗口组以及组中的窗口、文件监视器、历史记录图表,其中显示从上次开始日期起一周的历史记录。

正在运行

“正在运行”页显示当前正在运行的作业的列表。可以使用以下命令:Stop(停止)、Edit(编辑)、History(历史记录)、Job Details(作业详细信息)。

上述描述

历史

“历史记录”页显示可供用户使用的所有调度程序作业的日志运行详细信息。您可以使用“历史记录”窗口并设置筛选器以限制数据量。您可以通过提供延迟间隔来使用延迟作业进行筛选。通过单击列标题,网格上支持排序。

预测

“预测”页提供所有可用作业的作业执行预测。此操作需要一些时间才能完成,具体取决于作业数和预测间隔。所有可用作业的预测取决于连接用户的权限。执行后,可以根据作业的方案筛选结果。

在“职务 - 汇总”页面上也提供了 Forecase 功能。在这种情况下,它适用于可用作业列表。您可以使用预测功能之前筛选作业。如果存在选定的职务,则该功能仅使用选定的职务。

历史记录(甘特图)

历史记录以甘特图的形式表示窗口和作业执行历史记录。Windows 激活历史记录显示在第一行上。作业按已用 CPU 最长时间的降序排序。将显示每个窗口激活和作业执行的详细信息。将鼠标悬停在职务行的标签上时,可使用职务汇总。

如上所述

通知

仅当为调度程序设置了电子邮件服务器时,才能创建通知。

使用“通知”页面可以查看、创建、编辑和删除与作业事件相关的通知。此外,您还可以通过单击页面右上方的 Notifications Email Server 图标来查看电子邮件服务器详细信息。

对于每条消息,您可以指定作业、收件人电子邮件地址和发件人(或无发件人),并且可以修改消息的主题和正文并设置筛选条件。如果提供了多个收件人和事件,则 Oracle Scheduler 会为每个组合 <recipient,event> 创建一个单独的通知记录。您可以通过使用编辑汇总(显示在每个通知的上下文菜单中)编辑以这种方式创建的一组通知的内容。编辑编辑单个通知的内容。

通知可以按作业名称、作业所有者、收件人以及事件进行筛选。您可以通过单击删除通知图标来选择和删除某些通知。如果没有选定的通知(使用 Ctrl+ 单击取消选择单个通知),则将显示“删除通知”对话框,以删除选定作业、作业和收件人、作业和事件、作业和事件以及收件人的所有通知。

创建或编辑作业

本节介绍如何创建新 Oracle Scheduler 作业或编辑现有作业。

要创建作业,Database Actions 在内部使用 DBMS_SCHEDULER.CREATE_JOB 过程,该过程在《 Oracle Database PL/SQL Packages and Types Reference 》中进行了介绍。

  1. 在“作业”页的右上角,单击创建作业
  2. 在“作业属性”中,输入以下字段:

    详细信息

    • 已启用:如果指定了此选项,则会进行有效性检查,如果所有检查都成功,则会启用作业。如果未指定此选项,则不会启用作业。
    • 名称:作业的名称。
    • 说明:可用于描述作业的可选文本字符串。
    • 类型:作业要执行的对象类型:PL/SQL Block、Chain、Stored Procedure、Named Program 或 Script。此时将显示“链”、“存储过程”和“指定程序”的其他控件,使您能够选择相关对象。

      对于存储过程,仅列出具有 IN 参数的过程,不允许使用 IN OUT 或 OUT 参数的过程。

      所选方案的方案级别和程序包级别过程已列出,但您可以直接在字段中键入过程名称 (or package_name.procedure_name)。

    • :此作业所属作业类的名称。

    执行模式

    • 模式:何时执行作业:立即(在创建时立即执行,仅执行一次)、一次(在指定时间执行一次)、重复队列文件监视器调度(使用指定的调度对象)、窗口窗口组。如果指定“立即”以外的任何内容,系统将提示您输入其他信息。

      对于“重复”,可以手动定义重复间隔或单击铅笔图标以选择日期、频率、工作日和间隔值。不支持 Oracle 日历语法的某些子句(包括、排除、交集、期间和按期间),单击编辑图标时将显示警告。

    目的地

    • 本地(本地系统)、远程(远程数据库作业的数据库目标,或远程外部作业的外部目标)或多个(作业在与提供的目标组关联的所有目标上运行)。根据您为作业选择的目标,选择本地身份证明、远程身份证明和目标或目标组。

    属性

    • 自动删除:确定作业是在完成后自动删除还是已自动禁用。

    • 失败时重新启动:确定在失败时是否可以重新启动作业。

    • 恢复时重新启动:确定是否在数据库失败时重新启动作业。

    • 存储输出:如果已启用,则对于记录的作业运行,所有作业输出和错误消息都存储在 *_JOB_RUN_DETAILS 视图中。如果禁用,则不会存储输出和消息。

    • 遵循默认时区:确定任务开始日期是否为 NULL,然后在更改默认时区计划程序属性时,计划程序会重新计算此任务的下一个运行日期和时间,以便它符合新时区。

    • 允许在受限模式下运行:如果启用,则允许在数据库处于受限模式时运行作业,前提是允许作业所有者在此模式下登录。
    • 关闭窗口时停止:如果作业的调度是窗口或窗口组,则启用此选项会导致作业在关闭关联的窗口后停止,而禁用则会导致作业在窗口关闭后继续。(请注意,如果允许作业继续,则其资源分配可能会更改,因为关闭窗口通常也意味着资源计划发生更改。)

    • 实例粘滞性:此属性只能用于在 Oracle Real Application Clusters (Oracle RAC) 环境中运行的数据库。默认情况下,该工具处于启用状态。作业开始在负载最轻的实例上运行,然后调度程序尝试在上次运行的实例上运行。如果该实例已关闭或超载,以致在很长一段时间内未启动新作业,则另一个实例将运行该作业。如果运行间隔较大,则忽略 instance_stickiness,处理该作业就像处理非粘滞作业一样。如果禁用了 instance_stickiness,则作业的每个实例都会在第一个可用的实例上运行。
    • 并行实例:对于基于事件的作业,确定在引发事件时会发生什么情况以及处理该事件已在运行的基于事件的作业。如果禁用,则会忽略新事件。如果启用,则会为事件的每个实例启动作业实例,并且每个作业实例都是一个轻量级作业,因此同一基于事件的作业的多个实例可以并行运行。

    • 作业样式:正在创建的作业的样式: REGULAR (常规作业)或 LIGHTWEIGHT (轻量级作业)。轻量级必须引用程序对象。当有许多短期作业频繁运行时,请使用轻量级作业。在某些情况下,使用轻量级作业可以带来较小的性能提升。

    • 作业优先级:此作业相对于此作业所在类中的其他作业的优先级。如果将一个类中的多个作业调度为同时执行,则作业优先级将确定从该类中选取作业以由作业协调程序执行的顺序。它可以是 1 到 5 之间的值,1 是第一个要为作业执行选取的值。

    • 日志记录级别:确定记录的信息量:DBMS_SCHEDULER.LOGGING_OFF(无日志记录)、DBMS_SCHEDULER.LOGGING_FAILED_RUNS(仅失败的作业,有失败的原因)、DBMS_SCHEDULER.LOGGING_RUNS(此类中每个作业的所有运行)或 DBMS_SCHEDULER.LOGGING_FULL(对所有作业执行的所有操作)。

      但是,如果作业类的日志记录级别高于为作业指定的级别(更详细),则使用作业类的日志记录级别。

    • 实例 ID :在 Oracle Real Application Clusters 环境中,作业必须在其上运行的实例的实例 ID。

    • 最大运行数:作业的最大连续调度运行数。

    • 最大失败次数:在自动禁用作业之前,允许连续调度运行作业的失败次数。

    • 引发事件:确定作业执行在哪些阶段引发事件。

    • 最大运行持续时间:应允许作业运行的最长时间。其数据类型是 INTERVAL DAY TO SECOND。如果此属性设置为非零值和非空值,并且作业持续时间超过此值,则调度程序会引发 JOB_OVER_MAX_DUR 类型的事件。然后,事件处理程序将决定是否允许作业继续。

    • 计划限制:在取消计划运行之前,计划任务和实际任务开始之间的最长延迟时间。

    • Reset to Defaults :将所有属性重置为其默认值。

    NLS

    使您能够设置此作业所需的与 NLS 相关的属性。要输入值,请键入“值”列的相关字段。

    对于新作业,参数取自数据库会话。

  3. DDL 窗格中,可以查看并保存创建或编辑作业时生成的 SQL 语句。
    • 对于新作业,单击 CREATE 查看生成的 DDL 语句。

    • 编辑作业时,单击 UPDATE 查看生成的 ALTER 语句。

    完成后,单击 Apply

    输出窗格显示 DDL 命令的结果。如果有任何错误,请转到相应的窗格,修复错误,然后再次运行命令。您可以将内容保存到文件。