すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB for OceanBase (Deprecated):パーティション化

最終更新日:Jan 19, 2025

このトピックでは、Oracle データベースから OceanBase Database の Oracle テナントへのデータ移行中にパーティションを定義するための CREATE TABLE DDL 操作の変換範囲について説明します。

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

サポートされる DDL

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

サポートされない DDL

  • INTERVAL (expr) オプションを使用したパーティション間隔の指定はサポートされていません。このオプションを使用した場合、無視されます。

  • STORE IN (tablespace [, tablespace ]...) オプションを使用した表領域の指定はサポートされていません。このオプションを使用した場合、無視されます。

  • external_part_subpart_data_props オプションを使用した 1 つ以上の外部データソースの指定はサポートされていません。このオプションを使用した場合、無視されます。

  • table_partition_description オプションを使用したパーティションテーブルの物理特性およびストレージ特性の指定はサポートされていません。このオプションを使用した場合、無視されます。

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

サポートされる DDL

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")
 );

サポートされない DDL

  • AUTOMATIC オプションを使用した自動 LIST パーティション作成の指定はサポートされていません。このオプションを使用した場合、無視されます。

  • STORE IN (tablespace [, tablespace ]...) オプションを使用した表領域の指定はサポートされていません。このオプションを使用した場合、無視されます。

  • external_part_subpart_data_props オプションを使用した 1 つ以上の外部データソースの指定はサポートされていません。このオプションを使用した場合、無視されます。

  • table_partition_description オプションを使用したパーティションテーブルの物理特性およびストレージ特性の指定はサポートされていません。このオプションを使用した場合、無視されます。

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

サポートされる DDL

  • individual_hash_partitions オプションを使用した HASH パーティションの定義がサポートされています。詳細については、「ユーザー定義パーティション」をご参照ください。

  • partitioning_storage_clause 句を使用した HASH パーティション数の定義がサポートされています。HASH パーティション数の定義には、PARTITION BY HASH (column [, column ] ...) PARTITIONS hash_partition_quantity オプションのみがサポートされています。次に例を示します。

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

サポートされない DDL

partitioning_storage_clause 句を使用する次の操作はサポートされていません。

  • INDEXING { ON | OFF } オプションを使用したテーブル、パーティション、またはサブパーティションのインデックス属性の指定。このオプションを使用した場合、無視されます。

  • partitioning_storage_clause 句を使用した HASH パーティションおよび RANGE、HASH、LIST サブパーティションのストレージ特性の指定。この句を使用した場合、無視されます。

  • STORE IN (tablespace [, tablespace ]...) オプションを使用した表領域の指定。このオプションを使用した場合、無視されます。

  • table_compression オプションと index_compression オプションを使用したデータセグメントとインデックスの圧縮の指定。これらのオプションを使用した場合、無視されます。

  • OVERFLOW STORE IN (tablespace [, tablespace ]...) オプションを使用した表領域の指定。このオプションを使用した場合、無視されます。