Oracle 11g维护分区(四)Exchanging Partitions
程序员文章站
2022-06-16 19:07:13
...
当你交换分区时,日志属性将被保留。你可以指定本地索引是否也进行交换(INCLUDING INDEXES子句),并且可以指定行是否以合适的映射
交换分区
注意:
为了避免这种情况下验证操作的开销,在执行交换分区操作之前为每个约束执行以下语句:
然后,在交换分区操作完成后,重新启用约束。
交换一个范围、哈希或列表分区 交换间隔分区表的一个分区你可以在一个间隔分区表中交换间隔分区。但是,你必须确保在交换分区之前该间隔分区已经创建。你可以让数据库通过锁定间隔分区来创建分区。
交换引用分区表的一个分区你可以在一个引用分区表中交换分区,但是你必须确保在父表的相应分区中你引用的数据是可用的。
交换表的一个分区和虚拟列你可以在包含虚拟列的情况下进行交换分区。为了使包含虚拟列的分区表的分区交换成功,你必须创建一个表,该表需要匹配分表中一个分区的所有非虚拟列的定义。你并不需要包括虚拟列定义,除非虚拟列上定义的有约束或者索引。
在这种情况下,你必须包含虚拟列定义,用来匹配分区表的约束和索引定义。该方案也适用于基于虚拟列的分区表。
首先,,创建一个哈希分区表:
填充该表后,创建一个范围哈希分区表,如下:
交换复合哈希分区表的一个子分区
交换一个列表分区表和一个复合列表分区 交换复合列表分区表的一个子分区
ALTER TABLE ... EXCHANGE SUBPARTITION语句的含义和上面“交换复合哈希分区表的一个子分区”章节的描述是一样的。
接下来,交换分区。需要注意的是,由于要交换一个间隔分区,因此首先要锁定该分区以确保该分区被创建。
交换复合范围分区表的一个子分区ALTER TABLE ... EXCHANGE SUBPARTITION语句的含义和上面“交换复合哈希分区表的一个子分区”章节的描述是一样的。
推荐阅读
-
Oracle 11g维护分区(三)Dropping Partitions
-
Oracle 11g维护分区(四)Exchanging Partitions
-
Oracle 11g维护分区(五)Merging Partitions
-
Oracle 11g维护分区(六)Modifying Default Attributes
-
Oracle 11g维护分区(七)Modifying Real Attributes of Partitions
-
Oracle 11g维护分区(八)Renaming Partitions
-
Oracle 11g维护分区(七)Modifying Real Attributes of Partitions
-
Oracle分区之四:分区维护和管理
-
Oracle 11g维护分区(一)Adding Partitions
-
Oracle 11g维护分区(八)Renaming Partitions