---
title: "定时触发每日租户合并 - OceanBase 数据库 V4.6.0 | OceanBase 文档中心"
description: 定时触发每日租户合并 用户也可以通过指定每日合并触发时间来定时触发租户合并。 前提条件 触发合并前，需要确保全局合并开关已开启，全局合并开关由集群级配置项 enable_major_freeze 控制，默认值为 True ，表示开启合并开关。 如果当前集群未开启全局合并开关，请参考以下操作开启全局合并开关。 使用 r…
---
切换语言

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

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

# 定时触发每日租户合并

更新时间：2026-06-02 12:36:43

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.6.0/zh-CN/700.reference/200.system-management/500.manage-data-storage/200.merge-management/300.scheduled-trigger-merge.md)  

用户也可以通过指定每日合并触发时间来定时触发租户合并。

## 前提条件

- 触发合并前，需要确保全局合并开关已开启，全局合并开关由集群级配置项 [enable_major_freeze](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005685471) 控制，默认值为 `True`，表示开启合并开关。

  如果当前集群未开启全局合并开关，请参考以下操作开启全局合并开关。

     1. 使用 `root` 用户登录集群的 `sys` 租户。
     2. 确认全局合并开关是否已开启。

       ```shell
       obclient(root@sys)[(none)]> SHOW PARAMETERS LIKE 'enable_major_freeze';

       ```
     3. 如果显示未开启，执行以下语句，开启合并开关。

       ```shell
       obclient(root@sys)[(none)]> ALTER SYSTEM SET enable_major_freeze='True';

       ```
 - 如果需要触发每日租户合并，需要确保租户级配置项 [enable_window_compaction](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005685458) 为 `False`，即关闭窗口合并。

  具体操作如下：

     1. 租户管理员登录集群的 MySQL 租户或 Oracle 租户。
     2. 确认租户级配置项 `enable_window_compaction` 的值。

       ```shell
       obclient> SHOW PARAMETERS LIKE 'enable_window_compaction';

       ```
     3. 如果值为 `True`，执行以下语句，关闭窗口合并。

       ```shell
       obclient> ALTER SYSTEM SET enable_window_compaction = False;

       ```

       系统租户下，可以通过指定租户名的方式进行设置，例如：`ALTER SYSTEM SET enable_window_compaction = False TENANT = tenant_name;`。

## 每日租户合并的触发条件

开启全局合并开关并且关闭窗口合并后，每日租户合并的定时触发条件是，当系统时间达到了每日租户合并的时间点时，就会自动触发合并。每日租户合并的时间点通过配置项 `major_freeze_duty_time` 来控制，您也可以在 OCP 上修改，默认是每天 `02:00` 进行合并。

`major_freeze_duty_time` 及其他合并相关参数的说明及设置请参见 [修改合并配置](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005684838)。

## 指定每日租户合并的触发时间

1. 使用 `root` 用户登录集群的 `sys` 租户。
 2. 执行以下语句，修改每日合并的触发时间。

      - 修改本租户每日合并的触发时间

       ```sql
       obclient> ALTER SYSTEM SET major_freeze_duty_time='01:00';

       ```
      - 修改所有用户租户每日合并的触发时间

       对于租户较多的场景，当所有用户租户每次合并的触发时间时，可能会出现 CPU 利用率突然升高的问题。如果出现了 CPU 利用率突然升高的情况，建议您将各用户租户的每日合并时间设置为不同的时间。

       ```sql
       obclient> ALTER SYSTEM SET major_freeze_duty_time='01:00' TENANT = all_user;

       ```

       或者

       ```sql
       obclient> ALTER SYSTEM SET major_freeze_duty_time='01:00' TENANT = all;

       ```

       #### 说明

       OceanBase 数据库从 V4.2.1 版本开始，`TENANT = all_user` 与 `TENANT = all`语义相同，在需要生效范围为所有用户租户时，推荐使用 `TENANT = all_user`，后续 `TENANT = all` 将废弃不再使用。
      - 修改所有 Meta 租户每日合并的触发时间

       对于租户较多的场景，当所有 Meta 租户每次合并的触发时间相同时，可能会出现 CPU 利用率突然升高的问题。如果出现了 CPU 利用率突然升高的情况时，建议您将各 Meta 租户的每日合并时间设置为不同的时间。

       ```sql
       obclient> ALTER SYSTEM SET major_freeze_duty_time='01:00' TENANT = all_meta;

       ```
      - 修改指定租户每日合并的触发时间

       以下语句每次仅支持指定一个租户，如果要修改多个租户，需要重复执行该语句。

       ```sql
       obclient> ALTER SYSTEM SET major_freeze_duty_time='01:00' TENANT = tenant1;

       ```

## 相关文档

- [自动触发合并](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005684830)
 - [手动触发合并](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005684831)
 - [手动控制合并](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005684832)
 - [查看合并信息](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005684833)

 上一篇 下一篇 ![有帮助](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) 咨询热线
