Database OracleDB インフラ

[OracleDB] 表領域変更SQL「drop tablespace」文とポイントを紹介

投稿日:2018年6月4日 更新日:

こんにちは!シミダイ(@shimidai2100)です。

Oracle Databaseの表領域削除SQL「drop tablespace」文とポイントを紹介します。

単純な削除SQLは各種メディアやブログで紹介されていますが、この記事では表領域を削除する時の重要なポイントも合わせて紹介します。

この記事を読んで表領域の正しい削除方法をマスターしてください。

この記事の内容

  • 表領域の削除SQL「drop tablespace」の基本構文を紹介
  • 表領域とOS上のファイルを強制的に削除する「drop tablespace」文
  • 表領域削除時に指定できる句を紹介

表領域の削除SQL:drop tablespace

まずは表領域削除のSQLの基本構文を紹介します。

drop tablespaceは、既に存在している表領域を削除させるSQL文になります。

何も指定しないとOracleDatabase上から論理的に削除され、OS上からファイルが削除されないので注意してください。

↓がサンプルSQLになります。

表領域とOS上のファイルを強制的に削除するdrop tablespace文

↓はサンプルSQLになります。

ではそれぞれの指定について紹介していきます。

表領域内に含まれるオブジェクトも削除:including contents

表領域内に含まれるオブジェクトを削除させるために「including contents」を指定します。

オブジェクトが含まれている場合、オラクルエラー「ORA-01549: 表領域が空ではありません。」が出力されます。

↓がサンプルSQLになります。

OS上のファイルも合わせて削除:and datafiles

表領域内に含まれるオブジェクトを削除させるために「and datafiles」を指定します。

使用する際に必ず「including contents」を使用しないと、

オラクルエラー「ORA-02173: DROP TABLESPACEのオプションが無効です。」が出力されます。

↓がサンプルSQLになります。

主キーや一意キーを参照する表から参照整合性制約を削除:cascade constraints

主キーや一意キーを参照する表から参照整合性制約を削除させるために「cascade constraints」を指定します。

使用する際に必ず「including contents」を使用しないと、

オラクルエラー「ORA-02173: DROP TABLESPACEのオプションが無効です。」が出力されます。

↓がサンプルSQLになります。

 

参考:しばちょう先生の試して納得!DBAへの道 第7回 表領域の管理方法を理解

スポンサードリンク

関連記事

-Database, OracleDB, インフラ

Translate »

Copyright© shimidai2100 , 2018 All Rights Reserved.