学无止境
分类: 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 |
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
);