TABLESPACE, TRUCATE

개발/DB 2014. 4. 7. 10:34

tablespace는 말그대로 space일 뿐입니다. 우리가 데이터등을 입력하는 용도로 직접 사용하는 것은 아니고요...

 

그 안에는 각종 DB Object들이 들어갑니다.

주로 해당 Object를 생성/Alter 시 tablespace를 매핑시켜 주어 사용하는 것 입니다.

 

아래부터는 오라클클럽의 강좌에서 발췌한 내용입니다...참고하세요...

더 자세한 내용들은 오라클클럽 강좌를 이용하시길...^^;

 

▣ 테이블스페이스(TABLESPACE)란 ?

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

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

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

==========================================================================

 

테이블 생성(CREATE)시 매핑하는 것은 자료가 많으니 사용예는 아래 한가지만 들겠습니다...나머지는 직접 찾아보시길 권합니다...^^;

테이블의 테이블스페이스 변경


Oracle8i이전 버전에서는 export를 해서 다시 import를 해야지만 테이블스페이스를 변경 할 수 있었지만
오라클 8i부터는 ALTER TABLE ~ MOVE TABLESPACE 명령어로 쉽게
테이블의 테이블스페이스를 변경 할 수 있습니다.

[Syntax]


-- 한번 실습해 보세요.
SQLPLUS scott/tiger
 
SQL>ALTER TABLE emp MOVE TABLESPACE test;
테이블이 변경되었습니다

 

 

 

TRUCATE

 

해당 테이블의 모든 데이터를 삭제하는 명령어

TRUNCATE TABLE 테이블명;

▶DDL 문장이므로 ROLLBACK 불가능


※DELETE과의 차이점

-기능은 같으나 구조적인 차이

-DELETE는 DML 이므로 DELETE 할 경우 해당 데이터에 대한 UnDO Data 를 만들게 된다.

이 때문에 DELETE는 ROLLBACK 이 가능하고, TRUNCATE 는 UnDO Data 를 만들지 않아서

ROLLBACK이 되지 않는 대신 상대적으로 빠른 수행 시간을 보장받게 된다.

'개발 > DB' 카테고리의 다른 글

해당 숫자에 몇건이 있는가?  (0) 2014.06.25
해당월의 마지막 날짜 구하는 쿼리  (0) 2014.05.13
날짜 갖고 놀기  (0) 2014.03.28
실전에서!!!  (0) 2014.03.11
ORACLE 이론 및 코딩하는방법  (0) 2013.11.04