Oracle 11g维护分区(五)——Merging Partitions


合并分区

使用ALTER TABLE ... MERGE PARTITION语句将两个分区的内容合并到一个分区。原来的两个分区将会被删除,相关的本地索引也会被删除。对于哈希分区表或者复合哈希分区表的哈希子分区,你不能使用这个语句。

对于引用分区表,你不能合并分区。相反,父表的合并操作会级联到所有子表。尽管如此,当你在父表执行合并分区或者子分区操作时,你也可以使用DEPENDENT TABLES子句来为相关表设置特定属性。

如果涉及到的分区或者子分区包含数据,那么索引可能被标识为UNUSABLE,如下表所述:

表类型

索引操作

普通表(堆表) 

除非你在ALTER TABLE语句中指定UPDATE INDEXES字句:

   l  数据库将生成的所有相关本地索引分区或者子分区标识为UNUSABLE

   l  全局索引,或者分区全局索引的所有分区,被标识为UNUSABLE,必须重建。

索引组织表

   l  生成的所有相关本地索引分区标识为UNUSABLE

   l  所有全局索引保持可用。

合并范围分区

你可以将两个相邻的范围分区的内容合并到一个分区。不相邻的范围分区不能合并。合并生成的分区继承了这两个合并分区中更高的上限。

合并范围分区的一个原因是保持在线历史数据在较大的分区。例如,你可以有每日分区,然后将最旧的分区聚合为周分区,进而周分区可以聚合为月分区,等等。

4-31显示了一个合并范围分区的例子。
例4-31 合并范围分区

  1. -- First, create a partitioned table with four partitions, each on its own
  2. -- tablespace partitioned by range on the data column
  3. --

相关内容