본문 바로가기

IT-Consultant

tablespace, table, index의 단편화 제거




윈도에서 디스크 조각모음과 같다고 생각하면 이해하는데 쉬울 것 같다.
OS가 디스크를 사용하면서 단편화현상이 발생하듯이 오라클사용시에도 이같은 상황이 발생한다. 정확하게 동일하다고 할 순 없지만..

1. dictionary-managed tablespace의 coalesce
AA라는 테이블스페이스의 단편화를 제거

alter tablespace AA coalesce;


2. table내 사용되지 않는 공간의 deallocate

alter table member deallocate unused;


3. index내 사용되지 않는 공간의 deallocate
table과 동일하게 다음과 같이 할 수 있다.

alter index member_pk deallocate ununsed;

하지만 이보다는 rebuild를 사용하는 것이 더 효율적이다.
이것은 기존의 인덱스를 이용하여 인덱스를 재생성하기 때문에 작업의 성능을 향상시킨다.
또한 인덱스가 사용할 테이블스페이스를 변경할 수도 있고, 저장옵션도 변경가능한데 이 부분은
'테이블과 인덱스를 다른 테이블스페이스로 이동하기'강좌를 참조하기 바란다.

alter index member_pk rebuild;