아래 테스트를 보시면 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.
+ 참고
'Oracle Database' 카테고리의 다른 글
오라클 테스트 환경 만들기 (0) | 2010.11.29 |
---|---|
Oracle Begin backup에 대한 몇몇 궁금한 사항. (0) | 2010.11.25 |
TRUSS 명령과 SQLNET tracing 설정 방법 (0) | 2010.11.04 |
Oracle UTL_FILE을 이용한 데이터 loading의 간단한 예제 (0) | 2010.11.03 |
DBMS_JOB으로 만들어진 JOB의 interval을 1초로 지정해도 5초 정도의 interval을 갖는다? (0) | 2010.10.12 |