2014年8月15日金曜日

[Oracle] ユーザーに設定されているデフォルト表領域を削除したらどうなるか試してみた

一度、表領域を削除する(かもしれない)要件に出くわしたので
ローカル環境でどうなるかテストしてみました。

1) 表領域の作成
CREATE TABLESPACE tbs_test
DATAFILE 'tbs_test.dbf' SIZE 3M REUSE
LOGGING
ONLINE;

2) ユーザーの作成
CREATE USER test_user
IDENTIFIED BY password
DEFAULT TABLESPACE tbs_test;

-- 権限は適当に付与

3) 表領域の削除
DROP TABLESPACE tbs_test
INCLUDING CONTENTS
CASCADE CONSTRAINTS;

-- 削除は成功する

4) TEST_USERのデフォルト表領域確認
SELECT DEFAULT_TABLESPACE FROM DBA_USERS
WHERE USERNAME = 'test_user';

-- デフォルト表領域はtbs_testのまま

5) 表領域の指定なしでテーブルを作成してみる
CREATE TABLE test_user.test_table (
  column1 NUMBER
);

-- ORA-00959: 表領域'tbs_test'は存在しません。


なんか、Oracle Masterの試験に出てきそうな内容ですが
せっかく試してみたので覚書。

0 件のコメント:

コメントを投稿