오라클 데이터베이스는 테이블스페이스의 개념이 있다. 논리적인 저장소를 의미하는 테이블 스페이스는 데이터파일(dbf)로 구성되어 있으며, 기본적인 테이블스페이스는 각각의 역할을 갖고 생성된다. 테이블 스페이스의 종류와 특징은 아래와 같다.

 

 


 

# 도움이 될만한 포스팅

 

-. 오라클 서버의 기동 단계(서버 상태): http://wookoa.tistory.com/384

 


 

 

# SYSTEM Tablespace

Data dictionary 정보들이 저장되어 있기 때문에 해당 테이블스페이스가 손상될 경우 오라클 서버는 정상적으로 구동되지 않는다. Data dictionary는 오라클 서버와 관련된 모든 정보를 저장하고 있는 핵심적인 Table, View를 의미한다. Data dictionary는 변경된 내용이 실시간으로 반영되는 동적영역(Dinamic Performance View)과 실시간으로 반영되지 않는 정적영역(Static dictionary)으로 구분할 수 있다.

 

-. 정적영역(Static dictionary)

DBA_XXX, USER_XXX, ALL_XXX 등으로 시작되는 테이블로써 오라클 서버의 상태가 'OPEN' 상태일 경우에만 조회가 가능하다.

ex) DBA_DATA_FILES, DBA_TABLESPACES

 

-. 동적영역(Dinamic Performance View)

V$XXX 등으로 시작되는 뷰로써 컨트롤 파일이나 메모리에서 데이터를 가져오며 오라클 서버의 상태가 'MOUNT' 이상인 상태에서 조회가 가능하다.

ex) V$DATAFILE, V$TABLESPACE

 

 

Data dictionary 중 정적영역(Static Dictionary)에 저장되는 오라클 서버의 주요 정보는 대략적으로 아래와 같이 나열할 수 있다.
-. 데이터베이스의 논리적인 구조와 물리적인 구조 정보
-. 객체의 정의와 공간 사용 정보
-. 제약조건에 관련된 정보
-. 사용자에 관련된 정보
-. Role, Privilege 등에 관련된 정보
-. 감사 및 보안등에 관련된 정보

 

 

# SYSAUX Tablespace

Oracle10g 버전부터 등장한 테이블스페이스로써 오라클 서버 성능 튜닝을 위해 등장했다. 해당 테이블스페이스는 오라클 서버 튜닝에 관련된 데이터들이 저장되어 있다. 대표적으로 ADDM, ASH, AWR 기능에 관련된 데이터가 저장된다.

 

 

# UNDO Tablespace

사용자가 데이터베이스에서 데이터를 조작하기 위한 언어(DML)를 수행시킬 때, 수행을 확정 시키거나 취소시킬 수 있다. 이러한 개념에서 출발한 것이 commit, rollback인데, 읽기 일관성과 트랜젝션 관리를 위해서 변경전 값을 commit 또는 rollback 명령어가 입력되지 전까지 잠정적으로 보관되는 공간이다. 

 

 

# TEMPORARY Tablespace

데이터를 임시적으로 저장하는 공간으로써 오라클 서버가 재기동 되면 저장된 데이터는 초기화 되는 것이 특징이다. 일반적으로 오라클 서버 메모리 영역인 PGA(Progrma Global Area) 공간이 부족하면 사용하기도 하며, 데이터의 반입 및 반출시에도 사용된다.

 

 

# General Tablespace

사용자가 필요에 의해 생성하는 테이블스페이스를 통칭해서 일반 테이블스페이스라고 칭한다. 오라클을 이용하는 사용자가 얼마든지 생성과 삭제를 할 수 있다. 특별한 설정이 없다면, 사용자가 생성한 테이블 또는 뷰같은 오브젝트는 일반 테이블스페이스에 저장된다.

 

 

Private comment