HWM, High Water Mark

테이블이 사용한 block과 사용하지 않은 block의 경계점을 나타낸다.

Block의 상태

block을 사용하려면 먼저 할당과 포맷이 이루어져야 한다.

  • Used: 사용 중, 포맷 됨
  • Unknown: 사용 된 적이 있으나 현재 사용 중인지는 모름, 포맷 됨
  • Never used(Unformatted): 사용된 적이 없음, 포맷되지 않음

만약 로우 1000개를 삽입한 후, 500개를 삭제한다면, 삭제한 만큼의 블록이 Unknown 상태가 될 것이다.

used ? ? unknown never used Low HWM High HWM

Low HWM

Used 상태의 block 영역을 나타낸다.

High HWM

Used + Unknown 영역, 즉 High HWM 이후의 block은 포맷되지 않음을 의미한다.

HWM 재조정을 위한 쿼리

Oracle 10g 이후 ASSM 적용된 테이블 스페이스만 지원된다.

ALTER TABLE 테이블_이름 ENABLE ROW MOVEMENT;
ALTER TABLE 테이블_이름 SHRINK SPACE;
ALTER TABLE 테이블_이름 DEALLOCATE UNUSED;
ALTER TABLE 테이블_이름 DISABLE ROW MOVEMENT;

참고