http://energ.tistory.com/entry/Oracle-LOCAL-INDEX-DROP-%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95
Oracle LOCAL INDEX를 drop하는 방법은 없습니다. ㅋ
아래 테스트를 보시면 local partition index로 만들어진 index는 drop이 되지 않는 군요..
LOCAL partition index는 partition table의 구조를 참조해서 만들어 지기 때문에 drop이 되지 않습니다.
그러나 Global partition index는 자신만의 구조를 갖기 때문에 drop이 가능합니다..
+ LOCAL INDEX
SQL> create table p_emp (sal number(10))
2 partition by range (sal)
3 (partition emp_p1 values less than (2000),
4 partition emp_p2 values less than (3000),
5 partition emp_max values less than (maxvalue));
Table created.
SQL> create index p_emp_i on p_emp (sal) local;
Index created.
SQL> alter index p_emp_i drop partition emp_p1;
alter index p_emp_i drop partition emp_p1
*
ERROR at line 1:
ORA-14076: submitted alter index partition/subpartition operation is not valid for local partitioned index
+ GLOBAL INDEX
1 create table p_emp (empno number(4), sal number(10))
2 partition by range (sal)
3 (partition emp_p1 values less than (2000),
4 partition emp_p2 values less than (3000),
5* partition emp_pmax values less than (maxvalue))
SQL> /
Table created.
1 create index p_emp_i on p_emp (sal)
2 global partition by range (sal)
3 (partition emp_p1 values less than (2000),
4 partition emp_p2 values less than (3000),
5* partition emp_max values less than (maxvalue))
SQL> /
Index created.
SQL>
SQL> alter index p_emp_i drop partition emp_p2;
Index altered.
+ 참고
SQL> create table p_emp (sal number(10))
2 partition by range (sal)
3 (partition emp_p1 values less than (2000),
4 partition emp_p2 values less than (3000),
5 partition emp_max values less than (maxvalue));
Table created.
SQL> create index p_emp_i on p_emp (sal) local;
Index created.
SQL> alter index p_emp_i drop partition emp_p1;
alter index p_emp_i drop partition emp_p1
*
ERROR at line 1:
ORA-14076: submitted alter index partition/subpartition operation is not valid for local partitioned index
+ GLOBAL INDEX
1 create table p_emp (empno number(4), sal number(10))
2 partition by range (sal)
3 (partition emp_p1 values less than (2000),
4 partition emp_p2 values less than (3000),
5* partition emp_pmax values less than (maxvalue))
SQL> /
Table created.
1 create index p_emp_i on p_emp (sal)
2 global partition by range (sal)
3 (partition emp_p1 values less than (2000),
4 partition emp_p2 values less than (3000),
5* partition emp_max values less than (maxvalue))
SQL> /
Index created.
SQL>
SQL> alter index p_emp_i drop partition emp_p2;
Index altered.
+ 참고
'wif LiNoUz > Oracle,Sql' 카테고리의 다른 글
dw에서는 로컬인덱스가 일반적 (0) | 2014.06.16 |
---|---|
오라클 파티션 정의 (0) | 2014.06.15 |
로컬 인덱스, 글로벌 인덱스 (0) | 2014.06.15 |
파티셔닝 인덱스 관련 (0) | 2014.06.14 |
I. 오라클 파티션 정의 (0) | 2014.06.14 |