技术开发 频道

ORACLE分区表的操作应用

    5. 分区表的维护:

    了解了分区表的建立、索引的建立、表和索引的使用后,在应用的还要经常对分区进行维护和管理。日常维护和管理的内容包括:增加一个分区,合并一个分区及删除分区等等。下面以范围分区为例说明增加、合并、删除分区的一般操作:

    5.1. 增加一个分区:

SQL> alter table dinya_test 2 add partition part_04 values less than(to_date(’2012-01-01’,’yyyy-mm-dd’)) tablespace dinya_spa ce03; Table altered. SQL>

    增加一个分区的时候,增加的分区的条件必须大于现有分区的最大值,否则系统将提示ORA-14074 partition bound must collate higher than that of the last partition 错误。

    5.2. 合并一个分区:

SQL> alter table dinya_test merge partitions part_01,part_02 into partition part_02; Table altered. SQL>

     在本例中将原有的表的part_01分区和part_02分区进行了合并,合并后的分区为part_02,(这里重新命名个别的名字也可以)如果在合并的时候把合并后的分区定为part_01的时候,系统将提示ORA-14275 cannot reuse lower-bound partition as resulting partition 错误。

    5.3. 删除分区:

SQL> alter table dinya_test drop partition part_01;

    删除分区表的一个分区后,查询该表的数据时显示,该分区中的数据已全部丢失,所以执行删除分区动作时要慎重,确保先备份数据后再执行,或将分区合并。

    5.4. 拆分分区:

alter table timestamps split partition p1 at (to_date('2003-01-01','yyyy-mm-dd'))into (partition px tablespace ts3, partition py tablespace ts3);

    将P1分区拆分成PX,PY两个分区,分界点是to_date('2003-01-01','yyyy-mm-dd')。

     总结:

    需要说明的是,本文在举例说名分区表事务操作的时候,都指定了分区,因为指定了分区,系统在执行的时候则只操作该分区的记录,提高了数据处理的速度。不要指定分区直接操作数据也是可以的。在分区表上建索引及多索引的使用和非分区表一样。此外,因为在维护分区的时候可能对分区的索引会产生一定的影响,可能需要在维护之后重建索引,相关内容请参考分区表索引部分的文档

0
相关文章