---
title: "修改租户系统变量 - OceanBase 数据库 V4.5.0 | OceanBase 文档中心"
description: 修改租户系统变量 通过系统变量的设置可以使 OceanBase 数据库的行为符合业务的要求。本文介绍如何修改租户系统变量。 租户的系统变量可以通过 SET 语句修改。 设置 Session 级别的变量仅对当前 Session 有效，对其他 Session 无效。 设置 Global 级别的变量对当前 Session …
---
切换语言

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

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

# 修改租户系统变量

更新时间：2026-02-26 12:33:19

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.5.0/zh-CN/600.manage/200.tenant-management/600.common-tenant-operations/700.modify-system-variables-of-tenant.md)  

通过系统变量的设置可以使 OceanBase 数据库的行为符合业务的要求。本文介绍如何修改租户系统变量。

租户的系统变量可以通过 `SET` 语句修改。

- 设置 Session 级别的变量仅对当前 Session 有效，对其他 Session 无效。
 - 设置 Global 级别的变量对当前 Session 无效，需要重新登录后，建立新的 Session 才会生效。

  #### 注意

  设置 Global 级别变量时，对于 MySQL 租户，要求当前用户拥有 `SUPER` 权限或 `ALTER SYSTEM` 权限；对于 Oracle 租户，要求当前用户拥有 `ALTER SYSTEM` 权限。设置前，请确认您的权限。用户权限的详细说明，参见 [用户和权限概述](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004476442)。

下文示例中的系统变量 `ob_query_timeout` 用于设置对 SQL 语句进行查询操作的超时时间，单位是微秒。在进行大数据查询操作时，就可以通过调大系统变量 `ob_query_timeout` 的值，避免查询超时导致语句执行失败。

## 修改 Session 级别的系统变量

1. 使用 root 用户登录到集群的用户租户。

   以登录 `mq_t1` 租户为例：

   ```shell
   obclient -h172.30.xx.xx -P2883 -uroot@mq_t1#cluster -p**** -A

   ```
 2. 查询租户 Session 级别的系统变量。

   ```shell
   obclient [(none)]> SHOW VARIABLES LIKE 'ob_query_timeout';

   ```

   结果如下：

   ```shell
   +------------------+----------+
   | Variable_name    | Value    |
   +------------------+----------+
   | ob_query_timeout | 10000000 |
   +------------------+----------+
   1 row in set

   ```
 3. 通过 `SET` 修改 Session 级别变量值。

   ```shell
   obclient [oceanbase]> SET ob_query_timeout = 20000000;

   ```

   #### 说明

   Oracle 模式还可以通过 `ALTER SESSION SET ob_query_timeout = 20000000;` 语句修改 Session 级别的变量值。
 4. 查看修改结果。

   ```shell
   obclient [(none)]> SHOW VARIABLES WHERE variable_name LIKE 'ob_query_timeout';

   ```

   结果如下：

   ```shell
   +------------------+----------+
   | Variable_name    | Value    |
   +------------------+----------+
   | ob_query_timeout | 20000000 |
   +------------------+----------+
   1 row in set

   ```

## 修改 Global 级别的系统变量

1. 使用 root 用户登录到集群的用户租户。

   ```
 2. 查询租户的 Global 变量。

   ```shell
   obclient [(none)]> SHOW GLOBAL VARIABLES WHERE variable_name LIKE  'ob_query_timeout';

   ```

   结果如下：

   ```
 3. 通过 `SET` 修改 Global 级别变量值。

   ```shell
   obclient [oceanbase]> SET GLOBAL ob_query_timeout = 20000000;

   ```

   #### 说明

   Oracle 模式还可以通过 `ALTER SYSTEM SET ob_query_timeout = 20000000;` 语句修改 Global 级别的变量值。
 4. 查看修改结果。

   ```

   结果如下：

   ```

   修改成功后，还可以通过视图 `DBA_OB_SYS_VARIABLES` 查询 `ob_query_timeout` 变量值的详细修改情况及默认值，语句如下。

   ```shell
   obclient [oceanbase]> SELECT * FROM oceanbase.DBA_OB_SYS_VARIABLES WHERE NAME='ob_query_timeout';

   ```

   结果如下：

   ```shell
   +----------------------------+----------------------------+------------------+----------+-----------+-----------+------------------+----------------------------------+---------------+-----------+
   | CREATE_TIME                | MODIFY_TIME                | NAME             | VALUE    | MIN_VALUE | MAX_VALUE | SCOPE            | INFO                             | DEFAULT_VALUE | ISDEFAULT |
   +----------------------------+----------------------------+------------------+----------+-----------+-----------+------------------+----------------------------------+---------------+-----------+
   | 2024-05-08 14:20:28.885780 | 2024-05-09 15:11:11.654128 | ob_query_timeout | 20000000 |           |           | GLOBAL | SESSION | Query timeout in microsecond(us) | 10000000      | NO        |
   +----------------------------+----------------------------+------------------+----------+-----------+-----------+------------------+----------------------------------+---------------+-----------+
   1 row in set

   ```

## 修改布尔类型变量

在 `SHOW VARIABLES` 命令中显示 ON/OFF 的变量，可以通过如下任意方法设置变量值：

```sql
SET foreign_key_checks = ON;
SET foreign_key_checks = TRUE;
SET foreign_key_checks = 1;

SET GLOBAL foreign_key_checks = OFF;
SET GLOBAL foreign_key_checks = FALSE;
SET GLOBAL foreign_key_checks = 0;

```

#### 说明

通过 ON/OFF、TRUE/FALSE 或 1/0 三种方式进行布尔类型变量的设置是等效的。

## 相关文档

关于系统变量的更多信息，参见：

- [配置项和系统变量概述](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004475831)
 - [查看系统变量](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004476036)

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