본문 바로가기
Oracle/운영

Temp Tablespace

by 취미툰 2020. 9. 8.
반응형

Temporary(임시) 테이블스페이스는 임시 세그먼트라고 불리는 작업용 디스크 영역을 보관하기 위한 특수한 테이블스페이스입니다. Temp 테이블스페이스에 일반적인 오브젝트(테이블,인덱스)를 저장할 수 없습니다. DBCA를 사용해서 데이터베이스를 생성하면 기본적으로 TEMP라는 이름으로 생성됩니다.

TEMP는 데이터베이스의 Sort 작업과 글로벌 임시테이블을 저장하는데 사용됩니다.

Default TEMP테이블스페이스가 없으면 SYSTEM 테이블스페이스를 TEMP영역으로 사용하게 됩니다. SYSTEM 테이블스페이스는 DB의 중요한 정보들을 가지고 있는 중요한 테이블스페이스므로 해당 테이블을 TEMP영역으로 사용하게되면 성능상의 문제가 발생한 가능성도 높아지고, SYSTEM테이블스페이스의 단편화 현상이 발생할 수도 있습니다.

 

(Oracle 12.2.0.1 64bit 기준입니다)

 

Default Tablespace 확인

SYS@ysbae> select * from database_properties where property_name like '%TEMP%';

PROPERTY_NAME PROPERTY_VALUE DESCRIPTION
--------------------------------------------------------------------------------------------------------------------------------
DEFAULT_TEMP_TABLESPACE TEMP  Name of default temporary tablespace

 

 

TEMP 관련 Dictionary View DBA_TEMP_FILES

 

SYS@ysbae> select file_name,bytes/1024/1024 as MB from dba_temp_files;

 

FILE_NAME                                    MB                                                                                                                               

--------------------------------------------------------------------------------------------------------------

/app/oracle/oradata/ysbae/temp01.dbf       5000

 

 

※TEMP 테이블스페이스 데이터파일 추가하기

TEMP라는 기본 TEMP TABLESPACE에 1G 추가로 데이터파일을 설정해 보도록하겠습니다.

 

SYS@ysbae> alter tablespace TEMP add tempfile '/app/oracle/oradata/ysbae/temp02.dbf' size 1G autoextend on;

 

Tablespace altered.

 

확인

SYS@ysbae> select file_name,tablespace_name,bytes/1024/1024 from dba_temp_files;

 

FILE_NAME    TABLESPACE_NAME                 BYTES/1024/1024                                                                                                                                            

--------------------------------------------------------------------------------------------------------------

/app/oracle/oradata/ysbae/temp01.dbf    TEMP                                       5000                                                                                                            

/app/oracle/oradata/ysbae/temp02.dbf     TEMP                                       1024                                                                                                                 

2 rows selected.

 

※Default Tablespace 변경하기

TEMP_T1이라는 TEMP Tablespace를 생성합니다.

SYS@ysbae> create temporary tablespace TEMP_T1 tempfile '/app/oracle/oradata/ysbae/temp_t1.dbf' size 1G autoextend on;

 

Tablespace created.

 

변경 명령어

SYS@ysbae> alter database default temporary tablespace TEMP_T1;

Database altered.

 

Default Tablespace 확인

SYS@ysbae> select * from database_properties where property_name like '%TEMP%'; 

PROPERTY_NAME PROPERTY_VALUE DESCRIPTION 
-------------------------------------------------------------------------------------------------------------------------------- 
DEFAULT_TEMP_TABLESPACE TEMP_T1  Name of default temporary tablespace

 

반응형

댓글