테이블스페이스(TABLESPACE)

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

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

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

시스템 테이블 스페이스

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

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

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

비 시스템 테이블 스페이스

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

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

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

 

출처: <http://www.oracleclub.com/lecture/1094>

 

 

by Artmin

 

테이블스페이스는 모든 데이터를 저장하고 있는 데이터 파일로 구성되어 있는 논리적인 데이터 저장구조 이다.

DML문을 수행해 insert된 data를 비롯, 유저 스키마 정보 등 흔히 우리가 data라 부르는 모든 것들이 저장되는 영역이다.

 

테이블스페이스는 용도에 따라 시스템 테이블스페이스와 비시스템 테이블스페이스로 나눌 수 있으며,

시스템 테이블스페이스는 시스템 운영에 필요한 데이터 딕셔너리 데이터(메타데이터)가 저장된다.

10g 이후 시스템 테이블스페이스에 SYSAUX 테이블스페이스가 새롭게 추가 되었고,

이 SYSAUX 테이블스페이스는 10g 이전의 SYSTEM과 여러 테이블스페이스에서 담당하던 역할을 분담하여 SYSTEM 테이블스페이스의

과부하를 감소하여 관리할 있게 되었다.

, 시스템 테이블스페이스라고 하면 SYSTEM, SYSAUX 2가지를 생각하면 될 것이다.

 

비시스템 tablespace에는 TEMP(임시) tablespace, UNDO tablespace, 일반 tablespace가 있다.

TEMP tablespace는 order by절 등 정렬 작업을 요구하는 SQL문이 수행 될 때 PGA에 할당된 공간이 부족하면, TEMP tablespace에서 swap형식으로 내렸다 올렸다 하며 정렬한다. 이와 같은 정렬 작업 때문에 index 생성시에도 TEMP tablespace가 사용된다.

정렬 작업에 TEMP tablespace가 사용되게 되면 메모리에서 해결하지 못하고 디스크까지 사용 한다는 의미이기 때문에 속도(성능)이 상당히 느려진다.

UNDO tablespace는 rollback과 commit를 담당하는 undo segment를 저장(순차순환적으로 저장된다. Over Write)하는 공간이다.

일반 tablespace는 우리가 평상시에 사용하는 data들이 저장되는 공간이다.

(필자의 경우는 default tablespace는 USERS로 되어 있어, table 생성할 때 tablespace의 이름을 명시하지 않는다면, 생성되는 table 

default tablespace(USERS tablespace) 저장된다.)

default tablespace 변경이 가능하며, table생성시 옵션으로 tablespace 지정하여 해당하는 tablespace table 생성할 있다.

 

extent allocation 관리 방법에 따라서는 DMT(Dictionary Management Tablespace), LMT(Locally Management Tablespace)로 나눌 수 있으며, extent 정보를 Dictionary 테이블에서 관리하는 DMT방식은 거의 쓰이지 않는다(8.0.x 버전 이하는 DMT방식으로 하였다.)

대부분이 datafile헤더 부분의 bitmap 정보(LMT방식의 특징으로 테이블스페이스 스스로 extent allocation 관리를 위해 '비트맵' 유지)를 활용,  extent allocation 테이블스페이스 자신 스스로 해결하는 LMT방식을 오라클에서 사용을 권고한다. 이 LMT방식을 사용 해야만 자동 세그먼트 공간 관리 방식인 ASSM(Automatic Segment Space Management)를 이용 할 수 있다.

 

segment space managed 방식에 따른 구분은 앞에서도 언급한 ASSM 방식과 PCTUSED, FREELIST option을 이용해 관리하는 수동 세그먼트 공간 관리 방식이 있다.

수동 세그먼트 공간 관리 방식 역시 관리하기 어려우므로 자주 사용되지 않는다.

'Database Oracle > TABLESPACE' 카테고리의 다른 글

테이블스페이스 실습 1  (0) 2013.01.11
테이블스페이스 문법  (0) 2013.01.11
LMT  (0) 2013.01.10
TBS 자동 증가  (0) 2013.01.10
TBS 정보 조회  (0) 2013.01.10
Posted by 아트민
,