728x90

1. USER_TABLESPACES란?
USER_TABLESPACES는 Oracle 데이터베이스에서 현재 사용자가 사용할 수 있는 테이블스페이스 목록을 보여주는 데이터 딕셔너리 뷰입니다. 해당 뷰는 일반적으로 사용자의 기본 테이블스페이스 설정 또는 쿼리 작성 시 명시 가능한 대상 테이블스페이스 확인 용도로 활용됩니다. 주의: Oracle 표준 문서에 명확하게 정의된 공식 뷰는 아니며, 일부 버전 또는 보안 정책에서 기본적으로 보이지 않을 수 있습니다. 실무에서는 DBA_TABLESPACES 또는 USER_USERS와 함께 사용되는 경우가 많습니다.
2. 테이블스페이스란?
테이블스페이스(Tablespace)는 Oracle에서 데이터가 저장되는 **논리적 저장 단위**입니다. 각 테이블, 인덱스, 세그먼트는 하나 이상의 테이블스페이스에 저장됩니다.
- USERS: 일반 사용자 데이터용
- SYSTEM, SYSAUX: 데이터베이스 내부 메타데이터용
- TEMP: 정렬 작업 등 임시 공간
- UNDO: 트랜잭션 롤백 및 MVCC용
3. 대체로 함께 사용하는 뷰
| 뷰 이름 | 용도 | 설명 |
|---|---|---|
| USER_TABLESPACES | 접근 가능 테이블스페이스 | 현재 사용자 기준, 일부 버전에서만 지원 |
| USER_USERS | 기본 테이블스페이스 확인 | DEFAULT_TABLESPACE, TEMPORARY_TABLESPACE 확인 가능 |
| DBA_TABLESPACES | 모든 테이블스페이스 정보 | DBA 권한 필요, 전체 관리용 |
| DBA_DATA_FILES | 물리적 저장 경로 확인 | 테이블스페이스별 데이터파일 상세 정보 |
4. 실전 활용 예제
-- 현재 사용자에게 설정된 기본 테이블스페이스 확인
SELECT USERNAME, DEFAULT_TABLESPACE, TEMPORARY_TABLESPACE
FROM USER_USERS;
-- DBA 권한이 있을 경우 전체 테이블스페이스 조회
SELECT TABLESPACE_NAME, STATUS, CONTENTS, EXTENT_MANAGEMENT
FROM DBA_TABLESPACES
ORDER BY TABLESPACE_NAME;
TIP: SQL 작성 시 CREATE TABLE ... TABLESPACE users 와 같이 직접 테이블스페이스를 지정할 수 있습니다.
5. 테이블스페이스 관리 시 고려사항
- 용량 계획: USERS 테이블스페이스의 사용량 주기적 확인
- 보안 격리: 사용자별 전용 테이블스페이스 설정 권장
- 백업 전략 연계: 데이터파일 단위 백업과 연동하여 운영 안정성 강화
6. 결론
USER_TABLESPACES는 사용자에게 부여된 테이블스페이스 접근 범위를 확인하고, 논리적 저장 구조를 이해하는 데 활용할 수 있는 유용한 뷰입니다. Oracle의 저장 구조는 단순 파일 관리가 아니라, 세밀한 리소스 제어와 보안 정책을 기반으로 하므로, 권한 기반 접근 제어를 이해하는 것이 중요합니다.
참고 자료
- Oracle® Database Administrator’s Guide 21c
- Oracle® SQL Language Reference
- Oracle Help Center: https://docs.oracle.com/en/database/
728x90
'Database > Oracle' 카테고리의 다른 글
| [ORACLE] USER_TAB_COL_STATISTICS 뷰로 컬럼 통계 최적화 전략 세우기 (0) | 2025.08.08 |
|---|---|
| [ORACLE] USER_TAB_COLUMNS 뷰로 테이블 컬럼 구조 완벽 분석하기 (0) | 2025.08.08 |
| [ORACLE] USER_TABLES 뷰를 활용한 테이블 구조 분석과 관리 전략 (0) | 2025.08.08 |
| [ORACLE] USER_SYS_PRIVS로 사용자 시스템 권한 정밀 분석 (0) | 2025.08.07 |
| [ORACLE] USER_SYNONYMS 뷰를 활용한 시노님 구조 완벽 이해 (0) | 2025.08.07 |