DROP USER

目的

DROP USER文を使用すると、データベース・ユーザーを削除できます。また、オプションでユーザーのオブジェクトを削除することもできます。

Oracle Automatic Storage Management (Oracle ASM)クラスタでは、AS SYSASMと認証されたユーザーは、この句を使用して、現行のノードのOracle ASMインスタンスに対してローカルなパスワード・ファイルでユーザーを削除できます。

ユーザーを削除すると、そのユーザーのすべてのスキーマ・オブジェクトもごみ箱から消去されます。

ノート:

SYSユーザーまたはSYSTEMユーザーを削除しないでください。これらのユーザーを削除すると、データベースが破損します。

関連項目:

ユーザーの作成および変更の詳細は、「CREATE USER」および「ALTER USER」を参照してください。

前提条件

DROP USERシステム権限が必要です。Oracle ASMクラスタでは、AS SYSASMと認証される必要があります。

構文

セマンティクス

user

削除するユーザーを指定します。CASCADEを指定しない場合、またはユーザーのオブジェクトを最初に明示的に削除しない場合、所有するスキーマにオブジェクトが含まれているユーザーは削除されません。

ユーザーの削除の制限事項

履歴追跡にフラッシュバック・データ・アーカイブを使用する表がスキーマに含まれているユーザーは削除できません。まず、表でのフラッシュバック・データ・アーカイブの使用を無効にする必要があります。

CASCADE

CASCADEを指定すると、ユーザーを削除する前に、そのユーザーのスキーマ内にあるすべてのオブジェクトを削除できます。所有するスキーマにオブジェクトが含まれているユーザーを削除する場合は、必ずこの句を指定します。

  • ユーザーのスキーマに表がある場合、表が削除され、その表の主キーまたは一意キーを参照している他のユーザーのスキーマ内にある表の参照整合性制約も自動的に削除されます。

  • この句で表が削除される場合、その表の列で作成されたすべてのドメイン索引も削除され、適切な削除ルーチンが起動されます。

    関連項目:

    これらのルーチンの詳細は、『Oracle Databaseデータ・カートリッジ開発者ガイド』 を参照してください。

  • 他のスキーマにある次のオブジェクトは削除されず、無効にされます。

    • 削除されたユーザーのスキーマ内のビューまたはシノニム

    • 削除されたユーザーのスキーマ内のオブジェクトを問い合せるストアド・プロシージャ、ファンクションまたはパッケージ

  • 削除されたユーザーのスキーマ内にある表に基づく他のスキーマ内のマテリアライズド・ビューは削除されません。ただし、実表は存在しないため、他のスキーマ内のマテリアライズド・ビューはリフレッシュできなくなります。

  • ユーザーのスキーマにあるすべてのトリガーは削除されます。

  • ユーザーが作成したロールは削除されません。

ノート:

Oracle Databaseでは、FORCEを使用するとユーザーが所有するすべての型が削除されます。詳細は、「DROP TYPE」「FORCE」キーワードを参照してください。

データベース・ユーザーの削除: 例

ユーザーSidneyのスキーマ内にオブジェクトがない場合は、次の文を発行してsidneyを削除できます。

DROP USER sidney; 

sidneyのスキーマ内にオブジェクトがある場合は、次の文のようにCASCADE句を指定して、sidneyとそのオブジェクトを削除する必要があります。

DROP USER sidney CASCADE;