1. Tablespace란?
- 하나 또는 여러개의 데이터 파일(물리적 파일형태)로 구성되어 있는 논리적인 데이터 저장구조
- 테이블스페이스는 크게 시스템(SYSTEM) 테이블스페이스와 비시스템(NON-SYSTEM) 테이블스페이스로 구분
- 테이블스페이스는 사용자에게 공간을 할당가능, 테이블스페이스 안에 저장되어있을 데이터의 가용성 제어 가능
- Tablespace는 하나의 데이터베이스 안에 가장 큰 논리적 저장공간으로 업무의 단위나 사용용도에 따라 여러개의 Tablespace로 분리하여 관리되고 Segment(오브젝트)라는 논리적 저장공간의 집합이기도 하다.
2. Tablespace 생성
CREATE TABLESPACE 테이블스페이스명
DATAFILE '/경로/테이블스페이스파일명.dbf'
SIZE 초기용량(100m,1g 등)
AUTOEXTEND ON NEXT 자동증가용량(10M 등)
MAXSIZE UNLIMITED;
3. Tablespace 조회
- 데이터가 저장되는 물리경로 및 테이블스페이스 정보
SELECT * FROM dba_data_files;
SELECT * FROM dba_tablespaces;
- 현재 유저의 default_tablespace 확인
SELECT * FROM user_users;
4. Tablespace 변경
- 유저의 default tablespace 변경
ALTER USER [유저명] DEFAULT TABLESPACE [테이블 스페이스명];
ALTER TABLE [테이블명] MOVE TABLESPACE [테이블 스페이스명];
ALTER TABLESPACE [테이블 스페이스명] ONLINE;
ALTER TABLESPACE [테이블 스페이스명] OFFLINE;
- 테이블 스페이스 물리적인 파일의 이름 또는 위치변경
ALTER TABLESPACE RENAME A TO B'
ALTER DATABASE DATAFILE 'C:\경로\DB.dbf' RESIZE 10M;
ALTER TABLESPACE [테이블 스페이스명] ADD DATAFILE 'C:\경로\DB.dbf' SIZE 10M;
ALTER TABLESPACE [테이블 스페이스명] ADD DATAFILE 'C:\경로\DB.dbf'
SIZE 10M AUTOEXTEND ON NEXT 10M MAXSIZE 10M;
5. Tablespace 삭제
DROP TABLESPACE <테이블스페이스명> INCLUDING CONTENTS AND DATAFILES;
- contents : 모든 세그먼트를 삭제
- datafiles : 모든 데이터파일까지 삭제