前提条件
ロールにADMIN OPTIONが付与されている必要があります。付与されていない場合は、ALTER ANY ROLEシステム権限が必要です。
ロールをIDENTIFIED GLOBALLYに変更する前に、次の作業が必要です。
ロールに対して外部的に識別されたロール権限をすべて取り消します。
すべてのユーザー、ロールおよびPUBLICからロールの付与を取り消します。
この規則の唯一の例外として、現在ロールを変更しているユーザーからはそのロールを取り消さないでください。
セマンティクス
ALTER ROLE文のキーワード、パラメータおよび句の意味は、すべてCREATE ROLE文のキーワード、パラメータおよび句と同じです。
ロールの変更の制限事項: NOT IDENTIFIEDロールは、別のロールに付与されている場合にはどのIDENTIFIEDタイプにも変更できません。
ロールの変更の注意事項: ロールの変更には、次の注意事項があります。
すでに使用可能なロールのユーザー・セッションには影響しません。
パスワードによって識別されるロールをアプリケーション・ロールに変更する場合(USING package句を使用)、ロールに対応付けられたパスワード情報は失われます。次にロールが使用可能になるときから、新しい認証方式が使用されます。
ALTER ANY ROLEシステム権限を持つユーザーが、IDENTIFIED GLOBALLYロールをIDENTIFIED BY password、IDENTIFIED EXTERNALLYまたはNOT IDENTIFIEDに変更すると、非グローバルなロールを作成した場合と同様に、そのユーザーに変更されたロールがADMIN OPTION付きで付与されます。
詳細は、「CREATE ROLE」および次の例を参照してください。
例
ロール識別機能の変更例: 次の文は、ロールwarehouse_user(「ロールの作成例:」で作成)をNOT IDENTIFIEDに変更します。
ALTER ROLE warehouse_user NOT IDENTIFIED;
ロール・パスワードの変更例: 次の文は、ロールdw_manager(「ロールの作成例:」で作成)のパスワードをdataに変更します。
ALTER ROLE dw_manager IDENTIFIED BY data;
パスワードの変更後、ロールdw_managerが付与されているユーザーは、新しいパスワードdataを使用してこのロールを使用可能にする必要があります。
アプリケーション・ロールの例: 次の例は、ロールdw_managerをhr.adminパッケージを使用してアプリケーション・ロールに変更します。
ALTER ROLE dw_manager IDENTIFIED USING hr.admin;