---
title: "一级分区 | OceanBase 文档中心"
description: "一级分区 本文为您介绍迁移 Oracle 数据库的数据至 OceanBase 数据库 Oracle 租户时，CREATE TABLE DDL 一级分区的支持转换范围。 range 分区 range 分区 range_partitions 的语法如下： PARTITION BY RANGE (column[, colu…"
---
切换语言

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

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*L03BS6f-o40AAAAAAAAAAAAADiGDAQ/original) 迁移服务 OMSV 4.2.0 企业版

# 一级分区

更新时间：2023-10-20 10:15:29

本文为您介绍迁移 Oracle 数据库的数据至 OceanBase 数据库 Oracle 租户时，CREATE TABLE DDL 一级分区的支持转换范围。

## range 分区

range 分区 range_partitions 的语法如下：

```sql
PARTITION BY RANGE (column[, column ]...)
  [ INTERVAL ( expr ) [ STORE IN ( tablespace [, tablespace]...) ]]
( PARTITION [ partition ]
    range_values_clause table_partition_description
      [, PARTITION [ partition ]
        range_values_clause table_partition_description
        [ external_part_subpart_data_props ]
      ]...
)

range_values_clause:
VALUES LESS THAN
  ({ literal | MAXVALUE }
     [, { literal | MAXVALUE } ]...
  )

table_partition_description:
PARTITION [partition] [table_partition_description]

external_part_subpart_data_props:
[ DEFAULT DIRECTORY directory ]
[ LOCATION
   ([ directory: ] 'location_specifier'
      [, [ directory: ] 'location_specifier' ]...
   )
]

```

### 支持的范围

支持 `PARTITION BY RANGE (column[, column ]...) （PARTITION [ partition ] range_values_clause）` 子句定义 range 分区。示例如下：

```sql
CREATE TABLE T (C1 DATE DEFAULT SYSDATE, C2 NUMBER) PARTITION BY RANGE(C1)
 (  
  PARTITION P0 VALUES LESS THAN (TO_DATE('01-APR-1998','DD-MON-YYYY')),
  PARTITION P1 VALUES LESS THAN (MAXVALUE)
 );

```

### 不支持的范围

- 不支持 `INTERVAL（expr）`子句来定义分区间隔，会忽略该 option。
 - 不支持 `[ STORE IN ( tablespace [, tablespace]...) ]]` 子句指定存储的 tablespace，会忽略该 option。
 - 不支持 `external_part_subpart_data_props` 子句来定义指定一个或多个外部数据源，会忽略该 option。
 - 不支持 `table_partition_description` 子句定义分区表的物理和存储特征，会忽略该 option。

## list 分区

list 分区的语法如下：

```sql
PARTITION BY LIST ( column [, column]... )
[ AUTOMATIC [ STORE IN ( tablespace [, tablespace ]... ) ] ]
(PARTITION [ partition ]
    list_values_clause table_partition_description
  [, PARTITION [ partition ]
        list_values_clause table_partition_description
        [ external_part_subpart_data_props ]
  ]...
)

list_values_clause:
VALUES ( list_values | DEFAULT )

table_partition_description:
PARTITION [partition] [table_partition_description] )

```

### 支持的范围

支持 `PARTITION BY LIST ( column [, column]... ) （PARTITION [ partition ] list_values_clause）` 子句定义 list 分区。示例如下：

```sql
CREATE TABLE T (C1 VARCHAR2(100)) PARTITION BY LIST(C1)
 (  
  PARTITION P0 VALUES IN ("1","2"),
  PARTITION P1 VALUES IN ("3","4")
 );

```

### 不支持的范围

- 不支持 AUTOMATIC 定义自动创建 list 分区，会忽略该 option。
 - 不支持 `[ STORE IN ( tablespace [, tablespace ]... ) ]` 子句指定分区的空间，会忽略该 option。
 - 不支持 `external_part_subpart_data_props` 子句定义指定一个或多个外部数据源，会忽略该 option。
 - 不支持 `table_partition_description` 子句定义分区表的物理和存储特征，会忽略该 option。

## hash 分区

hash 分区的语法如下：

```sql
PARTITION BY HASH (column [, column ] ...)
{ individual_hash_partitions
| hash_partitions_by_quantity
}

individual_hash_partitions:
( PARTITION [partition] [read_only_clause] [indexing_clause] [partitioning_storage_clause]
  [, PARTITION [partition] [read_only_clause] [indexing_clause] [partitioning_storage_clause]]... )

partitioning_storage_clause:
[ { { TABLESPACE tablespace | TABLESPACE SET tablespace_set }
  | OVERFLOW [ TABLESPACE tablespace] | TABLESPACE SET tablespace_set
  | table_compression
  | index_compression
  | inmemory_clause
  | ilm_clause
  | LOB_partitioning_storage
  | VARRAY varray_item STORE AS [SECUREFILE | BASICFILE] LOB LOB_segname
  }...
]

hash_partitions_by_quantity：
PARTITIONS hash_partition_quantity
[ STORE IN (tablespace [, tablespace ]...) ]
[ table_compression | index_compression ]
[ OVERFLOW STORE IN (tablespace [, tablespace ]...) ]

```

### 支持的范围

- 支持 `individual_hash_partitions` 子句定义自定义 hash 分区，详情请参见 [自定义分区](https://www.oceanbase.com/docs/enterprise-oms-doc-cn-1000000000091654)。
 - 支持 `partitioning_storage_clause` 子句定义 hash 分区数量，仅支持 `PARTITION BY HASH (column [, column ] ...) PARTITIONS hash_partition_quantity` 子句定义 hash 分区数量。示例如下：

  ```sql
  CREATE TABLE T (C NUMBER) PARTITION BY HASH(C) PARTITIONS 4;

  ```

### 不支持的范围

不支持 `partitioning_storage_clause` 子句中的 option：

- 不支持指定 `INDEXING { ON | OFF }` 设置表、表分区或表子分区的索引属性，会忽略该 option。
 - 不支持指定 `partitioning_storage_clause` 属性定义散列分区以及范围、散列和列表子分区指定存储特征，会忽略该 option。
 - 不支持 `STORE IN (tablespace [, tablespace ]...)` 指定空间，会忽略该 option。
 - 不支持 `table_compression`、`index_compression` 指定是否压缩数据段和索引压缩，会忽略该 option。
 - 不支持 `OVERFLOW STORE IN (tablespace [, tablespace ]...)` 指定空间，会忽略该 option。

 上一篇 下一篇 ![有帮助](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) 咨询热线
