---
title: OceanBase 数据库 V3.x 版本中通过 dbms_metadata.get_ddl 函数包无法获取二级分区表 USING INDEX LOCAL 的 unique 约束的原因和解决方法-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于OceanBase 数据库 V3.x 版本中通过 dbms_metadata.get_ddl 函数包无法获取二级分区表 USING INDEX LOCAL 的 unique 约束的原因和解决方法相关的常见问题和使用技巧，帮助您快速解决OceanBase 数据库 V3.x 版本中通过 dbms_metadata.get_ddl 函数包无法获取二级分区表 USING INDEX LOCAL 的 unique 约束的原因和解决方法的难题。
---
切换语言

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

划线反馈

# OceanBase 数据库 V3.x 版本中通过 dbms_metadata.get_ddl 函数包无法获取二级分区表 USING INDEX LOCAL 的 unique 约束的原因和解决方法

更新时间：2026-05-19 08:21

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

## 问题现象

OceanBase 数据库 V3.x 版本中通过 dbms_metadata.get_ddl 函数包无法获取二级分区表 USING INDEX LOCAL 的 unique 约束。

示例。

1. 创建表 SUBS_SERVICE。

   ```shell
   obclient [SYS]> CREATE TABLE "SUBS_SERVICE" (
     "KEY_ID" NUMBER(13) CONSTRAINT "SUBS_SERVICE_OBNOTNULL_1684227984124400" NOT NULL ENABLE,
     "SERVICE_ID" VARCHAR2(16),
     "PACKAGE_ID" VARCHAR2(4),
     "AVAILTIME" DATE CONSTRAINT "SUBS_SERVICE_OBNOTNULL_1684227984124420" NOT NULL ENABLE,
     "EXPIRETIME" DATE,
     "OID" NUMBER(18) DEFAULT 0 CONSTRAINT "SUBS_SERVICE_OBNOTNULL_1684227984124426" NOT NULL ENABLE,
     "AUDIT_CHANGE_TIME" DATE,
     CONSTRAINT "PK_SUBS_SERVICE" UNIQUE ("KEY_ID", "OID") USING INDEX LOCAL
      )
      partition by range("KEY_ID") subpartition by hash("KEY_ID")
      (partition PART535 values less than (5359999999999) (
      subpartition P_535_01,
      subpartition P_535_02,
      subpartition P_535_03,
      subpartition P_535_04,
      subpartition P_535_05,
      subpartition P_535_06,
      subpartition P_535_07,
      subpartition P_535_08,
      subpartition P_535_09,
      subpartition P_535_10,
      subpartition P_535_11,
      subpartition P_535_12,
      subpartition P_535_13,
      subpartition P_535_14,
      subpartition P_535_15,
      subpartition P_535_16));
   Query OK, 0 rows affected (0.203 sec)

   ```
 2. 通过 `dbms_metadata.get_ddl` 函数包获取表结构信息时，未展示 unique 约束。

   ```shell
   obclient [SYS]> select dbms_metadata.get_ddl('TABLE','SUBS_SERVICE','SYS') from dual;

   ```

   输出结果如下：

   ```shell
   +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
   | DBMS_METADATA.GET_DDL('TABLE','SUBS_SERVICE','SYS')                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
   | CREATE TABLE "SUBS_SERVICE" (
   "KEY_ID" NUMBER(13) CONSTRAINT "SUBS_SERVICE_OBNOTNULL_1684227984124400" NOT NULL ENABLE,
   "SERVICE_ID" VARCHAR2(16),
   "PACKAGE_ID" VARCHAR2(4),
   "AVAILTIME" DATE CONSTRAINT "SUBS_SERVICE_OBNOTNULL_1684227984124420" NOT NULL ENABLE,
   "EXPIRETIME" DATE,
   "OID" NUMBER(18) DEFAULT 0 CONSTRAINT "SUBS_SERVICE_OBNOTNULL_1684227984124426" NOT NULL ENABLE,
   "AUDIT_CHANGE_TIME" DATE
   ) COMPRESS FOR ARCHIVE REPLICA_NUM = 1 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE TABLET_SIZE = 134217728 PCTFREE = 0
   partition by range("KEY_ID") subpartition by hash("KEY_ID")
   (partition PART535 values less than (5359999999999) (
    subpartition P_535_01,
    subpartition P_535_02,
    subpartition P_535_03,
    subpartition P_535_04,
    subpartition P_535_05,
    subpartition P_535_06,
    subpartition P_535_07,
    subpartition P_535_08,
    subpartition P_535_09,
    subpartition P_535_10,
    subpartition P_535_11,
    subpartition P_535_12,
    subpartition P_535_13,
    subpartition P_535_14,
    subpartition P_535_15,
    subpartition P_535_16)) |
    +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    1 row in set (0.562 sec)

   ```

## 问题原因

内核表结构展示逻辑 BUG，导致无法在表结构展示二级分区表的 USING INDEX LOCAL 的 unique 约束。

## 问题的风险及影响

查询表信息，显示不完整。

## 影响租户

影响 OceanBase 数据库中的 Oracle 租户，对于 SYS 租户和 MySQL 租户无影响。

## 适用版本

OceanBase 数据库 V3.x 版本。

## 解决方法及规避方式

- 解决方法：

  升级至问题已修复版本。目前已修复的版本包括 OceanBase 数据库 V3.2.3 BP10 Hotfix7（oceanbase-3.2.3.3-110070012024012316）及之后版本。
 - 规避方式

  如需导出表结构场景，可通过 OBDUMPER 导出方式规避。

上一篇

[OceanBase 数据库 V4.x 版本中字符集为 gbk 的 Oracle 模式租户下匿名块含 dbms_sql.parse 函数，执行时报错 ob_convert failed(ret=-4258 的原因和解决方法](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000001888933)

下一篇

[DATE_ADD 和 DATE_SUB 函数的差异](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000005639979) ![有帮助](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) 咨询热线
