当前位置:Gxlcms > mysql > Oracle11g维护分区(四)ExchangingPartitions

Oracle11g维护分区(四)ExchangingPartitions

时间:2021-07-01 10:21:17 帮助过:77人阅读

当你交换分区时,日志属性将被保留。你可以指定本地索引是否也进行交换(INCLUDING INDEXES子句),并且可以指定行是否以合适的映射

交换分区

注意:

为了避免这种情况下验证操作的开销,在执行交换分区操作之前为每个约束执行以下语句:

然后,在交换分区操作完成后,重新启用约束。

交换一个范围、哈希或列表分区 交换间隔分区表的一个分区

你可以在一个间隔分区表中交换间隔分区。但是,你必须确保在交换分区之前该间隔分区已经创建。你可以让数据库通过锁定间隔分区来创建分区。

交换引用分区表的一个分区

你可以在一个引用分区表中交换分区,但是你必须确保在父表的相应分区中你引用的数据是可用的。

交换表的一个分区和虚拟列

你可以在包含虚拟列的情况下进行交换分区。为了使包含虚拟列的分区表的分区交换成功,你必须创建一个表,该表需要匹配分表中一个分区的所有非虚拟列的定义。你并不需要包括虚拟列定义,除非虚拟列上定义的有约束或者索引。

在这种情况下,你必须包含虚拟列定义,用来匹配分区表的约束和索引定义。该方案也适用于基于虚拟列的分区表。

交换一个哈希分区表和一个复合哈希分区

首先,,创建一个哈希分区表:

填充该表后,创建一个范围哈希分区表,如下:

交换复合哈希分区表的一个子分区

交换一个列表分区表和一个复合列表分区 交换复合列表分区表的一个子分区

ALTER TABLE ... EXCHANGE SUBPARTITION语句的含义和上面“交换复合哈希分区表的一个子分区”章节的描述是一样的。

交换一个范围分区表和一个复合范围分区

接下来,交换分区。需要注意的是,由于要交换一个间隔分区,因此首先要锁定该分区以确保该分区被创建。

交换复合范围分区表的一个子分区

ALTER TABLE ... EXCHANGE SUBPARTITION语句的含义和上面“交换复合哈希分区表的一个子分区”章节的描述是一样的。

本文永久更新链接地址

人气教程排行