---
title: ORACLE 租户分区表相关系统视图不准导致 OMS 迁移产生数据一致性问题-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于ORACLE 租户分区表相关系统视图不准导致 OMS 迁移产生数据一致性问题相关的常见问题和使用技巧，帮助您快速解决ORACLE 租户分区表相关系统视图不准导致 OMS 迁移产生数据一致性问题的难题。
---
切换语言

- 简体中文
- English

划线反馈

# ORACLE 租户分区表相关系统视图不准导致 OMS 迁移产生数据一致性问题

更新时间：2026-05-25 09:11

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

## 问题现象

问题一: OceanBase 数据库中 Oracle 租户有关二级分区系统视图定义不准确的 bug。

在 Oracle 租户模式下，向模版化分区表添加新的二级分区后，由于 OceanBase 数据库涉及二级分区的系统视图定义不准确的 bug，导致所有涉及二级分区的系统视图查询结果有正确性问题（具体表现为：查询结果中不包含新增二级分区的记录）。示例如下。

```shell
-- 模版化分区表新增二级分区后，DBA_OBJECTS、DBA_TAB_SUBPARTITIONS 视图查询结果不包含新增二级分区的记录

CREATE TABLE T1(
  col1 NUMBER,
  col2 NUMBER
)
PARTITION BY RANGE(col1)
SUBPARTITION BY RANGE(col2)
SUBPARTITION TEMPLATE
(SUBPARTITION mp0 VALUES LESS THAN(2020),
SUBPARTITION mp1 VALUES LESS THAN(2021),
SUBPARTITION mp2 VALUES LESS THAN(2022)
)
(PARTITION p0 VALUES LESS THAN(100),
PARTITION p1 VALUES LESS THAN(200)

-- 新增分区前相关视图查询结果

SELECT TABLE_NAME,PARTITION_NAME,SUBPARTITION_NAME FROM SYS.DBA_TAB_SUBPARTITIONS WHERE table_name='T1';
+------------+----------------+-------------------+
| TABLE_NAME | PARTITION_NAME | SUBPARTITION_NAME |
+------------+----------------+-------------------+
| T1         | P0             | P0sMP0            |
| T1         | P0             | P0sMP1            |
| T1         | P0             | P0sMP2            |
| T1         | P1             | P1sMP0            |
| T1         | P1             | P1sMP1            |
| T1         | P1             | P1sMP2            |
+------------+----------------+-------------------+

SELECT OBJECT_NAME,SUBOBJECT_NAME,OBJECT_TYPE FROM SYS.DBA_OBJECTS WHERE OBJECT_NAME='T1';
+-------------+----------------+--------------------+
| OBJECT_NAME | SUBOBJECT_NAME | OBJECT_TYPE        |
+-------------+----------------+--------------------+
| T1          | NULL           | TABLE              |
| T1          | P0             | TABLE PARTITION    |
| T1          | P1             | TABLE PARTITION    |
| T1          | P0sMP0         | TABLE SUBPARTITION |
| T1          | P0sMP1         | TABLE SUBPARTITION |
| T1          | P0sMP2         | TABLE SUBPARTITION |
| T1          | P1sMP0         | TABLE SUBPARTITION |
| T1          | P1sMP1         | TABLE SUBPARTITION |
| T1          | P1sMP2         | TABLE SUBPARTITION |
+-------------+----------------+--------------------+

-- 新增分区

ALTER TABLE T1 ADD PARTITION p2 VALUES LESS THAN(300);

-- 新增分区后相关视图查询结果（无新增二级分区的记录）

SELECT OBJECT_NAME,SUBOBJECT_NAME,OBJECT_TYPE FROM SYS.DBA_OBJECTS WHERE OBJECT_NAME='T1';
+-------------+----------------+--------------------+
| OBJECT_NAME | SUBOBJECT_NAME | OBJECT_TYPE        |
+-------------+----------------+--------------------+
| T1          | NULL           | TABLE              |
| T1          | P0             | TABLE PARTITION    |
| T1          | P1             | TABLE PARTITION    |
| T1          | P2             | TABLE PARTITION    |
| T1          | P0sMP0         | TABLE SUBPARTITION |
| T1          | P0sMP1         | TABLE SUBPARTITION |
| T1          | P0sMP2         | TABLE SUBPARTITION |
| T1          | P1sMP0         | TABLE SUBPARTITION |
| T1          | P1sMP1         | TABLE SUBPARTITION |
| T1          | P1sMP2         | TABLE SUBPARTITION |
+-------------+----------------+--------------------+

```

问题二：Oracle 租户系统视图不包含新增二级分区记录，导致 OMS 数据迁移产生一致性问题。

使用 OMS 数据迁移时，源端触发 Oracle 租户模版化的分区表添加二级分区后，涉及二级分区的系统视图查询结果中不包含新增二级分区的信息，全量迁移将会丢数据，但 OMS 全量迁移校验不报错且上下游校验的数据行数一致。

## 问题原因

- 问题一原因：OceanBase 数据库的 Bug，涉及二级分区的系统视图定义不准确。
 - 问题二原因：OMS 针对 Oracle 租户全量迁移时，依赖 OceanBase 数据库的系统视图。但由于 OceanBase 的 bug，导致 OMS 全量迁移最终没有感知到相关分区的数据，从而造成 OMS 数据迁移产生一致性问题。

## 问题的风险及影响

系统视图查询结果不准确，OMS 数据迁移产生一致性问题。

## 影响的版本

OceanBase 数据库企业版 V2.2.77 GA（oceanbase-2.2.77-20210508211731）及之后版本、V3.1.2 GA（oceanbase-3.1.2-20210618150922）及之后版本、V3.2.3 GA（oceanbase-3.2.3.0-20220418212020）及之后版本、V3.2.4 GA（oceanbase-3.2.4.0-100000072022102819）及之后版本。

## 解决方法及规避方式

- 处理 OceanBase 数据库中 Oracle 租户有关二级分区系统视图定义不准确的 bug 问题。

     - 解决方法：升级 OceanBase 数据库至修复版本。目前已修复的版本包括 OceanBase 数据库企业版 V2.2.77 BP19（oceanbase-2.2.77-119000122024060513 ）及之后的版本、V3.2.3 BP9 (oceanbase-3.2.3.3-109000182023071410) 及之后的版本、V3.2.4 BP4 (oceanbase-3.2.4.4-104000052023062021) 及之后的版本。
     - 规避方式：避免向模版化分区表中添加新二级分区。
 - 处理 Oracle 租户系统视图不包含新增二级分区记录，导致 OMS 数据迁移产生一致性问题。

     - 解决方法：升级 OceanBase 数据库至修复版本。目前已修复的版本包括 OceanBase 数据库企业版 V2.2.77 BP19（oceanbase-2.2.77-119000122024060513 ）及之后的版本、V3.2.3 BP9 (oceanbase-3.2.3.3-109000182023071410) 及之后的版本、V3.2.4 BP4 (oceanbase-3.2.4.4-104000052023062021) 及之后的版本。
     - 规避方式：创建正确的同名视图。

Previous

[information_schema.partitions 视图内的 table_rows 为 NULL](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000283018)

Next

[OceanBase 数据库各个版本中参数和变量相关的系统视图](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000001048086) ![有帮助](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) 咨询热线
