---
title: 通过 SQL 语句调整 OceanBase 数据库 V3.x 版本租户资源规格-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于通过 SQL 语句调整 OceanBase 数据库 V3.x 版本租户资源规格相关的常见问题和使用技巧，帮助您快速解决通过 SQL 语句调整 OceanBase 数据库 V3.x 版本租户资源规格的难题。
---
切换语言

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

划线反馈

# 通过 SQL 语句调整 OceanBase 数据库 V3.x 版本租户资源规格

更新时间：2026-07-17 07:16

适用版本： V2.2.x、V3.1.x、V3.2.x 内容类型：How-to  

本文主要介绍如何通过 SQL 语句调整 OceanBase 数据库 V3.x 版本租户资源规格。

示例如下。

1. 连接 root@sys 租户，确认需要调整规格的租户 tenant_id。

   ```shell
   mysql -h127.1 -uroot@sys -P2881 -p -A oceanbase -c
   select * from __all_tenant;

   ```
 2. 通过 SQL 查询到该 tenant_id 对应的资源池 NAME。

   ```shell
   SELECT  /*+ READ_CONSISTENCY(WEAK) QUERY_TIMEOUT(60000000) */  time_to_usec(t1.gmt_modified) AS update_time, t1.resource_pool_id, t1.`name`, t1.unit_count, t1.unit_config_id, t1.zone_list, t1.tenant_id,(CASE t1.replica_type WHEN 0 THEN 'FULL' WHEN 5 THEN 'LOGONLY' WHEN 16 THEN 'READONLY' ELSE NULL END) AS replica_type, t2.`name` AS unit_config_name, t2.max_cpu, t2.min_cpu, t2.max_memory, t2.min_memory FROM oceanbase.__all_resource_pool AS t1 JOIN oceanbase.__all_unit_config AS t2 ON t1.unit_config_id = t2.unit_config_id AND t1.tenant_id = ?

   ```

   上述 SQL 查询语句中将最后的 `？` 替换为 tenant_id。
 3. 创建合适大小的 UNIT 资源规格。

   ```shell
   ## -- 获取当前可用资源的 SQL 查询。
   SELECT
   svr_ip,
   svr_port,
   zone,
   cpu_total,
   cpu_assigned,
   cpu_max_assigned,
   cpu_total - cpu_max_assigned cpu_free,
   round(mem_total / 1024 / 1024 / 1024, 1) "mem_total(G)",
   round(mem_assigned / 1024 / 1024 / 1024, 1) "mem_assigned(G)",
   round(mem_max_assigned / 1024 / 1024 / 1024, 1) "mem_max_assigned(G)",
   round((mem_total - mem_max_assigned) / 1024 / 1024 / 1024, 1) "mem_free(G)",
   round(disk_total / 1024 / 1024 / 1024, 1) "disk_total(G)",
   round(disk_assigned / 1024 / 1024 / 1024, 1) "disk_assigned(G)",
   disk_assigned_percent,
   unit_num FROM oceanbase.__all_virtual_server_stat ORDER BY zone\G

   ```

   根据上述**获取当前可用资源的 SQL 查询**可知可用的 CPU 和内存信息，设置合适的参数。

   以下 unit_B 为新建的资源规格名，X 和 Y 需要替换为具体可用的 CPU (cpu_free，其值以 X 表示) 和可用的内存 (mem_free，其值以 Y 表示)。

   ```shell
   CREATE RESOURCE UNIT IF NOT EXISTS unit_B
   max_cpu X,
   min_cpu X,
   max_memory 'YG',
   min_memory 'YG',
   max_session_num 65535,
   max_iops 1250,
   min_iops 1250,
   max_disk_size '100G';

   ```
 4. 查询新建的 UNIT 资源规格。

   ```shell
   SELECT unit_config_id, name, max_cpu, min_cpu, max_memory, min_memory FROM oceanbase.__all_unit_config WHERE `name` = ?;

   ```

   上述 SQL 查询语句中将最后的 `？` 替换为 unit_B。
 5. 修改资源池的 UNIT 资源规格。

   ```shell
   ALTER RESOURCE POOL `pool_name` UNIT = ?;

   ```

   将 pool_name 替换为资源池 NAME，将最后的 `？` 替换为 unit_B。
 6. 再次查询目前租户 tenant_id 的规格。

   ```

## 适用版本

OceanBase 数据库 V3.x 及以下版本。

上一篇

[创建租户和更新配置项形成死锁](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000002045133)

下一篇

[因租户 id 大于 10W，OceanBase 数据库 V4.x 创建租户一直是 creating 状态的原因及解决方法](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000002571539) ![有帮助](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) 咨询热线
