[오라클] 테이블 스페이스(TABLESPACE)의 이해
테이블 스페이스 란?
테이블 및 인덱스를 저장해놓은 오라클의 논리적인 공간
실제 물리적인 공간은 데이터파일(확장자.DBF)입니다.
테이블 스페이스의 관리는 관리자만 가능합니다.
create tablespace 테이블스페이스명
datafile
'저장될경로\파일명.dbf' size 30m //size는 mb kb만 가능
extent management local
segment space management auto;
오라클은 먼저 물리적인공간 디스크에 저장을 시킨후 메모리에 등재시킵니다.
일반 메모장이나, 그림판같은 유틸같이 미리 메모리에 등재한후 디스크에 저장하는 방식의 반대입니다.
(쿼리로 확인)
select * from dba_tablespaces;
select * from dba_data_files;
(만들어진 테이블 스페이스 사용하기)
create table 테이블명(
no number(5)
,name varchar2(20)
)tablespace 지정하신 테이블스페이스명;
--> 다른 tablespace로 지정하지 않고 세미콜론(;)으로 끝낸다면.
디폴트 테이블 스페이스인 USER로 생성된다.
(테이블 스페이스 오토사이즈 설정하기)
create tablespace 테이블스페이스명
datafile
'저장될경로\파일명.dbf' size 30m
AUTOEXTEND ON
MAXSIZE 90M
extent management local
segment space management auto;
-->위의 명령어에서
AUTOEXTEND ON
MAXSIZE 90M
부분이
데이터가 정해진공간을 넘어가게되면 자동으로 MAXBYTES공간의 90M를 더 사용한다는 것을 알수 있습니다.
(하나의 테이블 스페이스에서 DBF 여러개로 만들기)
create tablespace 테이블스페이스명
datafile
'저장될경로\파일명_1.dbf' size 100m
--DBF 파일을 만들때는 테이블명을 주고 그다음에 _01, _02 를 준다
--왜냐하면 테이블스페이스 공간이 모자르면 새로 만들어야되기 때문.
AUTOEXTEND ON
MAXSIZE 200M,
'저장될경로\파일명_2.dbf' size 100m
AUTOEXTEND ON
MAXSIZE 200M,
'저장될경로\파일명_3.dbf' size 100m
AUTOEXTEND ON
MAXSIZE 200M,
'저장될경로\파일명_4.dbf' size 100m
AUTOEXTEND ON
MAXSIZE 200M
extent management local
segment space management auto;