ORA-01632 에러는 index가 확장하려고 할 때 maxextents값의 제한에
도달하여 더 이상 extents를 일으키지 못하는 경우입니다.
이 에러의 경우 보통은 index의 storage절의 initial, next가 작아서
발생하기 때문에 근본적으로 storage의 initial,next를 크게 키워
주면서 다시 만드는 것이 좋습니다.
그러나 현재 다시 생성하는 것이 어렵다면 일단 maxextents만 키워서
사용을 하다가 나중에 작업을 할 수도 있습니다.
maxextents를 키우려면 (이 기능은 7.3이상부터 가능)
SQL> alter index i_dept_deptno storage (maxextents 200);
과 같이 실행하면 됩니다.
위와 같이 index가 일반 index가 아니라 primary key index인 경우는
index만 drop했다가 다시 생성할 수는 없습니다. 그러므로 primary key를
다시 만들면서 지정하거나 index를 rebuild해야 합니다.
일반 index의 경우는 index를 다시 생성하거나 rebuild하면 되는 데,
보통 다시 생성하는 것보다 rebuild하는 것이 속도가 좋습니다.
1. index를 rebuild하는 방법
SQL> alter index pk_dept rebuild
2 tablespace ind_data
3 storage (initial 1M next 1M);
2. primary key생성시 storage지정하는 방법
SQL> alter table dept drop primary key;
SQL> alter table dept add constraint pk_dept
2 primary key (deptno)
3 using index tablespace ind_data
4 storage (initial 1M next 1M);
-- 권경익 님이 쓰신 글:
|