Oracleでユーザーとユーザーに紐つくデータファイルの削除方法について記載します。
目次
ユーザーとデータファイルの削除方法
例として削除対象のユーザー名を “TestUser” としています。
SQLで実際の環境で置き換える必要がある箇所は、赤文字で記載しています。
① ユーザーに紐つく表領域の確認
ユーザーには、デフォルト表領域とTEMP表領域が紐ついています。
データファイルを削除する際に必要になるので、ユーザーにどの表領域が紐ついているか確認します。
SELECT default_tablespace, temporary_tablespace FROM dba_users WHERE username = ‘TestUser‘;
表示された
default_tablespace
temporary_tablespace
は、③ の手順で使用するのでメモしておきます。
② ユーザーの削除
次のSQLを実行してユーザーを削除します。
DROP USER TestUser CASCADE;
③ 表領域・データファイルの削除
次のSQLを実行して表領域と紐つくデータファイルを削除します。
デフォルト表領域・データファイルの削除
DROP TABLESPACE test_user_def_tblspace INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;
※ 赤字は、①で取得した default_tablespace を指定します。
TEMP表領域・データファイルの削除
DROP TABLESPACE test_user_temp_tblspace INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;
※ 赤字は、①で取得した temporary_tablespace を指定します。
以上でユーザーとデータファイルを削除することができます。
不要なユーザーを残しておくと余分にディスク容量を圧迫するので、定期的に不要なユーザー・データファイルは削除することをお勧めします。