---
title: 升级 OBServer 时预检查报错 tenant unit not exist but partition exist-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于升级 OBServer 时预检查报错 tenant unit not exist but partition exist相关的常见问题和使用技巧，帮助您快速解决升级 OBServer 时预检查报错 tenant unit not exist but partition exist的难题。
---
切换语言

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

划线反馈

# 升级 OBServer 时预检查报错 tenant unit not exist but partition exist

更新时间：2026-07-02 15:41

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

升级 OBServer 时预检查报错 `tenant unit not exist but partition exist`。

## 详细说明

预检查的脚本位置是 OBServer 服务器 `/home/admin/oceanbase/etc/upgrade_checker.py`。

查看预检查发现逻辑如下。

```shell
# 检查存在租户 partition，但是不存在 unit 的 OBServer
def check_tenant_resource(query_cur):
  (desc, res_unit) = query_cur.exec_query("""select tenant_id, svr_ip, svr_port from __all_virtual_partition_info where (tenant_id
, svr_ip, svr_port) not in (select tenant_id, svr_ip, svr_port from __all_unit, __all_resource_pool where __all_unit.resource_pool
_id = __all_resource_pool.resource_pool_id group by tenant_id, svr_ip, svr_port) group by tenant_id, svr_ip, svr_port""")
  for line in res_unit:
    raise MyError('{0} tenant unit not exist but partition exist'.format(line))
  logging.info("check tenant resource success")

```

可以使用里面的 SQL 进行检查看是哪台 OBServer 有问题，然后在这个 OBServer 上执行以下任务。

```shell
ALTER SYSTEM RUN JOB 'check_partition_table' server='xxx.xxx.xxx.xxx';

```

## 适用版本

OceanBase 数据库 V3.x 版本。

上一篇

[OBServer 升级预检查报错 exceed tenant partition num limit](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000003145634)

下一篇

[OCP Docker 根目录空间不足导致集群升级失败的原因和解决方法](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000003567558) ![有帮助](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) 咨询热线
