Data Base_Oracle/SQL

SQL_TEMPORARY TABLESPACE & AUTOEXTEND

pathas 2020. 1. 14. 17:29

TEMPORARY TABLESPACE

테이블스페이스 파일 용량이 부족할 때를 대비해서
임시 테이블스페이스와 임시 파일을 계정에 연결

TEMPORARY TABLESPACE 생성 & 연결

§ 형식_

▶ 임시 테이블스페이스 생성
[ SQL> create [ temporary ] tablespace 임시ts명 tempfile '경로/파일명.dbf' size nm; ]

 

▶ 계정에 임시 테이블스페이스 연결
[ SQL> create user 계정명 identified by 암호
default tablespace 테이블스페이스명 temporary tablespace 테이블스페이스명; ]

# 예제

① temp3라는 임시 테이블스페이스 생성
[ SQL> create temporary tablespace temp3 tempfile 'c:\webtest\2.db\temp3.dbf' size 50m;
테이블스페이스가 생성되었습니다.
select * from v$tablespace; ]

TS# NAME INC BIG FLA ENC
0 SYSTEM YES NO YES  
... ... ... ... ...  
9 TEMP3 NO NO YES  

② lee2/lee2 계정을 생성하면서 기본 테이블스페이스는 oradata2,
임시 테이블스페이스는 temp3에 연결
[ SQL> create user lee2 identified by lee2
default tablespace oradata2 temporary tablespace temp3;
사용자가 생성되었습니다. ]

 

③ lee2계정에 로그인, 리소스 권한 부여
[ SQL> grant connect,resource to lee2;
권한이 부여되었습니다. ]

 

④ lee2계정에서 기본 테이블스페이스, 임시 테이블스페이스 확인
[ SQL> select username, default_tablespace, temporary_tablespace from user_users; ]

USERNAME DEFAULT_TABLESPACE TEMPORARY_TABLESPACE
LEE2 ORADATA2 TEMP3

TABLESAPCE_AUTOEXTEND

테이블스페이스에 연결되어 있는 데이터 파일의 용량이 자동으로 확장하도록 설정

§ 형식

▶ 용량 부족 시 테이블스페이스가 자동으로 ~MB씩 증가하며 최대 ~MB까지 확장하도록 설정
[ SQL> alter database datafile '경로/파일명.dbf'
autoextend on next nm(증가치) maxsize nm(최대용량); ]

# 예제

▶ oradata2 테이블스페이스의 용량이 부족할 경우
자동으로 2MB씩 증가하며 최대 200MB까지 확장되도록 설정
[ SQL> alter database datafile 'c:\webtest\2.db\oradata2.dbf'
autoextend on next 2m maxsize 200m;
데이타베이스가 변경되었습니다. ]


보조배터리와 같은 역할을 한다고 할 수 있는 TEMPORARY TABLESPACE와
테이블스페이스의 물리적 저장 공간인 데이터파일의 용량이 사용량에 따라 자동으로 확장되도록 할 수 있는

AUTOEXTEND에 대해 알아보았습니다.