管理任务调度程序

管理任务调度程序使 Db2® 数据库服务器能够自动执行任务。 它还提供了一个可编程的 SQL 界面,该界面允许您构建应用程序,这些应用程序可以利用管理任务调度程序。

管理任务调度程序管理并运行那些必须封装在用户定义或内置过程中的管理任务。 您可以通过使用一组内置过程添加、更新和除去调度程序任务列表中的任务。 还可以通过使用管理视图监视任务列表和执行任务的状态。

管理任务调度程序独立于 IBM® Data Studio 和数据库管理服务器 (DAS) 运行。 它包括在 DB2 数据库服务器中并在缺省情况下禁用。 要成功执行任务,您必须对管理任务调度程序进行设置。

了解调度程序如何执行任务

所调度的任务由 DB2 自动计算守护程序执行,该守护程序还主管运行状况监视器和自动维护实用程序。 此守护程序在进程列表中显示为 db2acd 并与数据库管理器一起启动和停止。 在分区数据库环境中,所有任务从目录数据库分区执行。

DB2 自动计算守护程序每 5 分钟对新的或已更新的任务进行一次检查。 要实现此功能,只需将它连接至每个活动的数据库并检索新的和已更新的数据定义。 在分区数据库环境中,守护程序限制与目录数据库分区的连接。 守护程序不会连接至不活动的数据库。 要确保所调度的任务按预期执行,那么数据库必须保持活动状态且至少应在创建或更新任务 5 分钟之后才开始执行任务。

守护程序以内部方式维护一列活动的任务。 当到达任务的所调度执行时间,守护程序会连接至适当的数据库并调用与该任务相关联的过程。 如果数据库处于不活动状态,那么守护程序将不会执行任务,但会在管理通知日志和 db2diag.log 中写入 ADM15502W 消息。 如果因其他某个原因,守护程序无法执行任务,那么 ADM15501W 消息会被写入管理通知日志和 db2diag.log。 然后守护程序每 60 秒会自动尝试执行一次任务。

如果同一任务的前一个实例仍未完成,那么守护程序决不会执行该任务。 例如,假定调度一个任务每 5 分钟运行一次。 如果因某个原因,该任务要花 7 分钟才能完成,那么守护程序在下一个 5 分钟时间间隔内不会执行该任务的另一个实例。 而该任务将在 10 分钟后运行。

该任务的执行状态由调度程序进行记录并可使用 ADMIN_TASK_STATUS 管理视图进行检索。