このトピックでは、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 SP1LIST パーティションキー値への値の追加と削除はサポートされていません。これらの操作を実行すると、エラーが返されます。
最後の HASH サブパーティションを選択し、その上のデータをハッシュ関数によって決定された 1 つ以上の残りのサブパーティションに分散し、
coalesce_table_partition句を使用して最後のサブパーティションを削除することはサポートされていません。これらの操作を実行すると、エラーが返されます。
無視される句とオプション
同期された DDL 文で指定された場合、次の句とオプションは無視され、解決または変換されません。
読み取り/書き込みモードを選択するための
read_only_clause句。テーブルパーティションのインデックス属性を変更するための
indexing_clause句。パーティション パラメーター を変更するための
partition_attributes句はサポートされておらず、無視されます。