---
title: "配置项说明 - 数据库代理  V4.3.2 | OceanBase 文档中心"
description: 配置项说明 本文简要介绍如何查看和修改 ODP 中的配置项。 配置项说明 在使用 ODP 时，您可以根据需要配置 ODP 配置项。目前 ODP 配置项分为全局配置项和多级配置项两类，两类配置项的使用及生效情况不同，具体介绍如下： 全局配置项 全局配置项对 ODP 全局生效，拥有默认值，一般无特殊使用场景时不需要手动设…
---
切换语言

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

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*nSAhQbrBXKwAAAAAAAAAAAAADiGDAQ/original) 数据库代理 V 4.3.2

# 配置项说明

更新时间：2026-04-14 17:41:09

[编辑](https://github.com/oceanbase/oceanbase-proxy-doc/edit/V4.3.2/zh-CN/400.configuration-management/100.get-and-modify-configuration.md)  

本文简要介绍如何查看和修改 ODP 中的配置项。

## 配置项说明

在使用 ODP 时，您可以根据需要配置 ODP 配置项。目前 ODP 配置项分为全局配置项和多级配置项两类，两类配置项的使用及生效情况不同，具体介绍如下：

- 全局配置项

  全局配置项对 ODP 全局生效，拥有默认值，一般无特殊使用场景时不需要手动设置，目前无法删除。各个配置项的详细介绍请参见 [全局配置项](https://www.oceanbase.com/docs/common-odp-doc-cn-1000000001601111)。
 - 多级配置项

  多级配置项可通过命令设置为不同的生效范围，如果同时配置了不同生效范围的值，其优先级由高到低为：地址级别（LEVEL_VIP）、租户级别（LEVEL_TENANT）、集群级别（LEVEL_CLUSTER）、全局级别（LEVEL_GLOBAL）。各个配置项的详细介绍请参见 [多级配置项](https://www.oceanbase.com/docs/common-odp-doc-cn-1000000001601240)。

#### 说明

- 对于所有 time 类型（单位支持 us、ms、s、m、h、d，不区分大小写，默认为 s）、capacity 类型（单位支持 b、byte、kb、k、mb、m、gb、g、tb、t、pb、p，不区分大小写，默认为 mb）的配置项, 如果其取值范围为 [0,xxx]，在更新配置时可以将其值设置为负数，此时通过 `ob_all_proxy_config` 表或者 ODP 内部查询命令 `show proxyconfig` 查询出的结果也是负数, 但实际上 ODP 内部仍将其转换成 `0` 来处理。
 - 修改后的配置项，其生效方式一般分为动态生效和重启生效，大部分配置项为动态生效，即不需要重启 ODP 就可以生效。

## 查看配置属性

您可参考如下步骤查看 ODP 配置项的详细情况。

1. 使用 `root@sys` 用户通过 ODP 代理登录 OceanBase 数据库，或使用 `root@proxysys` 用户登录 ODP。

   使用 `root@sys` 用户登录 OceanBase 数据库示例如下，详细参数介绍可参见《OceanBase 数据库》文档 [通过 OBClient 连接 OceanBase 租户](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000218474)。

   ```shell
   [admin@obtest ~]$ obclient -uroot@sys#obcluster -h10.10.10.1 -P2883 -p

   ```

   #### 注意

   若要在 OceanBase 数据库中使用 ODP 命令，连接 OceanBase 数据库的连接 IP（`-h`）和连接端口（`-P`）需为 ODP 的地址和监听端口（`listen_port`）。

   使用 `root@proxysys` 用户登录 ODP 示例如下，此处的连接 IP（`-h`）为 ODP 的地址，连接端口（`-P`）为 ODP 的监听端口（`listen_port`）。

   ```shell
   [admin@obtest ~]$ obclient -uroot@proxysys -h10.10.10.1 -P2883 -p

   ```
 2. 执行 `show proxyconfig [like '%var_name%']` 命令查看配置项的值及最小生效级别。

   #### 说明

   该命令仅输出配置项全局级别生效的值，不会输出其他生效级别的值。

   ```shell
   show proxyconfig like '%full%'\G

   ```

   输出如下，`config_level` 值为 `LEVEL_GLOBAL` 时，表示该配置项为全局配置项，其值对整个 ODP 生效；`config_level` 值为 `LEVEL_VIP` 时，表示该配置项为多级配置项，可配置为不同的生效范围。

   ```shell
   *************************** 1. row ***************************
            name: enable_full_username
           value: False
            info: used for non-cloud user, if set true, username must have tenant and cluster
     need_reboot: false
   visible_level: SYS
           range:
    config_level: LEVEL_GLOBAL
   *************************** 2. row ***************************
            name: enable_cloud_full_username
           value: False
            info: used for cloud user, if set false, treat all login user as username
     need_reboot: false
   visible_level: SYS
           range:
    config_level: LEVEL_VIP

   ```

   查询结果中字段说明如下：

      - `name`：配置项名称。
      - `value`：配置项的取值。
      - `info`：配置项的介绍。
      - `need_reboot`：配置项修改后是否需要重启生效。
      - `visible_level`：配置项的可见程度。值为 `SYS` 时表示该配置项支持管理员级别可见，用户级别不可见；值为 `USER` 时表示该配置项支持用户级别可见。
      - `range`：配置项的取值范围，仅时间类型和整数类型的配置项会展示取值范围。
      - `config_level`：配置项的最小生效级别，有 `LEVEL_GLOBAL` 和 `LEVEL_VIP` 两种取值。

            - 值为 `LEVEL_GLOBAL` 时，表示该配置项为全局配置项。
            - 值为 `LEVEL_VIP` 时，表示该配置项为多级配置项。
 3. 执行 `show proxyconfig all [like '%xxx%']` 命令查看配置项的值及当前生效范围。

   ```shell
   show proxyconfig all like '%root%';

   ```

   输出如下，`value` 列表示配置项的值，`config_level` 列表示对应配置项的生效范围。

   ```shell
   +------+-----------+-------+---------------+----------------+--------------------------+---------------------+--------------+
   | vid  | vip       | vport | tenant_name   | cluster_name   | name                     | value               | config_level |
   +------+-----------+-------+---------------+----------------+--------------------------+---------------------+--------------+
   | 1    | 127.0.0.3 | 1     | test_tename_1 | test_cluster_1 | rootservice_cluster_name | value_3             | LEVEL_VIP    |
   | -1   |           | 0     |               |                | rootservice_cluster_name | undefined           | LEVEL_GLOBAL |
   | -1   |           | 0     |               |                | rootservice_list         | 10.10.10.1:2881     | LEVEL_GLOBAL |
   +------+-----------+-------+---------------+----------------+--------------------------+---------------------+--------------+

   ```

      - `vid`：Virtual IP 关联的字段，一般由运维负责管控，无需关注。
      - `vip`：Virtual IP 关联的字段，一般由运维负责管控，无需关注。
      - `vport`：Virtual IP 关联的字段，一般由运维负责管控，无需关注。
      - `tenant_name`：租户名，表示配置项在该租户内生效。
      - `cluster_name`：集群名，表示配置项在该集群内生效。
      - `name`：配置项名称。
      - `value`：配置项的取值。
      - `config_level`：配置项的生效级别，有 `LEVEL_GLOBAL`、`LEVEL_CLUSTER`、`LEVEL_TENANT` 和 `LEVEL_VIP` 四种取值。

            - 值为 `LEVEL_GLOBAL` 时，表示该配置项的生效级别为全局级别。
            - 值为 `LEVEL_CLUSTER` 时，表示该配置项的生效级别为集群级别。
            - 值为 `LEVEL_TENANT` 时，表示该配置项的生效级别为租户级别。
            - 值为 `LEVEL_VIP` 时，表示该配置项的生效级别为地址级别。
 4. 执行 `select * from proxy_config` 命令查看多级配置的值。

   #### 说明

   该命令仅在使用 `root@proxysys` 用户登录 ODP 时可执行，其他用户下执行会报错。

   相较于 `show proxyconfig all [like '%xxx%']` 命令，使用 SQL 命令查询的结果更为详细。

   ```shell
   select * from proxy_config where name='metadb_batch_size'\G

   ```

   输出如下。

   ```shell
   *************************** 1. row ***************************
             vid: -1
             vip:
           vport: 0
     tenant_name:
    cluster_name:
            name: metadb_batch_size
           value: 5
            info:
           range:
     need_reboot:
   visible_level:
    config_level: LEVEL_GLOBAL

   ```

      - `vid`：Virtual IP 关联的字段，一般由运维负责管控，无需关注。
      - `vip`：Virtual IP 关联的字段，一般由运维负责管控，无需关注。
      - `vport`：Virtual IP 关联的字段，一般由运维负责管控，无需关注。
      - `tenant_name`：租户名，表示配置项在该租户内生效。
      - `cluster_name`：集群名，表示配置项在该集群内生效。
      - `name`：配置项名称。
      - `value`：配置项的取值。
      - `info`：配置项的介绍。
      - `range`：配置项的取值范围，仅时间类型和整数类型的配置项会展示取值范围。
      - `need_reboot`：配置项修改后是否需要重启生效。
      - `visible_level`：配置项的可见程度。值为 `SYS` 时表示该配置项支持管理员级别可见，用户级别不可见；值为 `USER` 时表示该配置项支持用户级别可见。
      - `config_level`：配置项的生效级别，有 `LEVEL_GLOBAL`、`LEVEL_CLUSTER`、`LEVEL_TENANT` 和 `LEVEL_VIP` 四种取值。

            - 值为 `LEVEL_GLOBAL` 时，表示该配置项的生效级别为全局级别。
            - 值为 `LEVEL_CLUSTER` 时，表示该配置项的生效级别为集群级别。
            - 值为 `LEVEL_TENANT` 时，表示该配置项的生效级别为租户级别。
            - 值为 `LEVEL_VIP` 时，表示该配置项的生效级别为地址级别。
 5. 执行 `show proxyconfig diff [like '%var_name%']` 命令查看全局级别生效的配置项中当前配置与默认值不同的配置项。

   ```shell
   show proxyconfig diff like '%enable%'\G

   ```

   输出如下。

   ```shell
   *************************** 1. row ***************************
            name: enable_strict_kernel_release
           value: False
            info: If is true, proxy only support 5u/6u/7u redhat. Otherwise no care kernel release, and proxy maybe unstable
     need_reboot: true
   visible_level: SYS
           range:
    config_level: LEVEL_GLOBAL
   *************************** 2. row ***************************
            name: enable_cluster_checkout
           value: False
            info: if enable cluster checkout, proxy will send cluster name when login and server will check it
     need_reboot: false
   visible_level: USER
           range:
    config_level: LEVEL_GLOBAL

   ```

            - 值为 `LEVEL_GLOBAL` 时，表示该配置项为全局配置项。
            - 值为 `LEVEL_VIP` 时，表示该配置项为多级配置项。
 6. 执行 `show proxyconfig diff user [like '%var_name%']` 命令查看全局级别生效的配置项中，当前配置与默认值不同的配置项，此命令仅展示用户级别的配置。

   ```shell
   show proxyconfig diff user\G

   ```

   输出如下，查询结果中 `visible_level` 值均为 `USER`。

   ```shell
   *************************** 1. row ***************************
            name: work_thread_num
           value: 8
            info: proxy work thread num or max work thread num when automatic match, [1, 128]
     need_reboot: true
   visible_level: USER
           range: [1,128]
    config_level: LEVEL_GLOBAL
   *************************** 2. row ***************************
            name: enable_cluster_checkout
           value: False
            info: if enable cluster checkout, proxy will send cluster name when login and server will check it
     need_reboot: false
   visible_level: USER
           range:
    config_level: LEVEL_GLOBAL
   *************************** 3. row ***************************
            name: syslog_level
           value: debug
            info: specifies the current level of logging: DEBUG, TRACE, WDIAG, EDIAG, INFO, WARN, USER_ERR, ERROR
     need_reboot: false
   visible_level: USER
           range:
    config_level: LEVEL_GLOBAL

   ```

            - 值为 `LEVEL_GLOBAL` 时，表示该配置项为全局配置项。
            - 值为 `LEVEL_VIP` 时，表示该配置项为多级配置项。

## 修改配置项

您可以使用以下方式修改 ODP 配置项。

- 在 ODP 启动时，启动命令中添加 `-o` 选项修改配置项。

  ```shell
  -o <var_name> = <var_value>

  ```

  通过该方法修改配置项后，修改的值默认为全局生效。
 - 在 ODP 运行时，使用 `root@proxysys` 用户登录 ODP 后，执行 `alter proxyconfig` 命令修改 ODP 配置项。

  ```sql
  alter proxyconfig set <var_name> = <var_value>

  ```

  该命令仅可修改全局配置项的值，无法更改多级配置项的值及生效范围信息。
 - 在 ODP 运行时，使用 `root@proxysys` 用户登录 ODP 后，执行 `replace into` 命令增加/修改 ODP 配置项。

  执行 `replace into` 命令修改配置项时需注意如下要求：

     - 执行 `replace into` 命令修改配置项时，若该配置项在 ODP 中存在对应生效范围，`replace into` 命令会修改配置项对应生效范围的值；若该配置项在 ODP 中不存在对应生效范围，`replace into` 命令会新增对应生效范围的配置项。
     - 修改配置项时需遵循配置项的类别，不允许为全局配置项配置其他生效级别。
     - 支持批量修改，批量修改时，单次修改配置项数量需不大于 200 个，且单条 SQL 长度不超过 1MB。对于需要修改大量配置项的场景，建议使用批量修改，性能更好。
     - 修改多级配置项时，有如下几种情况：

           - 修改除 VIP 级别外的其他级别配置时，无需配置 `vid`、`vip` 和 `vport`；若批量处理时涉及到这些配置，需将 `vid` 配置为 `-1`，`vip` 配置为空（`''`），`vport` 配置为 `0`。
           - 若配置为租户级别生效（`LEVEL_TENANT`），必须配置 `tenant_name` 和 `cluster_name`。
           - 若配置为集群级别生效（`LEVEL_CLUSTER`），则必须配置 `cluster_name`，并且 `tenant_name` 需为空。
           - 若配置为全局生效（`LEVEL_CLOBAL`），`tenant_name` 和 `cluster_name` 均需为空。

### 示例

- 以配置项 `enable_cluster_checkout` 为例，启动时修改其值为 `False`

  ```shell
  [admin@test ~]$ ./bin/obproxy -p 2883 -r'10.10.10.1:2881;10.10.10.2:2881;10.10.10.3:2881' -o enable_cluster_checkout=False -n test -c mycluster

  ```

  执行如下命令查看修改结果：

  ```shell
  show proxyconfig all like 'enable_cluster_checkout';

  ```

  输出如下，`enable_cluster_checkout` 的值为 `False`，且生效级别为 `LEVEL_GLOBAL`。

  ```shell
  +------+------+-------+-------------+--------------+-------------------------+-------+--------------+
  | vid  | vip  | vport | tenant_name | cluster_name | name                    | value | config_level |
  +------+------+-------+-------------+--------------+-------------------------+-------+--------------+
  | -1   |      | 0     |             |              | enable_cluster_checkout | False | LEVEL_GLOBAL |
  +------+------+-------+-------------+--------------+-------------------------+-------+--------------+

  ```
 - 以多级配置项 `read_stale_retry_interval` 为例，为其配置集群级别生效的值

  ```shell
  obclient [(none)]> replace into proxy_config(cluster_name, name, value, config_level) values ('cluster_1', 'read_stale_retry_interval', '6s', 'LEVEL_CLUSTER');

  ```

  ```shell
  show proxyconfig all like 'read_stale_retry_interval';

  ```

  输出如下，新增 `LEVEL_CLUSTER` 级别的信息。

  ```shell
  +------+------+-------+-------------+--------------+---------------------------+-------+---------------+
  | vid  | vip  | vport | tenant_name | cluster_name | name                      | value | config_level  |
  +------+------+-------+-------------+--------------+---------------------------+-------+---------------+
  | -1   |      | 0     |             |              | read_stale_retry_interval | 5s    | LEVEL_GLOBAL  |
  | -1   |      | 0     |             | cluster_1    | read_stale_retry_interval | 6s    | LEVEL_CLUSTER |
  +------+------+-------+-------------+--------------+---------------------------+-------+---------------+

  ```
 - 以多级配置项 `rootservice_cluster_name` 为例，为其批量配置不同生效级别的值

  ```shell
  obclient [(none)]> replace into proxy_config(vid, vip, vport, tenant_name, cluster_name, name, value, config_level) values
  ('1', '10.10.10.1', '2881','tenent_1','cluster_1', 'rootservice_cluster_name','value_1','LEVEL_VIP'),
  ('2', '10.10.10.1', '3881','tenent_1','cluster_1', 'rootservice_cluster_name','value_2','LEVEL_VIP'),
  ('-1','','0','tenant_2','cluster_2','rootservice_cluster_name','value_3','LEVEL_TENANT'),
  ('-1','','0','','cluster_3','rootservice_cluster_name','value_4','LEVEL_CLUSTER'),
  ('-1','','0','','cluster_4','rootservice_cluster_name','value_5','LEVEL_CLOBAL');

  ```

  ```shell
  show proxyconfig all like 'rootservice_cluster_name';

  ```

  输出如下，`replace into` 命令修改原本 `LEVEL_CLOBAL` 级别配置项的值，并新增了 `LEVEL_VIP`、`LEVEL_TENANT` 和 `LEVEL_CLUSTER` 级别的配置。

  ```shell
  +------+------------+-------+-------------+----------------+--------------------------+-----------+---------------+
  | vid  | vip        | vport | tenant_name | cluster_name   | name                     | value     | config_level  |
  +------+------------+-------+-------------+----------------+--------------------------+-----------+---------------+
  | -1   |            | 0     |             | cluster_3      | rootservice_cluster_name | value_4   | LEVEL_CLUSTER |
  | -1   |            | 0     | tenant_2    | cluster_2      | rootservice_cluster_name | value_3   | LEVEL_TENANT  |
  | 1    | 10.10.10.1 | 2881  | tenent_1    | cluster_1      | rootservice_cluster_name | value_1   | LEVEL_VIP     |
  | 2    | 10.10.10.1 | 3881  | tenent_1    | cluster_1      | rootservice_cluster_name | value_2   | LEVEL_VIP     |
  | -1   |            | 0     |             |                | rootservice_cluster_name | value_5   | LEVEL_CLOBAL  |
  +------+------------+-------+-------------+----------------+--------------------------+-----------+---------------+

  ```
 - 以多级配置项 `rootservice_cluster_name` 为例，修改其全局级别的值

  ```shell
  obclient [(none)]> alter proxyconfig set rootservice_cluster_name='obcluster';

  ```

  ```

  输出如下，`LEVEL_CLOBAL` 级别配置项的值由 `value_5` 更新为了 `obcluster`。

  ```shell
  +------+------------+-------+-------------+----------------+--------------------------+-------------+---------------+
  | vid  | vip        | vport | tenant_name | cluster_name   | name                     | value       | config_level  |
  +------+------------+-------+-------------+----------------+--------------------------+-------------+---------------+
  | -1   |            | 0     |             | cluster_3      | rootservice_cluster_name | value_4     | LEVEL_CLUSTER |
  | -1   |            | 0     | tenant_2    | cluster_2      | rootservice_cluster_name | value_3     | LEVEL_TENANT  |
  | 1    | 10.10.10.1 | 2881  | tenent_1    | cluster_1      | rootservice_cluster_name | value_1     | LEVEL_VIP     |
  | 2    | 10.10.10.1 | 3881  | tenent_1    | cluster_1      | rootservice_cluster_name | value_2     | LEVEL_VIP     |
  | -1   |            | 0     |             |                | rootservice_cluster_name | obcluster   | LEVEL_CLOBAL  |
  +------+------------+-------+-------------+----------------+--------------------------+-------------+---------------+

  ```

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