管理后台作业

DBMS 中执行了多种类型的后台作业,其中许多作业由 DBMS 本身作为系统作业触发,无需用户操作。例如,重要的后台作业包括检查点或索引填充。前者由 DBMS 触发,而后者可能是用户创建或修改索引定义的结果。

后台作业的类型如下

  • IMMEDIATE - 一次性操作,在后台触发和运行。

  • DELAYED - 一次性操作,在将来的某个时间点在后台运行。

  • PERIODIC - 循环操作,在给定的时间间隔内在后台运行。

DBMS 提供了一种显示活动和失败的后台作业的方法。活动作业是指当前正在运行的作业,或者计划延迟或定期执行的作业。如果后台作业失败或无法启动,则失败的详细信息将存储在失败作业列表中。请注意,失败作业列表中只存储最近的 100 个作业,并且该列表不是持久性的,因此它将在 DBMS 重启时被清除。

此外,还应注意,单个定期作业可能会多次出现在失败作业列表中。

列出活动后台作业

一个管理员可以列出实例上活动的所有后台作业。

语法

CALL dbms.scheduler.jobs()

返回值

名称 类型

jobId

作业的 ID。可以用来跟踪活动作业,并将作业链接到失败的作业运行。

字符串

作业属于一个作业组。例如,INDEX_POPULATIONLOG_ROTATIONRAFT_SERVER

字符串

提交时间

作业提交的时间戳,采用 ISO-8601 格式。

字符串

数据库

作业可以具有数据库范围或 DBMS 范围。

  • 对于数据库,此列将显示数据库的名称。

  • 对于 DBMS,此列将为空。

字符串

提交者

作业要么是用户操作的结果而触发,要么是 DBMS 本身作为系统作业而触发。此列将包含用户触发的作业的用户名,或者为空。

字符串

描述

作业的简短描述,与currentStateDescription 不同,它在作业运行期间不会改变。

字符串

类型

作业的类型。值可以是 IMMEDIATEDELAYEDPERIODIC

字符串

计划时间

DELAYEDPERIODIC 作业将运行的时间戳,采用 ISO-8601 格式。此列不适用于 IMMEDIATE 作业,对于该作业类型将为空。

字符串

周期

PERIODIC 作业的周期,格式为 hh:mm:ss.sss

字符串

状态

作业的状态。由于此过程只列出活动作业,因此它们可以处于 SCHEDULEDEXECUTING 状态。SCHEDULED 状态仅适用于 DELAYEDPERIODIC 作业,表示作业已计划在将来的某个时间运行。

字符串

当前状态描述

如果作业支持重新发布其进度,则进度将在该列中以自由格式报告,具体格式取决于每个作业。

字符串

列出失败的作业执行

一个管理员可以列出实例上失败的作业执行。

语法

CALL dbms.scheduler.failedJobs()

返回值

名称 类型

jobId

失败作业的 ID。

字符串

作业属于一个作业组。例如,INDEX_POPULATIONLOG_ROTATIONRAFT_SERVER

字符串

数据库

作业可以具有数据库范围或 DBMS 范围。

  • 对于数据库,此列将显示数据库的名称。

  • 对于 DBMS,此列将为空。

字符串

提交者

作业要么是用户操作的结果而触发,要么是 DBMS 本身作为系统作业而触发。此列将包含用户触发的作业的用户名,或者为空。

字符串

描述

作业的简短描述,与currentStateDescription 不同,它在作业运行期间不会改变。

字符串

类型

作业的类型。值可以是 IMMEDIATEDELAYEDPERIODIC

字符串

提交时间

作业提交的时间戳,采用 ISO-8601 格式。

字符串

执行开始时间

失败执行开始的时间戳,采用 ISO-8601 格式。

字符串

失败时间

执行失败的时间戳,采用 ISO-8601 格式。

字符串

失败描述

失败的简短描述。如果失败描述不足,则可以在日志中找到更多信息。

字符串