반응형

■ High Water Mark (HWM) 처리 방식

  • shrink space: 테이블의 데이터가 차지하는 최대 영역인 High Water Mark (HWM)까지 공간 줄임. 즉, 사용하지 않는 공간을 회수하지만 HWM은 그대로 유지.
  • shrink space compact: HWM을 실제 데이터가 끝나는 지점까지 이동시켜 불필요한 공간을 완전히 회수.


■ 데이터 이동 여부

  • shrink space: 데이터를 이동시키지 않고 단순히 사용하지 않는 공간을 표시하여 회수.
  • shrink space compact: 데이터를 이동시켜 공간을 재정렬. 이 과정에서 I/O가 발생하고 성능 저하 가능.


■  수행 시간

  • shrink space: 데이터 이동이 없기 때문에 일반적으로 shrink space compact보다 빠르게 수행.
  • shrink space compact: 데이터를 이동시키기 때문에 수행 시간이 더 오래 걸림. 특히 데이터 양이 많은 테이블의 경우 더욱 더 그러함.


■  적용 시기

  • shrink space: 테이블에서 많은 데이터를 삭제한 후 불필요한 공간을 회수하고 싶을 때 사용.
  • shrink space compact: 테이블의 분절화가 심하거나 공간을 최대한 확보해야 할 때 사용.


■  적용 대상

  • 현재 위치(in-place)에서 처리되는 온라인 작업
  • ASSM 테이블스페이스에 상주하는 세그먼트에만 해당
  • 후보 세그먼트 유형:
    - 힙 구성 테이블 및 인덱스 구성 테이블
    - 인덱스
    - Partition 및 Subpartition
    - Materialized View 및 Materialized View 로그


■  추가 옵션

  • CASCADE: 종속된 오브젝트(인덱스 등)도 함께 축소.
  • RESUMABLE: 작업을 중단하고 나중에 다시 시작.
-- 세그먼트에서 행 이동을 활성화
SQL>  ALTER TABLE ttt ENABLE ROW MOVEMENT;
Table altered.

-- 공간 복구 only
SQL> ALTER TABLE ttt SHRINK SPACE COMPACT;
Table altered.

-- 공간 복구 및 HWM 수정
SQL> alter table ttt shrink space;
Table altered.

-- 종속 객체 공간 모두 복구
SQL> ALTER TABLE ttt SHRINK SPACE CASCADE;
Table altered.

-- LOB 테이터 처리
SQL> ALTER TABLE ttt MODIFY LOB (col_lob) (SHRINK SPACE);
Table altered.

-- Overflow 처리
SQL> ALTER TABLE ttt OVERFLOW SHRINK SPACE;
Table altered.


■  요약

  • 빠른 공간 회수: shrink space
  • 공간 최적화: shrink space compact

https://www.ktexperts.com/online-segment-shrink/

 

반응형

+ Recent posts