うんちくメモ

ただのメモです。内容は妄想の可能性があります

SYS_CONTEXT関数

■管理者ユーザ以外での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