[Oracle] Tablespace 개념 및 생성, 삭제 방법

gayoung·2023년 11월 12일

DB

목록 보기
7/16

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 [테이블 스페이스명]; 
  • 테이블의 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; 
  • 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 : 모든 데이터파일까지 삭제

0개의 댓글