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

- 简体中文
- English

划线反馈

# 备集群中存在无法同步的租户

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

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

## 适用版本

OceanBase 数据库 V2.x、V3.x 版本。

## 问题描述

主备集群关系搭建后，发现新建的备集群中存在一个租户一直没有进行数据同步。

## 问题诊断

1. 执行如下命令在备集群中查询系统表 `__all_virtual_cluster_stats` 或视图 `v$ob_cluster_stats` 来查看各个租户的同步状态。

   发现租户 1008 的用户表（user_table）存在较大的同步延迟，而租户的系统表（sys_table）上同步正常。

   ```shell
   obclient> select *, usec_to_time(min_user_table_scn), use_to_time(min_sys_table_scn) from __all_virtual_cluster_stats;

   ```
 2. 执行如下命令在备集群中查看租户 1008 中的分区是否处于 `restore` 状态，并没有任何发现。

   ```shell
   obclient> select * from __all_virtual_meta_table where is_restore != 0;
   Empty set (0.11 sec)

   ```
 3. 对比主备集群中租户 1008 的 `unit` 的分配情况，发现备集群中该租户处于缺少副本的状态。

   主集群：

   ```shell
   obclient> select * from gv$unit where tenant_id=1008；

   +---------+----------------+--------------------------------+------------------+---------------------------+-------+-----------+-------------+---------------+----------+---------------------+-----------------------+---------+---------+------------+------------+----------+----------+---------------+-----------------+
   | unit_id | unit_config_id | unit_config_name               | resource_pool_id | resource_pool_name        | zone  | tenant_id | tenant_name | svr_ip        | svr_port | migrate_from_svr_ip | migrate_from_svr_port | max_cpu | min_cpu | max_memory | min_memory | max_iops | min_iops | max_disk_size | max_session_num |
   +---------+----------------+--------------------------------+------------------+---------------------------+-------+-----------+-------------+---------------+----------+---------------------+-----------------------+---------+---------+------------+------------+----------+----------+---------------+-----------------+
   |    1022 |           1026 | config_obmysqlgbk_zone3_S1_fjh |             1025 | pool_obmysqlgbk_zone3_fjh | zone3 |      1008 | obmysqlgbk  | 11.xxx.xx.168 |     2882 |                     |                     0 |     1.5 |     1.5 | 6442450944 | 6442450944 |     1250 |     1250 |  536870912000 |             375 |
   |    1023 |           1027 | config_obmysqlgbk_zone1_S1_qgs |             1026 | pool_obmysqlgbk_zone1_qgs | zone1 |      1008 | obmysqlgbk  | 11.xxx.xx.111 |     2882 |                     |                     0 |     1.5 |     1.5 | 6442450944 | 6442450944 |     1250 |     1250 |  536870912000 |             375 |
   |    1024 |           1025 | config_obmysqlgbk_zone2_S1_add |             1027 | pool_obmysqlgbk_zone2_add | zone2 |      1008 | obmysqlgbk  | 11.xxx.xx.115 |     2882 |                     |                     0 |     1.5 |     1.5 | 6442450944 | 6442450944 |     1250 |     1250 |  536870912000 |             375 |
   +---------+----------------+--------------------------------+------------------+---------------------------+-------+-----------+-------------+---------------+----------+---------------------+-----------------------+---------+---------+------------+------------+----------+----------+---------------+-----------------+

   ```

   备集群：

   ```sql
   +---------+----------------+--------------------------------+------------------+---------------------------+-------+-----------+-------------+---------------+----------+---------------------+-----------------------+---------+---------+------------+------------+----------+----------+---------------+-----------------+
   | unit_id | unit_config_id | unit_config_name               | resource_pool_id | resource_pool_name        | zone  | tenant_id | tenant_name | svr_ip        | svr_port | migrate_from_svr_ip | migrate_from_svr_port | max_cpu | min_cpu | max_memory | min_memory | max_iops | min_iops | max_disk_size | max_session_num |
   +---------+----------------+--------------------------------+------------------+---------------------------+-------+-----------+-------------+---------------+----------+---------------------+-----------------------+---------+---------+------------+------------+----------+----------+---------------+-----------------+
   |    1022 |           1026 | config_obmysqlgbk_zone3_S1_fjh |             1025 | pool_obmysqlgbk_zone3_fjh | zone3 |      1008 | obmysqlgbk  | 11.xxx.xx.101 |     2882 |                     |                     0 |     1.5 |     1.5 | 6442450944 | 6442450944 |     1250 |     1250 |  536870912000 |             375 |
   +---------+----------------+--------------------------------+------------------+---------------------------+-------+-----------+-------------+---------------+----------+---------------------+-----------------------+---------+---------+------------+------------+----------
   +----------+---------------+-----------------+

   ```

   怀疑在备集群的创建过程中，租户 1008 的副本创建出现问题，需要到备集群的 RS 主节点排查 RS 日志。
 4. 查找 RS 的 Leader 节点位置。`__all_virtual_core_meta_table` 中保存了 `__all_core_table` 的位置信息，可以通过该表获得 RS 的 Leader 节点位置。

   命令如下：

   ```shell
   obclient> select * from __all_virtual_core_meta_table where role = 1;

   ```
 5. 在 RS 主节点排查 RS 日志，查看副本创建相关的日志信息，发现大量的 -4624 报错。

   ```shell
   grep "ob_standby_cluster_partition_" rootservice.log
   WARN [RS] try_create_partition (ob_standby_cluster_partition_process.cpp:818) [268390][648] [Y8420AC2D408-000600C1E92B6E58] [lc=7] [dc=0] failed to get partition array(ret=-4624,ret="OB_MACHINE_RESOURCE_NOT_ENOUGH",min_schema_version=0);

   ```
 6. 根据 `trace_id` 来搜索 RS 日志，发现备集群在 `CREATE PARTITION` 时报错：`tenant doesn't own any pool`。

   ```shell
   grep "Y8420AC2D408-000600C1E92B6E58" rootservice.log
   WARN [RS] get_pool_ids_of_tenant (ob_unit_manager.cpp:2325) [268391][650] [Y8420AC2D408-000600C1E92B6E58] [lc=17] [dc=0] tenant doesn't own any pool(tenant_id=1008, ret=0);

   ```

至此，可以判断是在备集群创建租户的过程中，租户的 unit 分配出现了问题，导致租户一直处于缺副本的状态。

该案例中，备集群分配 unit 失败与主备库的一个 bug 有关，在建备库迁移租户的时候如果产生切主或者内存等存在问题会触发 unit 分配失败。

## 应急处理方法

如果系统中有充足的资源来为租户分配 unit，可以尝试使用以下命令进行 unit 的重新加载。

```shell
obclient> alter system reload unit;

```

租户创建完成后，可以使用 `__all_virtual_cluster_stats` 或视图 `v$ob_cluster_stats` 来查看各个租户的同步状态。也可以使用 `__all_core_table` 来查看各个租户的 schema 同步情况。

Previous

[主备集群间带宽使用达到 100%](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000208205)

Next

[备库同步报错 replica wrs is delay too much](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000208072) ![有帮助](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) 咨询热线
