728x90

1. USER_UNUSED_COL_TABS란?
USER_UNUSED_COL_TABS는 Oracle 데이터베이스에서 **현재 사용자 스키마에 속한 테이블 중, UNUSED 상태로 표시된 컬럼 정보**를 조회할 수 있는 데이터 딕셔너리 뷰입니다. 오라클에서 ALTER TABLE ... SET UNUSED COLUMN 명령을 사용하면 컬럼을 실제로 제거하지 않고 “사용 불가” 상태로 표시하며, 이 상태의 컬럼은 테이블에서 접근 불가하지만 내부적으로 여전히 존재하므로 공간을 차지할 수 있습니다. 이 뷰는 이런 UNUSED 컬럼이 어느 테이블에 존재하는지 확인하고, ALTER TABLE ... DROP UNUSED COLUMNS로 실제 정리할 수 있는 기반 정보를 제공합니다.
2. 주요 컬럼 설명
| 컬럼명 | 설명 |
|---|---|
| TABLE_NAME | UNUSED 컬럼이 존재하는 테이블 이름 |
| COUNT | UNUSED 상태로 표시된 컬럼 개수 |
3. 실전 활용 예제
3.1. 사용자 테이블에서 UNUSED 컬럼이 있는 목록 확인
SELECT
TABLE_NAME,
COUNT
FROM
USER_UNUSED_COL_TABS;
3.2. 특정 테이블에서 UNUSED 컬럼 제거
ALTER TABLE SALES_DATA DROP UNUSED COLUMNS;
3.3. 모든 테이블의 UNUSED 컬럼 정리 스크립트 자동 생성
SELECT
'ALTER TABLE ' || TABLE_NAME || ' DROP UNUSED COLUMNS;' AS cleanup_sql
FROM
USER_UNUSED_COL_TABS;
4. 관련 뷰 비교
| 뷰 이름 | 설명 | 역할 | 사용자 범위 |
|---|---|---|---|
| USER_UNUSED_COL_TABS | 현재 사용자 테이블 중 UNUSED 컬럼 정보 | 삭제 예정 컬럼 목록 확인 | 현재 사용자 |
| ALL_UNUSED_COL_TABS | 모든 접근 가능한 테이블의 UNUSED 컬럼 | 다른 사용자 테이블 포함 | 모든 접근 권한 사용자 |
| DBA_UNUSED_COL_TABS | 데이터베이스 전체의 UNUSED 컬럼 정보 | 전체 사용자의 컬럼 관리 | DBA 전용 |
5. USER_UNUSED_COL_TABS 활용 전략
- 테이블 정리 시점 판단: 미사용 컬럼이 남아 있는지 사전 점검
- 스토리지 절약: UNUSED 컬럼이 실제로는 공간을 차지할 수 있으므로 제거 권장
- 정책적 데이터 정리: 컬럼 삭제 정책 수립 시 기준 데이터로 사용 가능
- 자동화 스크립트 생성: 정기적인 컬럼 정리 배치 작업에 활용
6. 주의사항
- DROP UNUSED COLUMNS는 복구 불가: 실제 삭제 시 데이터 손실이 발생할 수 있으므로 신중하게 사용
- UNUSED는 즉시 삭제가 아님: SET UNUSED는 논리적 삭제이며, DROP을 따로 수행해야 완전 제거
- 대량 작업 시 퍼포먼스 고려: 대형 테이블에 대해 DROP UNUSED COLUMNS 실행 시 시간이 소요됨
7. 결론
USER_UNUSED_COL_TABS 뷰는 Oracle 데이터베이스에서 사용되지 않는 컬럼을 체계적으로 관리하고 테이블 구조를 정리하는 데 매우 유용한 도구입니다. 특히 **정기적인 스키마 리팩토링**, **성능 개선**, **스토리지 최적화**를 위해 반드시 점검해야 하는 대상이며, 삭제된 컬럼을 명확하게 파악한 후 완전 제거 작업을 수행함으로써 데이터베이스의 일관성과 효율성을 높일 수 있습니다.
8. 출처
- Oracle Corporation. Oracle Database Reference
- Tom Kyte, 『Expert Oracle Practices』
728x90
'Database > Oracle' 카테고리의 다른 글
| [ORACLE] USER_USTATS : 통계 수집 상태 및 최적화 전략 완전 분석 (0) | 2025.08.12 |
|---|---|
| [ORACLE] USER_UPDATABLE_COLUMNS : 컬럼 수정 가능 여부 진단과 활용 전략 (0) | 2025.08.11 |
| [ORACLE] USER_TYPE_METHODS : 객체 타입 메서드 설계 및 분석 전략 (0) | 2025.08.10 |
| [ORACLE] USER_TYPE_ATTRS : 사용자 정의 객체 타입 속성 분석 가이드 (0) | 2025.08.10 |
| [ORACLE] USER_TYPES : 사용자 정의 객체 타입 완전 분석 가이드 (0) | 2025.08.09 |