본문 바로가기

IT/oracle

Temporary tablespace

이곳은 임시자료를 저장하는 Tablespace 로 DB가 재시작하면 이 곳에 있던 내용은 모두 사라지며 일반적으로 정렬작업 등을 수행할 경우 PGA 공간이 부족하면 이곳을 이용하여 정렬작업, export/import 등을 하게 됨

Temporary Tablespace는 하나의 Instance에 여러 개 만들 수 있으므로 성능 향상을 위해 각 사용자 별로 하나씩 각각 할당해 주는 것이 좋으며 특히 정렬작업이 크게 일어나는 작업 전에 Temporary Tablespace를 크게 만들어 주고 작업하는 것이 성능향상에 좋음

11g는 Temporary Tablespace Group 기능을 적극 활용하기 권장


temporary tablespace 조회

SQL> !cat temporarytablespace.sql

set line 200

col tablespace_name for a10

col file_name for a50


select file_id, tablespace_name, bytes/1024/1024 MB, file_name

from dba_temp_files;


SQL> @temporarytablespace.sql


   FILE_ID TABLESPACE MB FILE_NAME

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

1 TEMP 29 /app/oracle/oradata/testdb/temp01.dbf


신규 Temporary tablespace 생성하기

SQL> create temporary tablespace temp2

  2  tempfile '/app/oracle/oradata/testdb/temp02.dbf' size 10M

  3  autoextend on;


Tablespace created.


SQL> @temporarytablespace.sql


   FILE_ID TABLESPACE MB FILE_NAME

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

2 TEMP2 10 /app/oracle/oradata/testdb/temp02.dbf

1 TEMP 29 /app/oracle/oradata/testdb/temp01.dbf


Default Temporary Tablespace 설정하기

SQL> !cat defaultemporary.sql

set line 200

col property_name for a30

col property_value for a10

col description for a50


select * from database_properties

where property_name like 'DEFAULT_TEMP%';


SQL> @defaultemporary


PROPERTY_NAME       PROPERTY_V DESCRIPTION

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

DEFAULT_TEMP_TABLESPACE        TEMP  Name of default temporary tablespace


SQL> alter database default temporary tablespace temp2;


Database altered.


SQL> @defaultemporary


PROPERTY_NAME       PROPERTY_V DESCRIPTION

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

DEFAULT_TEMP_TABLESPACE        TEMP2  Name of default temporary tablespace


크기 변경

SQL> @defaultemporary


PROPERTY_NAME       PROPERTY_V DESCRIPTION

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

DEFAULT_TEMP_TABLESPACE        TEMP2  Name of default temporary tablespace


SQL> alter database tempfile '/app/oracle/oradata/testdb/temp02.dbf' resize 100M;


Database altered.


SQL> @temporarytablespace


   FILE_ID TABLESPACE MB FILE_NAME

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

2 TEMP2 100 /app/oracle/oradata/testdb/temp02.dbf

1 TEMP 29 /app/oracle/oradata/testdb/temp01.dbf


삭제하기

SQL> drop tablespace temp2;

drop tablespace temp2

*

ERROR at line 1:

ORA-12906: cannot drop default temporary tablespace



SQL> alter database default temporary tablespace temp;


Database altered.


SQL> drop tablespace temp2;


Tablespace dropped.


그룹하기

SQL> create temporary tablespace temp_scott1

  2  tempfile '/app/oracle/oradata/testdb/temp_scott01.dbf' size 10M

  3  tablespace group temp_scott_group;


Tablespace created.


SQL> select * from dba_tablespace_groups;


GROUP_NAME       TABLESPACE

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

TEMP_SCOTT_GROUP       TEMP_SCOTT1


기존 그룹에 추가

SQL>alter tablespace temp_scott2 tablespace group temp_scott_group;


그룹을 사용자에게 할당

SQL>alter user scott temporary tablespace temp_scott_group;


그룹을 default temporary tablespace로 지정

SQL>alter database default temporary tablespace temp_scott_group;


그룹에서 탈퇴

SQL>alter tablespace temp_scott2 tablespace group '';

       

'IT > oracle' 카테고리의 다른 글

NLS_DATE_FORMAT  (0) 2015.02.03
Oracle FlashBack 을 이용한 데이터 복구  (0) 2015.02.03
오라클 RMAN 백업의 주요 특징  (0) 2015.02.02
아카이브 로그 모드(Archive Log Mode)란?  (0) 2015.02.02
Extent와 Segment  (0) 2015.01.30
Undo Tablespace와 관리  (0) 2015.01.30
Tablespace 관리  (0) 2015.01.30
Tablespace File 이동  (0) 2015.01.30
Tablespace의 종류  (0) 2015.01.29
Redo Log File 관리 하기  (0) 2015.01.29