---
title: 备集群创建租户时卡住的问题 -OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于备集群创建租户时卡住的问题 相关的常见问题和使用技巧，帮助您快速解决备集群创建租户时卡住的问题 的难题。
---
切换语言

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

划线反馈

# 备集群创建租户时卡住的问题

更新时间：2026-05-09 07:56

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

主集群创建租户后，备集群会逻辑同步主集群系统租户下创建租户的 DDL，然后执行自动创建租户流程。备集群在自动创建租户的过程中可能会卡住，本节主要介绍备集群在自动创建租户过程中卡住的排查方法、可能原因及解决方法。

## 排查方法

您可以通过以下几种方法来判断备集群在创建租户时是否卡住：

- 查询 `__ALL_TENANT` 表，对比主备集群的租户列表。

  如果备集群中缺少部分租户，则表示备集群可能正在创建租户，或者创建租户失败出现了卡住的现象。
 - 在主集群上，查询 `V$OB_STANDBY_STATUS` 视图的 `SYNCHRONIZATION_STATUS` 列。

  如果该列的值为 `SYS SCHEMA NOT SYNC`，则表示系统租户的 Schema 不同步，可能出现了备集群创建租户时卡住的现象。
 - 在主集群和备集群上，分别执行以下命令查询 `V$OB_CLUSTER_STATS` 视图，比较系统租户的 Schema 版本。

  ```sql
  obclient> SELECT REFRESHED_SCHEMA_VERSION FROM V$OB_CLUSTER_STATS WHERE TENANT_ID = 1;

  ```

  如果备集群的系统租户的 Schema 版本比主集群的系统租户的 Schema 版本小，则表示可能出现了备集群创建租户时卡住的现象。
 - 在主集群下，查询一个即将同步到备集群的系统租户的 DDL 变更。

  如果是创建租户的 DDL 操作，则此时备集群正在同步创建租户 DDL，但等待很长一段时间后仍然同步不成功，则很可能出现了创建租户时卡住的现象。

  查看同步情况的 SQL 语句如下：

  ```sql
  obclient> SELECT SCHEMA_VERSION, TENANT_ID, DDL_STMT_STR
  FROM __ALL_DDL_OPERATION
  WHERE SCHEMA_VERSION > [standby_sys_schema_version]
  LIMIT 10;

  ```

## 原因分析

备集群创建租户时卡住的常见原因是租户资源池创建失败。本节以目标租户的 `tenant_id` 为 `1001` 为例，确认备集群中是否出现了租户资源池创建失败的方法如下：

1. 查询资源配置，检查是否存在名称为 `__unit_config_1001` 的资源配置。

   ```sql
   obclient> SELECT * FROM __ALL_UNIT_CONFIG WHERE NAME LIKE '__unit_config_1001';

   ```

   如果查询结果中不存在对应的资源配置，则说明还没有开始创建租户，当前问题不是资源池创建失败导致。否则，需要执行下一步。
 2. 查询资源池，检查是否存在名称为 `__resource_pool_1001` 的资源池。

   ```sql
   obclient> SELECT * FROM __ALL_RESOURCE_POOL WHERE NAME LIKE '__resource_pool_1001';

   ```

   如果查询结果中存在对应的资源池，则说明资源池创建成功，当前问题不是资源池创建失败导致。否则，说明资源池还未创建成功，需要执行下一步检查。
 3. 查询 RootService 事件，检查是否存在 `'create_resource_pool'` 的事件，并且执行失败。

   ```sql
   obclient> SELECT * FROM __ALL_ROOTSERVICE_EVENT_HISTORY
   WHERE EVENT LIKE "%create_resource_pool%" AND VALUE2 LIKE "%__resource_pool_1001%"
   ORDER BY GMT_CREATE DESC
   LIMIT 1;

   ```

   查询结果中如果存在 `'create_resource_pool'` 的事件，则确认资源池创建失败。

如果确认是租户资源池创建失败，通常的可能原因如下：

- 备集群上的 Server 宕机
 - 备集群上在线的 Server 的可用资源不足

## 解决方法

1. 排查备集群上是否有机器故障，机器故障可能导致 Zone 内没有机器分配 Unit，创建资源池时报 `-4656` 的错误。

   如果确认是机器故障，则需要尽快恢复机器，保证有足够的 Server 在线。
 2. 如果确认有足够的 Server 在线，则需要计算 Server 的剩余资源，包括 CPU、内存等，人工调小备集群的租户资源配置，保证 Zone 内有机器分配 Unit。备集群会自动重试创建租户资源池，直到成功。

   调整备集群租户资源配置的命令如下：

   ```sql
   obclient> ALTER RESOURCE UNIT __unit_config_1001 MIN_MEMORY='xx', MAX_MEMORY='xx';

   ```

   其中，`__unit_config_1001` 表示 `tenant_id` 为 `1001` 的租户的资源配置。

   #### 说明

      - 建议在调小备集群的租户资源配置时，同时调整主集群的配置，尽量保证主备集群的资源配置相同，避免因配置异构带来的运维复杂度。
      - 或者，您也可以调小主集群的资源配置，然后删除备集群自动创建的 Unit 配置，例如 `__unit_config_1001`。设置后，备集群会自动重试，并采用主集群的租户资源配置重新创建 `__unit_config_1001`。这样可以保证主备集群的资源配置相同

上一篇

[人为修改 STANDBYRO 密码后，导致主备 SWITCHOVER 切换报错：-4179，switch to primary not allowed](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000001100281)

下一篇

[主备库合并行为机制](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000208213) ![有帮助](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) 咨询热线
