交换分区

将分区交换/转换为非分区表,反之亦然。这有利于数据段之间数据的快速移动(与执行“insert … select”或“create table … as select”相反),因为操作是 DDL(分区交换操作是数据)字典更新而不移动实际数据)而不是 DML(大型撤消/重做开销)。

最基本的例子:

  1. 将非分区表(表 B)转换为分区(表 A):

A 不包含分区“OLD_VALUES”中的数据,表 B 包含数据

ALTER TABLE "A" EXCHANGE PARTITION "OLD_VALUES" WITH TABLE "B";

结果:数据从表 B(操作后不包含数据)移动到分区“OLD_VALUES”

  1. 将分区转换为非分区表:

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 ”(交换分区部分)