打印本文 打印本文 关闭窗口 关闭窗口
Oracle中分区表的使用
作者:武汉SEO闵涛  文章来源:敏韬网  点击数1977  更新时间:2009/4/22 22:04:10  文章录入:mintao  责任编辑:mintao
tics

----------------------------------------------------------

          5  recursive calls

          0  db block gets

         10  consistent gets

          0  physical reads

          0  redo size

        420  bytes sent via SQL*Net to client

        309  bytes received via SQL*Net from client

          2  SQL*Net roundtrips to/from client

          3  sorts (memory)

          0  sorts (disk)

          5  rows processed

 

SQL>

   

4         分区表的维护:

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

4.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 错误。

   

4.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 错误。

 

4.3     删除分区:

SQL> alter table dinya_test drop partition part_01;

Table altered.

SQL>

 

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

 

5         总结:

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

 

上一页  [1] [2] [3] [4] 

打印本文 打印本文 关闭窗口 关闭窗口