Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103812779
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Oracle

2008-04-12 17:56:52

   来源:赛迪网技术社区    作者:meitian

1.4. 分区表的维护:

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

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

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

1.4.3. 删除分区:

以下为引用的内容:

SQL> alter table dinya_test drop partition part_01; 
Table altered. 
SQL>

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

1.5. 总结:

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

阅读(268) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~