Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1117884
  • 博文数量: 231
  • 博客积分: 2500
  • 博客等级: 少校
  • 技术积分: 2662
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-03 16:35
个人简介

学无止境

文章分类

全部博文(231)

文章存档

2014年(7)

2013年(103)

2011年(11)

2010年(53)

2009年(57)

分类: Oracle

2013-09-24 10:06:40

维护索引分区的一些操作:

维护操作

索引类型

索引分区类型

范围分区

哈希和列表分区

组合分区

增加索引分区

Global

-

ADD PARTITION (hash only)

-

Local

n/a

n/a

n/a

删除索引分区

Global

DROP PARTITION

-

-

Local

n/a

n/a

n/a

修改索引分区的默认属性

Global

MODIFY DEFAULT ATTRIBUTES

-

-

Local

MODIFY DEFAULT ATTRIBUTES

MODIFY DEFAULT ATTRIBUTES

MODIFY DEFAULT ATTRIBUTES

MODIFY DEFAULT ATTRIBUTES FOR PARTITION

修改索引分区的实时属性

Global

MODIFY PARTITION

-

-

Local

MODIFY PARTITION

MODIFY PARTITION

MODIFY PARTITION

MODIFY SUBPARTITION

重建索引分区

Global

REBUILD PARTITION

-

-

Local

REBUILD PARTITION

REBUILD PARTITION

REBUILD SUBPARTITION

重命名索引分区

Global

RENAME PARTITION

-

-

Local

RENAME PARTITION

RENAME PARTITION

RENAME PARTITION

RENAME SUBPARTITION

分裂索引分区

Global

SPLIT PARTITION

-

-

Local

n/a

n/a

n/a


1.增加索引分区:

增加索引分区,只对全局类型的哈希索引有效。
ALTER INDEX IDX_G_PTAB1 ADD PARTITION p8;

2.删除索引分区:
删除索引只对全局类型的范围分区索引有效。如果当前分区没有数据可以直接删除,如果当前分区有数据,删除该索引分区,会导致下一个分区无效。
ALTER INDEX IDX_G_PTAB1 DROP PARTITION p4;

3.修改索引分区的默认属性:
修改索引分区的默认属性,只对全局类型的范围分区和局部索引有效。对之后增加的索引分区才产生效果。
ALTER INDEX IDX_G_PTAB2 MODIFY DEFAULT ATTRIBUTES FOR PARTITION p1 TABLESPACE ldytbs;
ALTER INDEX IDX_G_PTAB1 MODIFY DEFAULT ATTRIBUTES TABLESPACE ldytbs;

4.修改索引分区的实时属性:
修改索引分区的实时属性,不能带上重建无效索引的子句。
ALTER INDEX IDX_G_PTAB1 MODIFY PARTITION p1 deallocate unused;
ALTER INDEX IDX_G_PTAB1 MODIFY PARTITION p1 unusable;

5.重建索引分区:
分区索引的重建,必须要每个分区逐个rebuild,或者将整个索引删除重建。
ALTER INDEX IDX_G_PTAB1 rebuild partition p1;
ALTER INDEX IDX_G_PTAB1 rebuild partition p2;
或者使用修改表的命令重建无效的本地索引:
ALTER TABLE part_tab1 MODIFY PARTITION p001 REBUILD UNUSABLE LOCAL INDEXES;

6.重命名索引分区:
ALTER INDEX IDX_L_PTAB1 RENAME PARTITION p001 TO p1;
ALTER INDEX IDX_L_PTAB2 RENAME SUBPARTITION SUBP001 TO p001;

7.分裂索引分区:
分裂索引分区只对全局类型的范围分区索引有效。
ALTER INDEX IDX_G_PTAB1 SPLIT
PARTITION pmax at (TO_DATE('2013-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS')) INTO
(
PARTITION p8,
PARTITION pmax
);

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