説明
この関数は、現在の時刻におけるコンテキストネームスペースに関連付けられたパラメータの値を返します。
構文
SYS_CONTEXT('namespace', 'parameter' [, length ])
パラメータの説明
| パラメータ | 説明 |
|---|---|
| namespace | ネームスペースを指定します。USERENVネームスペースと任意のカスタムネームスペースをサポートします。 |
| parameter | ネームスペースに関連付けられたパラメータを指定します。現在サポートされているパラメータは、以下の表 ネームスペース USERENV の定義済みパラメータ に示されています。 |
| length | 返される値の長さをバイト単位で指定します。オプションです。値の範囲は [1, 4000] で、デフォルトの長さは256バイトです。 |
ネームスペース USERENV の定義済みパラメータ
| パラメータ名 | 戻り値 |
|---|---|
| CON_ID | CDB(Container DataBase)に接続してクエリを実行した場合、現在のコンテナIDを返します。それ以外の場合は、0 を返します。 |
| CON_NAME | CDBに接続してクエリを実行した場合、現在のコンテナ名を返します。それ以外の場合は、DB_NAME パラメータで指定されたデータベース名を返します。 |
| CURRENT_SCHEMA | 現在アクティブなデフォルトスキーマ名。 |
| CURRENT_SCHEMAID | 現在アクティブなデフォルトスキーマID。 |
| CURRENT_USER | 現在権限が有効なデータベースユーザー名。 |
| CURRENT_USERID | 現在権限が有効なデータベースユーザーID。 |
| DB_NAME | データベース名。 |
| INSTANCE | 現在のインスタンスの識別子。 |
| INSTANCE_NAME | 現在のインスタンス名。 |
| IP_ADDRESS | クライアントマシンのIPアドレス。 |
| LANG | 言語の略称名で、LANGUAGE パラメータよりも短い形式です。 |
| LANGUAGE | 現在のセッションで使用される言語とロケール、およびデータベースの文字セット。 |
| SESSION_USER | ログインしたデータベースユーザー名で、この値はセッション全体を通じて変更されません。 |
| SESSION_USERID | ログインしたデータベースユーザーID。 |
| SID | SESSIONID | 現在のセッションのクライアントセッションIDを取得します。このIDは、クライアント上でのセッションの一意の識別子です。 |
戻り値の型
VARCHAR2データ型を返します。
例
ネームスペース USERENV 内のセッションのクライアントセッションIDを確認します。
obclient [SYS]> SELECT SYS_CONTEXT ('USERENV', 'SESSIONID') AS Client_Session_ID FROM DUAL;
または
obclient [SYS]> SELECT SYS_CONTEXT ('USERENV', 'SID') AS Client_Session_ID FROM DUAL;
実行結果は次のとおりです:
+-------------------+
| CLIENT_SESSION_ID |
+-------------------+
| 3221488043 |
+-------------------+
1 row in set
関連ドキュメント
SHOW PROCESSLIST ステートメントを使用して、現在のデータベース内のセッション数とセッションIDを照会することもできます。詳細については、テナントセッションの表示を参照してください。