HWM, High Water Mark
테이블이 사용한 block과 사용하지 않은 block의 경계점을 나타낸다.
Block의 상태
block을 사용하려면 먼저 할당과 포맷이 이루어져야 한다.
- Used: 사용 중, 포맷 됨
- Unknown: 사용 된 적이 있으나 현재 사용 중인지는 모름, 포맷 됨
- Never used(Unformatted): 사용된 적이 없음, 포맷되지 않음
만약 로우 1000개를 삽입한 후, 500개를 삭제한다면, 삭제한 만큼의 블록이 Unknown
상태가 될 것이다.
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;