交换分区
将分区交换/转换为非分区表,反之亦然。这有利于数据段之间数据的快速移动(与执行“insert … select”或“create table … as select”相反),因为操作是 DDL(分区交换操作是数据)字典更新而不移动实际数据)而不是 DML(大型撤消/重做开销)。
最基本的例子:
- 将非分区表(表
B
)转换为分区(表A
):
表 A
不包含分区“OLD_VALUES”中的数据,表 B
包含数据
ALTER TABLE "A" EXCHANGE PARTITION "OLD_VALUES" WITH TABLE "B";
结果:数据从表 B
(操作后不包含数据)移动到分区“OLD_VALUES”
- 将分区转换为非分区表:
表 A
包含分区“OLD_VALUES”中的数据,表 B
不包含数据
ALTER TABLE "A" EXCHANGE PARTITION "OLD_VALUES" WITH TABLE "B";
结果:数据从分区“OLD_VALUES”(操作后不包含数据)移动到表 B
注意:此操作还有许多其他选项,功能和限制
更多信息可以在这个链接上找到 —>“ https://docs.oracle.com/cd/E11882_01/server.112/e25523/part_admin002.htm#i1107555 ”(交换分区部分)