728x90

1. USER_TABLES란?
USER_TABLES는 Oracle 데이터베이스에서 현재 로그인한 사용자가 소유한 모든 테이블의 메타 정보를 제공하는 데이터 딕셔너리 뷰입니다. 이 뷰는 물리적 저장 구조, 파티셔닝, 캐싱 정책, 스토리지 파라미터 등 테이블 관련 속성을 확인하는 데 사용되며, DBA와 개발자에게 테이블 성능 분석 및 구조 검토의 핵심 수단이 됩니다.
2. 주요 용도
- 테이블 속성 확인: 테이블이 파티션되어 있는지, 임시 테이블인지, 캐싱 여부 등
- 스토리지 파라미터 분석: 초기 익스텐트, 넥스트 익스텐트, PCT_FREE 등 확인
- SQL 튜닝 정보 수집: 로우 수나 샘플링 빈도 기반 분석
- 보안 점검 및 감사: 민감 정보가 저장된 테이블 여부 파악
3. 주요 컬럼 설명
| 컬럼명 | 설명 |
|---|---|
| TABLE_NAME | 테이블 이름 |
| TABLESPACE_NAME | 테이블이 저장된 테이블스페이스 이름 |
| CLUSTER_NAME | 테이블이 속한 클러스터 이름 (해당 시) |
| IOT_TYPE | 인덱스 조직 테이블 여부 (IOT) |
| PCT_FREE | 데이터 블록에 남겨질 여유 공간 비율 |
| NUM_ROWS | 수집된 통계 기준의 행 수 |
| BLOCKS | 사용된 데이터 블록 수 |
| PARTITIONED | Y/N — 파티셔닝 여부 |
| TEMPORARY | Y/N — 임시 테이블 여부 |
4. 실전 활용 예제
-- 현재 사용자 스키마에 존재하는 모든 테이블 목록 조회
SELECT TABLE_NAME, TABLESPACE_NAME, NUM_ROWS, PARTITIONED
FROM USER_TABLES
ORDER BY TABLE_NAME;
-- 파티션이 적용된 테이블만 조회
SELECT TABLE_NAME
FROM USER_TABLES
WHERE PARTITIONED = 'YES';
-- 최근 행 수가 많은 상위 10개 테이블
SELECT TABLE_NAME, NUM_ROWS
FROM USER_TABLES
WHERE NUM_ROWS IS NOT NULL
ORDER BY NUM_ROWS DESC FETCH FIRST 10 ROWS ONLY;
5. 관련 테이블 정보 뷰 비교
| 뷰 이름 | 역할 | 설명 |
|---|---|---|
| USER_TABLES | 테이블 구조 정보 | 현재 사용자 스키마 기준 |
| USER_TAB_COLUMNS | 컬럼 상세 정보 | 데이터 타입, NULL 여부 등 |
| USER_TAB_COMMENTS | 테이블 주석 정보 | 개발자 문서화 용도로 활용 |
| USER_TAB_PRIVS | 권한 정보 | GRANT된 권한 확인 |
6. 고급 활용 전략
- 테이블 리사이징 계획: BLOCKS, PCT_FREE 정보 기반으로 스토리지 재조정 가능
- 성능 점검 루틴 구축: NUM_ROWS, PARTITIONED 플래그 기반 쿼리 튜닝 대상 선정
- 스키마 감사 자동화: 사용자 정의 스크립트로 테이블 구조 변화 감지
7. 결론
USER_TABLES 뷰는 Oracle 스키마 내에서 모든 테이블 객체의 정의와 물리적 상태를 확인할 수 있는 핵심 도구입니다. 이 정보를 활용하면 스키마 구성 최적화, 쿼리 성능 개선, 용량 계획 수립 등 다양한 운영 효율성을 확보할 수 있습니다.
참고 자료
- Oracle® Database Reference Guide 21c
- Oracle® SQL Language Reference
- Oracle Help Center: https://docs.oracle.com/en/
728x90
'Database > Oracle' 카테고리의 다른 글
| [ORACLE] USER_TAB_COLUMNS 뷰로 테이블 컬럼 구조 완벽 분석하기 (0) | 2025.08.08 |
|---|---|
| [ORACLE] USER_TABLESPACES 뷰로 테이블스페이스 접근 권한 완벽 분석 (0) | 2025.08.08 |
| [ORACLE] USER_SYS_PRIVS로 사용자 시스템 권한 정밀 분석 (0) | 2025.08.07 |
| [ORACLE] USER_SYNONYMS 뷰를 활용한 시노님 구조 완벽 이해 (0) | 2025.08.07 |
| [ORACLE] USER_SUMMARIES로 요약 뷰(MV) 기반 성능 최적화 이해하기 (0) | 2025.08.07 |