全部產品
Search
文件中心

ApsaraDB for OceanBase:自訂分區

更新時間:Jul 01, 2024

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

自訂 range 分區

自訂 range 分區 range_partition_desc 的文法如下:

PARTITION [partition]
range_values_clause
table_partition_description
[ ( { range_subpartition_desc [, range_subpartition_desc] ...
    | list_subpartition_desc [, list_subpartition_desc] ...
    | individual_hash_subparts [, individual_hash_subparts] ...
    }
  ) | hash_subparts_by_quantity ]
 
table_partition_description:
  [ { INTERNAL | EXTERNAL } ]
[ deferred_segment_creation ]
[ read_only_clause ]
[ indexing_clause ]
[ segment_attributes_clause ]
[ table_compression | prefix_compression ]
[ inmemory_clause ]
[ ilm_clause ]
[ OVERFLOW [ segment_attributes_clause ] ]
[ { LOB_storage_clause
  | varray_col_properties
  | nested_table_col_properties
  }...
]
  • 支援自訂 range 一級分區和自訂 range/list/hash 二級分區。

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

自訂 list 分區

自訂 list 分區 list_partition_desc 的文法如下:

PARTITION [partition]
list_values_clause
table_partition_description
  [ ( range_subpartition_desc [, range_subpartition_desc]...
      | list_subpartition_desc, [, list_subpartition_desc]...
      | individual_hash_subparts [, individual_hash_subparts]...
    )
    | hash_subparts_by_quantity
  ]
  • 支援自訂 list 一級分區和自訂 range/list/hash 二級分區。

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

自訂 hash 一級分區

自訂 hash 一級分區 individual_hash_partitions 的文法如下:

( PARTITION [partition_name] [read_only_clause] [indexing_clause] [partitioning_storage_clause]
  [, PARTITION [partition] {read_only_clause] [indexing_clause] [partitioning_storage_clause]]... )

read_only_clause: 
{ READ ONLY } | { READ WRITE }

indexing_clause:
INDEXING { ON | OFF }

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
  }...
]
  • 支援 PARTITION [partition_name] 子句定義自訂 hash 分區。

  • 不支援 read_only_clause 指定以唯讀或讀/寫入模式建立表、分區或子分區,忽略該 option。

  • 不支援指定 INDEXING { ON | OFF } 設定表、表分區或表子分區的索引屬性,忽略該 option。

  • 不支援指定 partitioning_storage_clause 屬性定義散列分區以及範圍、散列和列表子分區指定儲存特徵,忽略該 option。

指定 hash 一級分區數量

指定 hash 一級分區數量 hash_partitions_by_quantity 的文法如下:

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

table_compression:
COMPRESS
| ROW STORE COMPRESS [ BASIC | ADVANCED ]
| COLUMN STORE COMPRESS [  FOR { QUERY | ARCHIVE } [ LOW | HIGH ] ]
  [ [NO] ROW LEVEL LOCKING ]
| NOCOMPRESS

index_compression:
{ prefix_compression
| advanced_index_compression
}

prefix_compression:
COMPRESS [ integer ] | NOCOMPRESS 

advanced_index_compression:
{ COMPRESS ADVANCED [ LOW | HIGH ] } | NOCOMPRESS
  • 支援 PARTITIONS hash_partition_quantity 子句定義 hash 分區數量。

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

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

  • 不支援 table_compressionindex_compression 指定是否壓縮資料區段和索引壓縮,忽略該 option。

自訂 range 二級分區

自訂 range 二級分區 range_subpartition_desc 的文法如下:

SUBPARTITION [subpartition_name] range_values_clause
  [read_only_clause] [indexing_clause] [partitioning_storage_clause]
  [external_part_subpart_data_props]

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

read_only_clause: 
{ READ ONLY } | { READ WRITE }

indexing_clause:
INDEXING { ON | OFF }

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

external_part_subpart_data_props:
[ DEFAULT DIRECTORY directory ]
[ LOCATION
   ([ directory: ] 'location_specifier'
      [, [ directory: ] 'location_specifier' ]...
   )
]
  • 支援 SUBPARTITION [subpartition_name] range_values_clause 子句定義二級分區。樣本如下:

    SUBPARTITION VALUES LESS THAN (MAXVALUE)
  • 不支援 read_only_clause 指定以唯讀或讀/寫入模式建立表、分區或子分區,忽略該 option。

  • 不支援 indexing_clause 設定表、表分區或表子分區的索引屬性,忽略該 option。

  • 不支援 partitioning_storage_clause 屬性定義散列分區以及範圍、散列和列表子分區指定儲存特徵,忽略該 option。

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

自訂 list 二級分區

自訂 list 二級分區 list_subpartition_desc 的文法如下:

SUBPARTITION [subpartition_name] list_values_clause
  [read_only_clause] [indexing_clause] [partitioning_storage_clause]
  [external_part_subpart_data_props]

list_values_clause:
VALUES ( list_values | DEFAULT )

read_only_clause: 
{ READ ONLY } | { READ WRITE }

indexing_clause:
INDEXING { ON | OFF }

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

external_part_subpart_data_props:
[ DEFAULT DIRECTORY directory ]
[ LOCATION
   ([ directory: ] 'location_specifier'
      [, [ directory: ] 'location_specifier' ]...
   )
]
  • 支援 SUBPARTITION [subpartition_name] list_values_clause 子句定義自訂的 list 二級分區。樣本如下:

    SUBPARTITIONS P0 VALUES (DEFAULT)
  • 不支援 read_only_clause 指定以唯讀或讀/寫入模式建立表、分區或子分區,會忽略該 option。

  • 不支援 indexing_clause 設定表、表分區或表子分區的索引屬性,會忽略該 option。

  • 不支援 partitioning_storage_clause 屬性定義散列分區以及範圍、散列和列表子分區指定儲存特徵,會忽略該 option。

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

自訂 hash 二級分區

自訂 hash 二級分區 individual_hash_subparts 的文法如下:

SUBPARTITION [subpartition_name] [read_only_clause] [indexing_clause] [partitioning_storage_clause]

read_only_clause: 
{ READ ONLY } | { READ WRITE }

indexing_clause:
INDEXING { ON | OFF }

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
  }...
]
  • 支援 SUBPARTITION [subpartition_name] 子句定義自訂 hash 二級分區。樣本如下:

    (SUBPARTITION SP0,SUBPARTITION SP1)
  • 不支援 read_only_clause 指定以唯讀或讀/寫入模式建立表、分區或子分區,會忽略該 option。

  • 不支援指定 INDEXING { ON | OFF } 設定表、表分區或表子分區的索引屬性,會忽略該 option。

  • 不支援指定 partitioning_storage_clause 屬性定義散列分區以及範圍、散列和列表子分區指定儲存特徵,會忽略該 option。

指定 hash 二級分區數量

指定 hash 二級分區數量 hash_subparts_by_quantity 的文法如下:

SUBPARTITIONS integer [STORE IN ( tablespace [, tablespace]... )]
  • 支援 SUBPARTITIONS integer 子句,指定hash二級分區數量。樣本如下:

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