IT業界の人を応援!! 資格取得ガイド
 トップページ > 備忘録 > Oracleを設定してみよう(Oracleユーザ削除方法)









Oracleを設定してみよう(Oracleユーザ削除(Oracleスキーマ削除)方法)


Oracleユーザの削除コマンドの説明

当ページではOracleユーザ(Oracleスキーマ)の削除方法を説明します。
まず、オラクルユーザの削除方法ですが、GUIベースのOracleEnterpriseManager(OEM)を使用した方法、およびCUIベース(SQLPLUS)を使用したOracleユーザ(スキーマ)削除方法があります。


ここでは、どの現場でも使用可能なCUIベース(コマンド)によるSQLPLUSによる削除
方法を説明致します。
※なぜ、CUIベースによる削除方法がどの現場でも使用可能かと言うと、必ず
SQLPLUSはインストールされますが、GUIベースのOEMは現場によってはインストール
されていない事がある為です。



オラクルユーザ削除方法(スキーマ削除)の構文

SQL> drop user ユーザー名 (cascade);


例)以下ではオラクルユーザ名がtestを削除する場合の例です。

SQL> drop user test cascade;


オラクルユーザ削除方法(スキーマ削除)の構文の細かい説明
上記の構文で、削除対象ユーザを削除します。

覚えておくポイントとしては、cascadeとは?です。cascadeが必要でない場合と必要な場合の説明を以下で致します。

cascadeが必要でない場合
削除予定のユーザがオブジェクト(テーブルやインデックス)を持っていない場合。

cascadeが必要な場合
削除予定のユーザがオブジェクト(テーブルやインデックス)を持っている場合はcascadeが必要になります。


cascadeを付けておけば、オブジェクトを持っていてもいなくても削除出来るので、常に付けておくで覚えておけばいいと思います。



実際にOracleユーザを削除してみる

○オブジェクトをユーザが持っていない場合


SQLPLUS経由でオラクルに接続する
[oracle@localhost ~]$ sqlplus / as sysdba
SQL>
SQL> show user
ユーザーは"SYS"です。
SQL>

TESTユーザがオブジェクト(テーブルやインデックス)を持っていない事を確認。
SQL> select OBJECT_NAME from dba_objects where OWNER='TEST';

レコードが選択されませんでした。   <=持ってない事を確認。

SQL>
SQL> drop user TEST;          <=cascadeを付けずに削除。

ユーザーが削除されました。       <=削除出来た!

SQL>



○オブジェクトをユーザが持っている場合

SQLPLUS経由でオラクルに接続する
[oracle@localhost ~]$ sqlplus / as sysdba
SQL>
SQL> show user
ユーザーは"SYS"です。
SQL>

TESTユーザにオブジェクト(テーブルやインデックス)を持たせる。

SQL> create table TEST.test_table    <=テーブル作成
2 (name varchar2(10),
3 phone varchar2(10));

表が作成されました。

SQL>
SQL> select OBJECT_NAME from dba_objects where OWNER='TEST'; 
※DBA_OBJECTSテーブルで確認。

OBJECT_NAME
---------------------------------------------------------
TEST_TABLE

SQL>
SQL>
SQL> drop user TEST;    <=cascadeなしでOracleユーザ削除を実行。
drop user TEST
*
行1でエラーが発生しました。:
ORA-01922: TEST'を削除するにはCASCADEを指定する必要があります
※CASCADEを付けろ!と怒られる。。

SQL>
SQL> drop user TEST cascade; <=cascade付きでOracleユーザ削除を実行。

ユーザーが削除されました。    <=Oracleユーザを削除出来た!

SQL>





作者が読んでよかったので推薦するオラクル関連の本nze DBA10g
絵で見てわかるOracleの仕組み
絵で見て、Oracleの動作を理解出来る本です。

Oracleの動作を文字やコマンドで解説されている本はたくさんありますが、どうも解りにくい。。

この本は、その”解りにくい・・”の箇所を極力、絵で表してくれているお勧めの本です。
Oracleのアーキテクチャ(仕組み)をイメージしやすいように書かれています。

作者もこの本で”もやもや”しているオラクルの動作を整理出来ました!!

目的地を人に聞く時、「次の次の信号を右に曲がって、次を左に曲がって、3件目です」より、「今ここで、ここが目的地」と地図で教えてもらった方が解りやすいし、道を間違っても、自分の力で辿りつけますよねぇ。

要は、絵で理解すると解り易いし、道(手順)を外れても回復する応用力が付くと言う事です。
現場で使えるSQL

この本を理解出来れば、現場のDBがOracleであろうがSQLServerであろうがどんなDBにも対応出来ます。

また、この本は現場でよく使用するSQL文を、例題、正解、解説の形で紹介されています。
例題数は100個と多いですが、この100個を覚えると現場がオラクルであろうが、SQLServerであろうがどのなDBを使用している現場にも対応出来ます。

100個の例題の中にはよく使用するSQLから作業効率を高めるSQL、よくやるミスの回避方法が掲載されています。

知っていました? 普及しているデータベースのSQLは国際標準のANSIという規格に準拠している事を。
要は、OracleでSQLを書ける人は他のデータベースでも同じように書けます。

例えるなら、関西弁をしゃべれる人は標準語を理解出来るし、博多弁、広島弁と違う場所(異なるDBのSQL)も理解出来ますし、使えます。ANSIとは日本語の基本を決めるルールです。多少は場所によるローカルルールはありますが、基本ルールに基づいています。






Copyright(C) IT業界の人を応援!!資格取得ガイド All Rights Reserved