본문 바로가기
Database/Oracle

[ORACLE] TABLESPACE() 개념부터 생성·관리까지 완벽 가이드

by Papa Martino V 2025. 6. 9.
728x90

오라클 TABLESPACE() 개념부터 생성·관리까지 완벽 가이드
[Oracle] TABLESPACE

 

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는 데이터 저장의 물리적 구조를 관리하고 최적화하는 핵심 요소입니다. 효과적인 테이블스페이스 설계는 데이터베이스 성능, 보안, 유지보수에 직접적인 영향을 미치며, 사용자 및 애플리케이션 요구사항에 따라 유연하게 구성하는 것이 중요합니다.

출처

728x90