728x90

1. TABLESPACE란 무엇인가?
TABLESPACE는 Oracle Database에서 데이터를 물리적으로 저장하는 단위인 데이터 파일(Data File)의 논리적 집합입니다. 각 테이블스페이스는 하나 이상의 데이터 파일로 구성되며, 사용자 데이터, 시스템 메타데이터, 임시 데이터 등이 저장됩니다.
2. TABLESPACE의 주요 목적
- 논리적/물리적 데이터 저장 구조 분리
- 사용자/애플리케이션별 데이터 격리
- 백업, 복구, 성능 튜닝을 위한 관리 단위 제공
- 디스크 사용량 제어 및 할당량 관리
3. Oracle의 기본 테이블스페이스 유형
| 유형 | 설명 |
|---|---|
| SYSTEM | 데이터베이스 메타데이터 및 핵심 정보 저장 |
| SYSAUX | 보조 시스템 정보 저장 (통계, 리포트 등) |
| UNDO | DML 변경 사항 롤백 및 복구 용도 |
| TEMP | 정렬 및 해시 조인 등의 임시 데이터 저장 |
| USERS | 일반 사용자 객체 저장 (기본 할당 테이블스페이스) |
4. TABLESPACE 생성 문법
CREATE TABLESPACE tablespace_name
DATAFILE '경로/파일명.dbf' SIZE 100M
AUTOEXTEND ON NEXT 50M MAXSIZE 1G;
예제: 사용자 정의 테이블스페이스 생성
CREATE TABLESPACE app_data
DATAFILE '/u01/app/oracle/oradata/ORCL/app_data01.dbf' SIZE 200M
AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED;
app_data라는 이름의 테이블스페이스를 생성하고, 용량은 자동 확장됩니다.
5. TEMPORARY TABLESPACE 생성
CREATE TEMPORARY TABLESPACE temp_data
TEMPFILE '/u01/app/oracle/oradata/ORCL/temp_data01.dbf'
SIZE 500M REUSE AUTOEXTEND ON NEXT 50M MAXSIZE 2G;
임시 데이터 작업을 위한 테이블스페이스로, 쿼리 성능에 큰 영향을 미칩니다.
6. DEFAULT TABLESPACE 지정
ALTER DATABASE DEFAULT TABLESPACE users;
새 사용자 계정 생성 시 기본 테이블스페이스를 지정합니다.
7. 사용자별 테이블스페이스 할당
CREATE USER dev_user IDENTIFIED BY password
DEFAULT TABLESPACE app_data
TEMPORARY TABLESPACE temp_data;
지정된 테이블스페이스를 해당 사용자에 할당하여 저장 위치를 분리합니다.
8. 테이블스페이스 사용량 조회
SELECT tablespace_name,
ROUND(SUM(bytes)/1024/1024, 2) AS total_mb
FROM dba_data_files
GROUP BY tablespace_name;
테이블스페이스별 전체 크기 확인 쿼리입니다.
9. 할당량 제한 설정
ALTER USER dev_user QUOTA 500M ON app_data;
특정 사용자가 테이블스페이스에서 사용할 수 있는 최대 용량을 제한합니다.
10. 테이블스페이스 상태 조회
SELECT tablespace_name, status FROM dba_tablespaces;
ONLINE, OFFLINE 등의 상태를 확인할 수 있습니다.
11. 테이블스페이스 삭제
DROP TABLESPACE app_data INCLUDING CONTENTS AND DATAFILES;
모든 데이터 및 데이터파일까지 함께 삭제됩니다. 주의해서 사용해야 합니다.
12. 실무 팁과 관리 전략
- 업무 성격별로 테이블스페이스를 분리해 성능 및 관리 효율 향상
- AUTOEXTEND는 유용하지만 디스크 공간을 초과하지 않도록 모니터링 필수
- TABLESPACE는 백업 전략의 중요한 단위임 → RMAN 활용 고려
- 불필요한 TEMP 사용 과다 시 성능 저하 유발
13. TABLESPACE 관련 주요 뷰
DBA_TABLESPACES: 전체 테이블스페이스 목록DBA_DATA_FILES: 데이터 파일 정보DBA_TEMP_FILES: 임시 파일 정보DBA_TS_QUOTAS: 사용자별 테이블스페이스 사용량
14. 결론
Oracle TABLESPACE는 데이터 저장의 물리적 구조를 관리하고 최적화하는 핵심 요소입니다. 효과적인 테이블스페이스 설계는 데이터베이스 성능, 보안, 유지보수에 직접적인 영향을 미치며, 사용자 및 애플리케이션 요구사항에 따라 유연하게 구성하는 것이 중요합니다.
출처
- Oracle 공식 문서: https://docs.oracle.com/en/database/
- Oracle Database Administrator's Guide
- 오라클 실무 테이블스페이스 관리 - 김상현 저
728x90
'Database > Oracle' 카테고리의 다른 글
| [ORACLE] COMMENT() 구문으로 테이블과 컬럼 설명 문서화하기 (0) | 2025.06.09 |
|---|---|
| [ORACLE] TABLE() 생성부터 제약 조건 설정까지 완전 정복 (0) | 2025.06.09 |
| [ORACLE] GRANT() 권한 부여 문법과 실무 예제 완벽 정리 (0) | 2025.06.09 |
| [ORACLE] USER() 계정 생성부터 권한 부여까지 실무 가이드 (0) | 2025.06.09 |
| [ORACLE] INDEX() 성능 향상을 위한 인덱스 종류와 예제 완전 정복 (0) | 2025.06.09 |