■管理者ユーザ以外でのDB接続時、情報取得に便利な関数
・基本構文
SYS_CONTEXT( 'USERENV', パラメータ )
※第一引数で指定した'USERENV'に関連付けられた、第二引数に指定パラメータの値を返す
■主要パラメータ
CURRENT_SCHEMA カレントスキーマで使用されているデフォルトのスキーマ名 CURRENT_SCHEMAID 現行のセッションで使用されているデフォルトのスキーマID DB_DOMAIN データベースのドメイン DB_NAME データベース名( DB_NAME初期化パラメータ ) DB_UNIQUE_NAME データベース名( DB_UNIQUE_NAME初期化パラメータ ) SESSIONID セッションID LANGUAGE 現在のセッションで使用している言語・地域 LANG 文字列「LANGUAGE」の略称 ISDBA DBA権限を保有している「true」、保有してない「false」 ENTRYID 現行セッションの監査エントリ番号 HOST 接続中のクライアントのホスト・マシン名 IP_ADDRESS 接続中のクライアントのマシンのIPアドレス SERVER_HOST インスタンスを実行しているマシンのホスト名 SESSION_USER 現行のユーザーが認証されているデータベース・ユーザー名 SESSION_USERID 現行のユーザーが認証されているデータベース・ユーザーID OS_USER クライアント・プロセスのOS・ユーザー名 INSTANCE 現行のインスタンスのインスタンス識別番号 INSTANCE_NAME インスタンス名 TERMINAL 端末に対するオペレーティング・システム識別子 CLIENT_INFO DBMS_APPLICATION_INFOパッケージを使用する アプリケーションが格納できるユーザーセッション情報
■使用例
※現行セッションのユーザー名を取得
SQL> select sys_context( 'userenv', 'session_user' ) from dual; SYS_CONTEXT('USERENV','SESSION_USER') --------------------------------------------------- TEST