首批通过分布式安全可靠测评,为关键业务系统打造
DBMS_SCHEDULER 概述
更新时间:2026-04-03 11:50:32
DBMS_SCHEDULER 系统包用于管理定时任务。它提供了一组函数和过程,用户可以从 PL 程序调用这些函数和过程。
功能适用性
该内容仅适用于 OceanBase 数据库企业版。OceanBase 数据库社区版暂不支持。
DBMS_SCHEDULER 权限说明
DBMS_SCHEDULER 系统包的对象权限必须直接授予用户,不识别通过角色授予 Scheduler 对象(例如作业 Job)的权限。
只有 SYS 可以对 SYS Schema 中的对象执行操作。
使用说明
DBMS_SCHEDULER 系统包中的部分过程支持使用以逗号分隔的对象名称列表。如果所提供的名称列表中某个对象开始返回报错,那么Scheduler 将在返回错误的第一个对象处停止执行该列表,不再执行列表中其余对象所需的任务。
DBMS_SCHEDULER 系统包在执行时,如果遇到某对象不存在,就会返回一个 PL 异常。
DBMS_SCHEDULER 子程序概览
下表列出了 OceanBase 数据库当前版本所支持的 DBMS_SCHEDULER 子程序以及简要描述。
| 子程序 | 描述 |
|---|---|
| CREATE_JOB | 创建一个作业。 |
| CREATE_JOB_CLASS | 创建 JOB 类。 |
| CREATE_PROGRAM | 创建一个程序。 |
| DEFINE_PROGRAM_ARGUMENT | 定义一个程序参数,其值可以作为字符串字面量传递给程序。 |
| DISABLE | 禁用程序、作业等。 |
| DROP_JOB | 删除一个作业,或者作业类中的所有作业。 |
| DROP_PROGRAM | 删除一个程序。 |
| DROP_JOB_CLASS | 用于删除 JOB 类日志。 |
| ENABLE | 启用程序、作业等。 |
| GENERATE_JOB_NAME | 为作业生成唯一的名称。 |
| RUN_JOB | 立即执行作业。 |
| SET_ATTRIBUTE | 更改作业、程序或其他 Scheduler 对象的属性。 |
| SET_JOB_ARGUMENT_VALUE | 设置作业参数的值。 |
| STOP_JOB | 用于终止正在运行的作业。 |
| DISABLE | 禁用定时分区均衡。 |
| ENABLE | 启用定时分区均衡。 |
| PURGE_LOG | 用于清除 JOB 日志。 |