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

ApsaraDB for OceanBase (Deprecated):パーティションの変更

最終更新日:Jan 19, 2025

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

構文

modify_table_partition:
{ modify_range_partition
| modify_hash_partition
| modify_list_partition
}

modify_range_partition:
MODIFY partition_extended_name
   { partition_attributes
   | { add_range_subpartition
     | add_hash_subpartition
     | add_list_subpartition
     }
   | coalesce_table_subpartition
   | alter_mapping_table_clause
   | [ REBUILD ] UNUSABLE LOCAL INDEXES
   | read_only_clause
   | indexing_clause
   }

modify_hash_partition:
MODIFY partition_extended_name
  { partition_attributes
  | coalesce_table_subpartition
  | alter_mapping_table_clause
  | [ REBUILD ] UNUSABLE LOCAL INDEXES
  | read_only_clause
  | indexing_clause
  }

modify_list_partition:
MODIFY partition_extended_name
  { partition_attributes
  | { ADD | DROP } VALUES ( list_values )
  | { add_range_subpartition
    | add_list_subpartition
    | add_hash_subpartition 
    }
  | coalesce_table_subpartition
  | [ REBUILD ] UNUSABLE LOCAL INDEXES
  | read_only_clause
  | indexing_clause
  }

partition_attributes:
[ { physical_attributes_clause
  | logging_clause
  | allocate_extent_clause
  | deallocate_unused_clause
  | shrink_clause
  }...
]
[ OVERFLOW
  { physical_attributes_clause
  | logging_clause
  | allocate_extent_clause
  | deallocate_unused_clause
  }...
]
[ table_compression ]
[ inmemory_clause ]
[ { { LOB LOB_item | VARRAY varray } (modify_LOB_parameters) }...]

coalesce_table_subpartition:
COALESCE SUBPARTITION subpartition
  [update_index_clauses]
  [parallel_clause]
  [allow_disallow_clustering]

read_only_clause:
{ READ ONLY } | { READ WRITE }

indexing_clause:
INDEXING { ON | OFF }

サポートされている操作

  • パーティション名指定による、パーティションへの LIST、RANGE、および HASH サブパーティションの追加がサポートされています。サンプルコード:

    ALTER TABLE T MODIFY PARTITION P0 ADD SUBPARTITION SP0;
    ALTER TABLE T MODIFY PARTITION P0 ADD SUBPARTITION VALUES(100);
    ALTER TABLE T MODIFY PARTITION P0 ADD SUBPARTITION VALUES LESS THAN(100);
  • UPDATE GLOBAL INDEXES 句を使用した、テーブル内のインデックスの更新がサポートされています。

サポートされていない操作

  • パーティションキー値を指定した、パーティションへの LIST、RANGE、および HASH サブパーティションの追加はサポートされていません。これらの操作を実行すると、エラーが返されます。サンプルコード:

    ALTER TABLE T MODIFY PARTITION FOR(1000) ADD SUBPARTITION SP1
  • LIST パーティションキー値への値の追加と削除はサポートされていません。これらの操作を実行すると、エラーが返されます。

  • 最後の HASH サブパーティションを選択し、その上のデータをハッシュ関数によって決定された 1 つ以上の残りのサブパーティションに分散し、coalesce_table_partition 句を使用して最後のサブパーティションを削除することはサポートされていません。これらの操作を実行すると、エラーが返されます。

無視される句とオプション

説明

同期された DDL 文で指定された場合、次の句とオプションは無視され、解決または変換されません。

  • 読み取り/書き込みモードを選択するための read_only_clause 句。

  • テーブルパーティションのインデックス属性を変更するための indexing_clause 句。

  • パーティション パラメーター を変更するための partition_attributes 句はサポートされておらず、無視されます。