本文为您介绍迁移 Oracle 数据库的数据至 OceanBase 数据库 Oracle 租户时,ALTER TABLE DDL 添加分区和子分区的支持转换范围。
总览
add_table_partition:
ADD {
PARTITION [ partition ] add_range_partition_clause
[, PARTITION [ partition ] add_range_partition_clause ]...
| PARTITION [ partition ] add_list_partition_clause
[, PARTITION [ partition ] add_list_partition_clause ]...
| PARTITION [ partition ] add_system_partition_clause
[, PARTITION [ partition ] add_system_partition_clause ]...
[ BEFORE { partition_name | partition_number } ]
| PARTITION [ partition ] add_hash_partition_clause
} [ dependent_tables_clause ]
add_range_partition_clause:
range_values_clause
[ table_partition_description ]
[ external_part_subpart_data_props ]
[ ( { range_subpartition_desc [, range_subpartition_desc] ...
| list_subpartition_desc [, list_subpartition_desc] ...
| individual_hash_subparts [, individual_hash_subparts] ...
}
) | hash_subparts_by_quantity ]
[ update_index_clauses ]
add_list_partition_clause:
list_values_clause
[ table_partition_description ]
[ external_part_subpart_data_props ]
[ ( { range_subpartition_desc [, range_subpartition_desc] ...
| list_subpartition_desc [, list_subpartition_desc] ...
| individual_hash_subparts [, individual_hash_subparts] ...
}
) | hash_subparts_by_quantity ]
[ update_index_clauses ]
add_system_partition_clause:
[table_partition_description]
[update_index_clauses]
add_hash_partition_clause:
partitioning_storage_clause
[ update_index_clauses ]
[ parallel_clause ]
[ read_only_clause ]
[ indexing_clause ]
dependent_tables_clause:
DEPENDENT TABLES
( table ( partition_spec [, partition_spec]...
[, table ( partition_spec [, partition_spec]...) ]
)
)
支持的范围
支持新增 list、range 分区。
支持新增 list、range 子分区。
不支持的范围
不支持新增 hash 分区,会报错。
不支持新增 hash 子分区,会报错。
不支持新增 system 分区,会报错。
忽略的属性
说明
如果同步的 DDL 中包含以下属性的定义,则这些属性不会被解析和转换,最终会被忽略。
dependent_tables_clause
子句指定分区属性,会忽略该 option。update_index_clauses
子句更新表中的索引,会忽略该 option。