TECH
QUESTION
자주하는 질문답변 입니다.
Oracle
작성자 | 유건데이타 | 등록일 | 2015-05-13 |
제목 | (9I) DEFAULT TEMPORARY TABLESPACE의 개념과 사용 예제 | ||
---|---|---|---|
(9I) DEFAULT TEMPORARY TABLESPACE의 개념과 사용 예제
=================================================== PURPOSE ------- Space Management와 관련된 Oracle 9i의 새로운 기능 중 Default Temporary Tablespace에 대하여 알아보기로 한다. Explanation ----------- 데이터베이스 user를 생성할 때, 명시적으로 Temporary Tablespace를 지정하 지 않으면 기본적으로 SYSTEM 테이블스페이스가 할당되고, 모든 temporary data는 이 SYSTEM 테이블스페이스에 저장된다. 9i에서는 데이터베이스 전체 에 걸쳐 사용될 Default Temporary Tablespace로 임의의 Temporary Tablespace를 정의할 수 있다. 만일 별도의 Temporary Tablespace를 생성하고, 이를 Default Temporary Tablespace로 지정하면 Temporary data를 저장할 공간으로 불필요하게 SYSTEM 테이블스페이스를 사용할 이유가 없게 된다. (데이터베이스 생성 시 정의할 수 있다.) 데이터베이스 운영 중 아래와 같이 동적으로 변경할 수 있으며, 이 경우 기 존 사용자의 Default Temporary Tablespace도 함께 변경이 된다. SQL> ALTER DATABASE ora9i DEFAULT TEMPORARY TABLESPACE dts2; Temporary type으로 만든 datafile은 dba_temp_files view를 보면 된다. Restrictions on Default Temporary Tablespace -------------------------------------------- 새로운 Default Temporary Tablespace가 가용하기 전에 기존 Default Temporary Tablespace를 drop할 수 없다. Default Temporary Tablespace를 Permanent Tablespace로 변경할 수 없다. Default Temporary Tablespace는 SYSTEM Tablespace이거나 Temporary Type Tablespace이어야만 한다. Default Temporary Tablespace는 OFFLINE으로 변경될 수 없다. Example ------- As SYSTEM - 원래대로 Default Temporary Tablespace를 SYSTEM으로 복원 SQL> alter database ora9i default temporary tablespace system; - 데이터베이스 user 생성 시 Temporary Tablespace 확인:SYSTEM tablespace 사용 SQL> create user omf_test identified by omf_test; SQL> select username, temporary_tablespace from dba_users where username = 'OMF_TEST' USERNAME TEMPORARY_TABLESPACE ------------------------------ ---------------------------------------- OMF_TEST SYSTEM - Default Temporary Tablespace를 TEMP tablespace(temporary type)로 변경 : 기존 사용자(OMF_TEST)의 Temporary Tablespace가 SYSTEM에서 TEMP로 변경 됨을 알 수 있다. SQL> alter database ora9i default temporary tablespace temp; SQL> select username, temporary_tablespace from dba_users where username = 'OMF_TEST' USERNAME TEMPORARY_TABLESPACE ------------------------------ ---------------------------------------- OMF_TEST TEMP - 이제는 데이터베이스 user를 생성할 때, Temporary Tablespace가 SYSTEM이 아닌 TEMP가 됨을 확인 SQL> drop user omf_test; SQL> create user omf_test identified by omf_test; SQL> select username, temporary_tablespace from dba_users where username = 'OMF_TEST' USERNAME TEMPORARY_TABLESPACE ------------------------------ ---------------------------------------- OMF_TEST TEMP SQL> drop user omf_test; Reference Documents ------------------- |
Comment | |||
---|---|---|---|
등록된 코멘트가 없습니다. |