◆ Temporary Tablespace
  - 정렬, 백업(imp, exp, datapump) 등의 작업을 할 때 쓰임
  - 사용자별로 할당 가능하다.
  - system이 사용하는 것을 default temporary tablespace라고 한다.
  - 디폴트 temporary tablespace는 오프라인 불가능하다.


◆ 생성 문법

SQL> create temporary tablespace 테이블스페이스명
   tempfile '데이터파일명' size 크기;
tempfile 대신에 datafile을 써도 생성이 되기는 된다. 하지만, 백업복구 시 temporary tablespace는 대상에서 제외되고 다시 생성하거나 하는데, datafile로 생성해주면 백업대상에 포함되어야 한다.


◆ Default Temporary Tablespace
기본적으로 system tablespace가 사용하는 temporary tablespace를 디폴트 temporary tablespace라고 부른다.
오라클에서 기본적으로 temporary tablespace는 최소한 1개 이상 존재해야 한다.
SQL> alter database default temporary tablespace 테이블스페이스명;


위 그림처럼 각 테이블스페이스별로 temporary tablespace를 만들어주면 작업 효율이 좋다. 기업은행의 예처럼 temporary tablespace를 지정해주지 않으면 기본적으로 default temporary tablespace를 사용한다.


◆ 일반 테이블스페이스와 Temp 테이블스페이스와의 차이점
SQL> create tablespace test
   datafile '/home/oracle/oradata/testdb/test01.dbf' size 500M;

SQL> create temporary tablespace temp
   tempfile '/home/oracle/oradata/testdb/temp01.dbf' size 500M;

$ cd /home/oracle/oradata/testdb
$ ls -lSh

똑같이 500M를 주었는데 Temp를 만들때는 금방 만들어지지만 일반 테이블스페이스는 생성이 오래 걸린다.
용량은 동일하다. 그런데 생성 시간이 다른 이유는 무엇일까?
Temp파일 안에는 중요한 데이터들이 들어있지 않다. 그래서 오라클이 블록검사를 안하고 그냥 500M를 확 만들어버린다. 하지만 일반 데이터파일은 일일이 블록검사를 다 하고 500M를 할당하기 때문에 그만큼 느린 것이다.

'오라클 > Admin' 카테고리의 다른 글

[Admin] Database Block  (0) 2010.09.01
[Admin] Types of Segments  (0) 2010.09.01
[Admin] Tablespace and Datafiles  (0) 2010.08.30
[Admin] Redo Log File  (0) 2010.08.28
[Admin] Data Dictionary  (0) 2010.08.26
Posted by 겨울섬
,