DROP TABLESPACE
DROP TABLESPACE#
구문#
drop_tablespace ::=#
전제 조건#
SYS 사용자와 DROP TABLESPACE 시스템 권한을 가진 사용자만이 테이블스페이스를 삭제할 수 있다.
설명#
데이터베이스에서 테이블스페이스를 제거하는 구문이다.
tablespace_name#
제거할 테이블스페이스를 명시한다.
INCLUDING CONTENTS#
테이블스페이스 내의 모든 내용도 삭제된다. 만약 테이블스페이스 내에 하나 이상의 객체가 존재할 경우 테이블스페이스를 삭제하려면 반드시 이 절을 명시해야 한다. 그렇지 않은 경우 Altibase는 오류를 발생시키고 DROP TABLESPACE문의 수행은 실패한다.
AND DATAFILES#
INCLUDING CONTENTS 절과 함께 AND DATAFILES 절을 명시하면 파일 시스템에서 삭제될 테이블스페이스와 관련된 모든 파일이 삭제된다.
디스크 테이블스페이스를 삭제할 경우 디스크 테이블스페이스의 모든 데이터 파일이 파일 시스템으로부터 삭제된다.
메모리 테이블스페이스를 삭제할 경우 메모리 테이블스페이스의 모든 체크포인트 이미지 파일들이 파일 시스템으로부터 삭제된다. 그러나, 체크포인트 경로는 삭제되지 않는다.
또한 휘발성 테이블스페이스에 대해서는 AND DATAFILES 절을 사용할 수 없다.
CASCADE CONSTRAINTS#
삭제될 테이블스페이스 내에 존재하는 테이블들의 기본 키, 유니크 키를 참조하는 다른 테이블스페이스에 존재하는 테이블들의 참조 무결성 제약조건(referential integrity constraint)들도 함께 제거하려면 이 절을 명시해야 한다. 즉, 이런 참조 무결성 제약조건이 존재하는 상태에서 이 절을 명시하지 않고 수행하면 Altibase는 오류를 발생시키고 DROP TABLESPACE문의 수행은 실패할 것이다.
제한 사항#
다음 테이블스페이스는 시스템 테이블스페이스로, 사용자가 삭제할 수 없다.
-
SYS_TBS_MEM_DIC
-
SYS_TBS_MEM_DATA
-
SYS_TBS_DISK_DATA
-
SYS_TBS_DISK_UNDO
-
SYS_TBS_DISK_TEMP
예제#
<질의 1> 테이블스페이스 user_data를 제거하라.
iSQL> DROP TABLESPACE user_data;
Drop success.
<질의 2> 디스크 테이블스페이스 user_data의 모든 객체(object)와 데이터 파일들과 함께 테이블스페이스를 삭제하라.
iSQL> DROP TABLESPACE user_data INCLUDING CONTENTS AND DATAFILES;
Drop success.
<질의 3> 메모리 테이블스페이스 user_data의 모든 객체(object)와 데이터 파일들과 함께 테이블스페이스를 삭제하라.
iSQL> DROP TABLESPACE user_memory_tbs INCLUDING CONTENTS AND DATAFILES;
Drop success.
<질의 4> 테이블스페이스 user_data의 모든 객체(object)와 거기에 저장된 모든 테이블의 기본 키 또는 유니크 키를 참조하는 다른 테이블스페이스에 존재하는 테이블들의 모든 참조 무결성 제약조건들을 테이블스페이스와 함께 삭제하라.
iSQL> DROP TABLESPACE user_data INCLUDING CONTENTS CASCADE CONSTRAINTS;
Drop success.