Oracleの表領域を削除するDROP TABLESPACE【SQL】

Oracle表領域を削除するDROP TABLESPACE【SQL】

Oracleの表領域は削除できます。表領域を削除するには、DROP TABLESPACE~ を使います。

-- 表領域を削除する
DROP TABLESPACE {表領域} INCLUDING CONTENTS;

例1. 表領域TABSP1を削除するSQL

-- 表領域TABSP1を削除する
DROP TABLESPACE TABSP1 INCLUDING CONTENTS;

これで表領域TABSP1を削除できました。INCLUDING CONTENTSは表領域にデータがある場合につけないとエラーになります。表領域にデータが入っていなければINCLUDING CONTENTSは不要ですが、そういったケースはまれなのでつけておけばよいですね。

例2. 表領域TABSP1をデータファイルごと削除するSQL

-- 表領域TABSP1をファイルごと削除する
DROP TABLESPACE TABSP1 INCLUDING CONTENTS AND DATAFILES;

表領域を削除してもデータファイルは削除されません。まっさらにしたい場合はデータファイルも削除します。データファイルごと削除するにはAND DATAFILESをつけます。これでファイル毎、表領域を削除できます。

例3. 表領域TABSP1をデータファイル・制約ごと削除するSQL

-- 表領域TABSP1をファイル・制約ごと削除する
DROP TABLESPACE TABSP1 INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;

表領域に制約があれば削除できません。その場合はCASCADE CONSTRAINTSをつけます。これでファイルと制約をまとめて表領域を削除できます。

以上、Oracleの表領域を削除するSQL「DROP TABLESPACE」でした。

 

コメント