[Oracle] 테이블 스페이스 사용 방법

테이블 스페이스(Table Space)란

테이블스페이스(Tablespace)는 데이터베이스 오브젝트 내 실제 데이터를 저장하는 공간이다. 이것은 데이터베이스의 물리적인 부분이며, 세그먼트로 관리되는 모든 DBMS에 대해 저장소(세그먼트)를 할당한다.
테이블스페이스는 단지 데이터베이스 저장소 위치를 지정할 뿐이며, 논리적 데이터베이스 구조나 스키마를 지정하지 않는다. 예를 들면, 동일한 스키마 내의 다른 오브젝트는 서로 다른 테이블스페이스에 놓일 수 있다. 마찬가지로, 하나의 테이블스페이스는 여러 세그먼트들을 서비스할 수 있다. 위키백과

테이블 스페이스 조회

1
2
SQL> SELECT * FROM dba_tablespaces;
SQL> SELECT * FROM dba_data_files;

테이블 스페이스 생성

오라클 DBMS는 테이블스페이스 생성을 위해 CREATE TABLESPACE 명령어를 사용합니다.

1
2
3
SQL> CREATE TABLESPACE [테이블스페이스명]
DATAFILE '/db/oracle_data/ts.dbf'
SIZE 200M autoextent on next 100M;
  • DATAFILE: 파일 경로
  • SIZE: 초기 데이터 파일 크기 설정
  • autoextent on next: 초기 크기 공간을 모두 사용하는 경우 자동으로 파일의 크기가 커지는 기능

테이블 스페이스 삭제

1
2
3
SQL> DROP TABLESPACE [테이블스페이스명]
INCLUDING CONTENTS AND DATAFILES
CASCADE CONSTRAINTS;
  • INCLUDING CONTENTS: 테이블 스페이스의 모든 세그먼트 삭제
  • INCLUDING CONTENTS AND DATAFILES: 테이블 스페이스의 물리적파일까지 삭제
  • CASCADE CONSTRAINTS: 제약 조건 삭제

테이블 스페이스 이동

1
2
SQL> ALTER TABLE [테이블명] MOVE TABLESPACE [테이블스페이스명];
SQL> ALTER INDEX [인덱스명] REBUILD TABLESPACE [테이블스페이스명];
Share