---
title: "DISABLE - OceanBase 数据库 V4.6.0 | OceanBase 文档中心"
description: DISABLE DISABLE 过程用于禁用程序和作业。 当 Scheduler 对象被禁用时，其 enabled 属性设置为 FALSE 。 功能适用性 该内容仅适用于 OceanBase 数据库企业版。OceanBase 数据库社区版暂不支持。 语法 DBMS_SCHEDULER.DISABLE ( job_na…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.6.0

# DISABLE

更新时间：2026-07-15 15:27:39

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.6.0/zh-CN/700.reference/600.pl-reference/300.pl-oracle/1400.pl-system-package-oracle/14200.dbms-scheduler-oracle/500.disable-scheduler-oracle.md)  

`DISABLE` 过程用于禁用程序和作业。

当 Scheduler 对象被禁用时，其 `enabled` 属性设置为 `FALSE`。

#### 功能适用性

该内容仅适用于 OceanBase 数据库企业版。OceanBase 数据库社区版暂不支持。

## 语法

```sql
DBMS_SCHEDULER.DISABLE (
job_name              IN VARCHAR2,
force                 IN BOOLEAN DEFAULT FALSE,
commit_semantics      IN VARCHAR2 DEFAULT 'STOP_ON_FIRST_ERROR');

```

## 参数说明

| 参数 | 说明 |
| --- | --- |
| job_name | 要禁用的作业的名称。多个作业名称可以是逗号分隔的列表。如果指定了作业类名称，则该作业类中的所有作业都将被禁用，该作业类不会被禁用。如果指定了组名，则该组将被禁用，但组成员的启用状态不受影响。  系统内部定义的定时任务如下：    - `SCHEDULED_TRIGGER_PARTITION_BALANCE`：分区均衡任务 - `DAILY_MAINTENANCE_WINDOW`：窗口合并任务 |
| force | 如果为 `TRUE`，则即使其他对象依赖该对象，也会禁用该对象。 |
| commit_semantics | 提交语义。 支持以下类型：   - `STOP_ON_FIRST_ERROR`：该过程在第一处错误时返回，之前成功的禁用操作将提交到磁盘。这是默认设置。 - `TRANSACTIONAL`：该过程返回第一个错误，并回滚该错误之前发生的所有内容。仅当禁用作业或作业列表时，才支持此类型。此外，当 `force` 设置为 `TRUE` 时，不支持此类型。 - `ABSORB_ERRORS`：该过程尝试收入任何错误并禁用其余作业，并提交所有成功的禁用操作。仅当禁用作业或作业列表时，才支持此类型。 |

## 使用说明

禁用已禁用的对象不会产生报错。

`force` 选项的目的是识别依赖关系，并不改变依赖对象。

禁用作业是指，尽管作业的元数据存在，但却不应该被处理和运行。当作业被禁用时，其在作业队列中的 `state` 将更改为 `disabled`。如果 `force` 设置为 `FALSE` 且作业当前正在运行，则返回错误。如果 `force` 设置为 `TRUE`，则作业将被禁用，但允许当前运行的实例完成运行。

当程序被禁用时，状态变为禁用。禁用的程序是指，尽管元数据仍然存在，但指向该程序的作业无法运行。如果 `force` 设置为 `FALSE`，则任何作业都不得引用该程序，否则将发生错误。如果 `force` 设置为 `TRUE`，则指向该程序的作业不会被禁用，因为它们的程序变为无效，它们将运行失败。指向该程序的正在运行的作业不受 `DISABLE` 调用的影响，可以继续运行。当程序被禁用时，与该程序相关的参数不受影响。

## 示例

- 禁用 `empprogram` 作业。

  ```shell
  obclient(SYS@oracle001)[SYS]> delimiter //

  ```

  ```shell
  obclient(SYS@oracle001)[SYS]> BEGIN
    SYS.DBMS_SCHEDULER.DISABLE(
              job_name => 'empprogram',
              force => TRUE,
              COMMIT_SEMANTICS => 'STOP_ON_FIRST_ERROR');
  END;//

  ```

  ```shell
  obclient(SYS@oracle001)[SYS]> delimiter ;

  ```
 - 禁用定时分区均衡任务。

  ```shell
  obclient(SYS@oracle001)[SYS]> CALL DBMS_SCHEDULER.DISABLE(job_name => 'SCHEDULED_TRIGGER_PARTITION_BALANCE');

  ```

  或者

  ```shell
  obclient(SYS@oracle001)[SYS]> CALL DBMS_SCHEDULER.DISABLE('SCHEDULED_TRIGGER_PARTITION_BALANCE');

  ```
 - 禁用窗口合并任务。

  ```shell
  obclient(SYS@oracle001)[SYS]> CALL DBMS_SCHEDULER.DISABLE(job_name => 'DAILY_MAINTENANCE_WINDOW');

  ```

  或者

  ```shell
  obclient(SYS@oracle001)[SYS]> CALL DBMS_SCHEDULER.DISABLE('DAILY_MAINTENANCE_WINDOW');

  ```

## 相关文档

- [窗口合并](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005684835)
 - [配置定时分区均衡任务](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005682444)

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
