Study/DB

[Oracle] reorg, hwm, shrink, movement

LoonyHyun 2021. 1. 11. 14:12
반응형

# HWM : High Water Mark

 

고수위 즉, 마지막까지 등록된 블록위치

 

  • 만약 데이터가 대량으로 지워지면 이전에 표시되었던 HWM 은 그대로임
  • 실제로 사용되는 데이터는 HWM 보다 훨씬 작아도 그대로임
  • 데이터를 조회 시 HWM 표시부분까지 읽기때문에 불필요한 DISK I/O 발생함
  • HWM 은 관리자가 관리하지 않으면 늘어나기만 함, 축소되지 않음
  • HWM 을 재구성(reorg) 해주서야 함
  • Truncate 로 데이터 삭제 시 HWM 도 초기화 됨

 

# HWM 줄여주는 방법 1

-- SHRINK 실행
ALTER TABLE TABLE_NAME SHRINK SPACE;

-- ROW-MOVEMENT 활성화
ALTER TABLE TABLE_NAME ENABLE ROW MOVEMENT;

-- TABLE 과 관련된 모든 데이터 SHRINK 실행
ALTER TABLE TABLE_NAME SHRINK SPACE CASCADE;

 

# HWM 줄여주는 방법 2

  • 임시 테이블 스페이스 생성 후 테이블 스페이스 MOVE 후 다시 원본 테이블 스페이스로 MOVE
  • 이후 인덱스 REBUILD
-- 임시 테이블스페이스 생성
CREATE TABLESPACE MOVE_IMSI DATAFILE '/oracle/app/oracle/oradata/movets01.dbf' SIZE 1G;

-- 임시 테이블스페이소로 MOVE
ALTER TABLE TABLE_NAME MOVE TABLESPACE MOVE_IMSI;

-- 원본 테이블스페이스로 MOVE
ALTER TABLE TABLE_NAME MOVE TABLESPACE REAL_TS;

-- 인덱스 rebuild
ALTER INDEX IDX_HWM_COLB REBUILD;

 

 

 

참조 : positivemh.tistory.com/350

 

오라클 reorg, hwm, shrink, move 설명 및 테스트

OS환경 : Oracle Linux6.8(64bit) DB 환경 : Oracle Database 11.2.0.4 설명 : 오라클 reorg, hwm, shrink, move 테스트 HWM(High Water Mark)란 고수위 즉, 마지막까지 등록된 블록위치임 만약 데이터가 대량으..

positivemh.tistory.com

 

'Study > DB' 카테고리의 다른 글

[Oracle] ora-12516  (0) 2021.02.16
[Oracle] 통계정보 확인  (0) 2021.01.15
[Oracle] 통계정보 생성  (0) 2021.01.11
[Oracle] Job 등록 / 스케쥴링  (0) 2020.12.23
MariaDB (MySQL) 자주 쓰는 날짜 함수 및 포맷  (0) 2020.12.08