本文为您介绍迁移 Oracle 数据库的数据至 OceanBase 数据库 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 分区键值中新增、删除 values,会报错。
不支持
coalesce_table_subpartition
子句最后一个 hash 子分区,将其内容分布至一个或多个剩余子分区,然后删除最后一个子分区,会报错。
忽略的属性
说明
如果同步的 DDL 中包含以下属性的定义,则这些属性不会被解析和转换,最终会被忽略。
不支持
read_only_clause
选择读写模式,会忽略。不支持
indexing_clause
子句修改表分区的索引属性,会忽略。不支持
partition_attributes
子句修改分区参数,会忽略。