全部產品
Search
文件中心

ApsaraDB for OceanBase:一級分區

更新時間:Jul 01, 2024

本文為您介紹遷移 Oracle 資料庫的資料至 OceanBase 資料庫 Oracle 租戶時,CREATE TABLE DDL 一級分區的支援轉換範圍。

range 分區

range 分區 range_partitions 的文法如下:

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 分區。樣本如下:

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 分區的文法如下:

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] )

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

支援的範圍

支援 PARTITION BY LIST ( column [, column]... ) (PARTITION [ partition ] list_values_clause)子句定義 list 分區。樣本如下:

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

不支援的範圍

  • 不支援 AUTOMATIC 定義自動建立 list 分區,會忽略該 option。

  • 不支援 [ STORE IN ( tablespace [, tablespace ]... ) ] 子句指定分區的空間,會忽略該 option。

  • 不支援 external_part_subpart_data_props 子句定義指定一個或多個外部資料源,會忽略該 option。

  • 不支援 table_partition_description 子句定義分區表的物理和儲存特徵,會忽略該 option。

hash 分區

hash 分區的文法如下:

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 分區,詳情請參見 自訂分區

  • 支援 partitioning_storage_clause 子句定義 hash 分區數量,僅支援 PARTITION BY HASH (column [, column ] ...) PARTITIONS hash_partition_quantity 子句定義 hash 分區數量。樣本如下:

    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_compressionindex_compression 指定是否壓縮資料區段和索引壓縮,會忽略該 option。

  • 不支援 OVERFLOW STORE IN (tablespace [, tablespace ]...) 指定空間,會忽略該 option。