---
title: Oracle 租户中创建带 RANGE 或 LIST 类型分区的表组错误，错误代码 ORA-00900 -OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于Oracle 租户中创建带 RANGE 或 LIST 类型分区的表组错误，错误代码 ORA-00900 相关的常见问题和使用技巧，帮助您快速解决Oracle 租户中创建带 RANGE 或 LIST 类型分区的表组错误，错误代码 ORA-00900 的难题。
---
切换语言

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

划线反馈

# Oracle 租户中创建带 RANGE 或 LIST 类型分区的表组错误，错误代码 ORA-00900

更新时间：2023-12-07 03:16

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

Oracle 租户中创建带 RANGE 或 LIST 类型分区的表组报 ORA-00900 错误的原因以及解决方法。

## 适用版本

OceanBase 数据库所有版本

## 背景信息

表组（Table Group）不是一个物理对象，它是一个逻辑概念，表示一组表或者表的集合。属于这样一个集合的表需要满足一定的约束，即所有表必须拥有相同的 Locality（副本类型、个数及位置）、相同的 Primary Zone（Leader 位置及其优先级）以及相同的分区方式。

有关在 Oracle 租户中创建表组的语法，请参加《OceanBase 数据库 SQL 参考（Oracle 模式）》。

## 问题现象

在 Oracle 租户中创建带 RANGE 或 LIST 类型分区的表组错误，错误信息如下。

```unknow
obclient> CREATE TABLEGROUP tg PARTITION BY HASH
  ->  SUBPARTITION BY RANGE
    ->   SUBPARTITION TEMPLATE(
    ->   SUBPARTITION P0 VALUES LESS THAN (100),
    ->    SUBPARTITION P1 VALUES LESS THAN (200),
    ->    SUBPARTITION P2 VALUES LESS THAN (300),
    ->    SUBPARTITION P3 VALUES LESS THAN (MAXVALUE))
    ->   PARTITIONS 3;
ORA-00900: You have an error in your SQL syntax; check the manual that corresponds to your OceanBase version for the right syntax to use near 'SUBPARTITION TEMPLATE(
  SUBPARTITION P0 VALUES LESS THAN (100),
  SUBPARTITION ' at line 3

```

## 可能原因

OceanBase 数据库中，Oracle 租户创建表组分区的语句与 MySQL 租户中创建表分区的语句是一致的。因此：

- 要创建 RANGE 分区，需要使用 RANGE COLUMN 语法。
 - 要创建 LIST 分区，需要使用 LIST COLUMN 语法。

## 解决方式

修改创建表组的语句。

- 使用 RANGE COLUMN 代替 RANGE。

  ```unknow
  obclient> CREATE TABLEGROUP tg PARTITION BY HASH
    ->  SUBPARTITION BY RANGE COLUMNS 1
      ->   SUBPARTITION TEMPLATE(
      ->   SUBPARTITION P0 VALUES LESS THAN (100),
      ->    SUBPARTITION P1 VALUES LESS THAN (200),
      ->    SUBPARTITION P2 VALUES LESS THAN (300),
      ->    SUBPARTITION P3 VALUES LESS THAN (MAXVALUE))
      ->   PARTITIONS 3;

  ```
 - 使用 LIST COLUMN 代替 LIST。

  ```unknow
  obclient> CREATE TABLEGROUP tg PARTITION BY HASH
    ->  SUBPARTITION BY LIST COLUMNS 1
      ->   SUBPARTITION TEMPLATE(
      ->   SUBPARTITION P0 VALUES LESS THAN (100),
      ->    SUBPARTITION P1 VALUES LESS THAN (200),
      ->    SUBPARTITION P2 VALUES LESS THAN (300),
      ->   PARTITIONS 3;

  ```

上一篇

[Collate 不一致导致添加表组报错](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000450144)

下一篇

[表组是否区分大小写](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000005435043) ![有帮助](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) 咨询热线
