分裂分区¶
分裂分区:可以将一个子分区表中的内容重新分配到两个新分区表中。分裂分区的益处是当分区表变得太大时,备份、恢复或维护操作需要花很长时间才能完成;或就是简单的认为分区表中的数据太多。也可以使用SPLIT PARTITION 子句重新分配 I/O 负载。此子句不能用于一级哈希子分区表和二级哈希子分区表。
分裂范围分区
指定的分裂值要小于待分裂分区的分区键值,并大于与待分裂分区相邻的序号小的范围子分区表的分区键值,如:分区表有子分区表P1、P2、P3、P4,如果分裂P3,则给定的分裂值必须要小于P3的分区键值并大于P2的分区键值。生成的两个新分区表中的第一个子分区表包括原分区表中对应分区键的值小于分裂值的所有行;第二个子分区表包含原分区表中对应分区键的值大于或等于分裂值的所有行。可以为分裂生成的两个新分区表指定新的物理属性。如果在表上定义有局部分区索引,此语句还将分裂每个局部分区索引中对应的分区。
分裂列表分区
分裂后的第一个新分区表的分区键值是用户指定的分裂值,第二个新分区表的分区键值为原分区表的分区键值与分裂值的差集。数据库会按照两个新分区表的分区键值将原分区表中的数据分发到两个新分区表中。如果分裂default子分区表,得到的第一个子分区表的分区键值为分裂值,第二个子分区表为default子分区表。
分裂间隔分区
只允许分裂已经存在的间隔子分区表。若分裂间隔子分区表,指定的分裂值需要小于待分裂间隔子分区表的分区键值。生成的两个新分区表中的第一个子分区表包括原分区表中对应分区键的值小于分裂值的所有行;第二个子分区表包含原分区表中对应分区键的值大于或等于分裂值的所有行。可以为分裂生成的两个新分区表指定新的物理属性。分裂分区操作会将过渡点变为待分裂的间隔子分区表的分区键值,所有分区键值小于新分区表的已经存在的间隔子分区表都将会自动的转换为范围子分区表。
类似的方法可以应用至二级子分区表。不能显式地拆分局部分区索引的分区。局部分区索引会在分裂分区表的分区时自动分裂。若待分裂的分区中含有数据,则索引可能被标记为UNUSABLE状态。