本文為您介紹遷移 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
子句修改分區參數,會忽略。