管理后台作业

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 格式。

字符串

失败描述

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

字符串