본문 바로가기
DB

[DB] Oracle TABLESPACE 란

by 유혁. 2021. 9. 13.

1. TABLESPACE 란

 

- 하나 또는 여러개의 데이터 파일로 구성되어 있는 논리적인 데이터 저장구조 입니다. 

- 테이블스페이스는 크게 시스템(SYSTEM) 테이블스페이스와 비시스템(NON-SYSTEM) 테이블스페이스로 구분 됩니다.

- 테이블스페이스는 사용자에게 공간을 할당할 수 있으며, 테이블스페이스 안에 저장되어있을 데이터의 가용성을

  제어할 수 있습니다.

 

 

▶ 시스템 테이블 스페이스

- 오라클 데이터베이스를 생성할 때 자동으로 생기며 오라클 데이터베이스의 기동을 위해 꼭 필요한 테이블스페이스

  입니다.

- 모든 데이터 사전(Data Dictionary) 정보와, 저장 프로시저, 패키지, 데이터베이스 트리거등을 저장 합니다.

- 유저데이터가 포함될 수 있지만 관리 효율성 면에서 포함 시키면 안됩니다.

 

▶ 비 시스템 테이블 스페이스

- 롤백세그먼트, 임시세그먼트, 응용프로그램 데이터, 그리고 응용프로그램 인덱스를 저장 할 수 있습니다.

- 공간관리를 쉽게 하기 위해서 생성합니다.

- 유저에게 할당되는 공간 입니다.

 

 

 

2. TABLESPACE 설정방법

-- 데이터가 저장되는 물리경로 및 테이블스페이스 정보
SELECT * FROM dba_data_files;

-- 설정된 테이블 스페이스 확인
select * from dba_tablespaces;

-- 현재 유저의 default_tablespace 확인
SELECT * FROM user_users;

 

 


-- 유저의 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;

 

 


-- 테이블스페이스 내 객체(테이블, 인덱스 등)를 모두 삭제
DROP TABLESPACE [테이블 스페이스명] include contents;

-- 테이블스페이스의 모든 세그먼트를 삭제 (데이터가 테이블스페이스는 삭제할 수 없다)
DROP TABLESPACE [테이블 스페이스명] INCLUDING contents;

-- 삭제된 테이블스페이스 내의 테이블의 기본키와 PK를 참조하는 다른 테이블스페이스의 테이블로부터 참조무결성 제약 조건을 삭제한다.
DROP TABLESPACE [테이블 스페이스명] CASCADE constranints;

-- 테이블 스페이스의 물리파일까지 삭제
DROP TABLESPACE [테이블 스페이스명] INCLUDING CONTENTS AND DATAFILES; 

 


-- 테이블스페이스 생성 
CREATE TABLESPACE 
DATAFILE 'C:\경로\DB.dbf'
SIZE 10M 
autoextend ON NEXT 10M
maxsize 100M
extent management LOCAL
uniform SIZE 1m
;

 

 

 

 

'DB' 카테고리의 다른 글

[DB] Oracle 날짜형, 변환형, NULL 함수  (0) 2021.09.06
[DB] Oracle 자주쓰는 숫자형 함수  (0) 2021.09.02
[DB] Oracle 자주쓰는 문자열 함수  (0) 2021.08.30
[DB] MySQL 계정관리  (0) 2021.08.24
[DB] DDL - SQL문  (0) 2021.08.23