reorg
오라클 HWM와 실제로 사용하는 블록 확인 쿼리. 리오그 대상 찾는법. ORACLE REORG HWM
2023. 12. 1. 18:56
HWM가 차지하고 있는 블록 확인.
SELECT TABLE_NAME, BLOCKS
FROM DBA_TABLES
WHERE TABLE_NAME = 'table_name';현재 몇 개의 블록을 사용하고 있는지 확인한다.
DBA_SEGMENTS에서도 확인 가능하다.
(갯수가 다를수 있다)
테이블에서 실제로 쓰고 있는 블록 확인.
SELECT COUNT(DISTINCT
DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)||
DBMS_ROWID.ROWID_RELATIVE_FNO(ROWID)) AS USED_BLOCK
FROM TABLE_NAME;대상 테이블의 데이터를 조회하여
실제로 사용하고 있는 블록을 DBMS_ROWID를 사용하여 찾는다.
DBA_TABLES에서 조회된 블록의 값이
실제 블록 사용갯수보다 적어도 1.5배 이상이 많다면
리오그 작업을 권장한다.
테이블의 사이즈가 작다면 2,3배 차이가 나도 성능이나 여유 공간에 큰 영향은 없겠지만
수십,수백기가 정도 되는 대용량 테이블이라면
딕셔너리상의 블록갯수와 실제 사용 블록의 차이가 1.5배만 되어도 리오그를 통해 성능과 여유공간을 크게 확보할 수 있을것이다.
리오그는 TABLE MOVE & INDEX REBUILD나
SHRINK 등을 사용한다.
'└ 01-02.ORACLE > SQL' 카테고리의 다른 글
| 오라클 DB계정 생성 ORACLE CREATE USER (0) | 2024.01.16 |
|---|---|
| 오라클 ASM 사용률 변화 확인/수집 및 현황 보고를 위한 쿼리 (0) | 2023.12.12 |
| ORACLE RMAN 백업 진행 상황을 확인하는 쿼리 RMAN Backup status check (2) | 2023.12.05 |