「Oracle」SYS_CONTEXT関数を使ってシステムの情報を取得する

環境
Oracle 11.2

操作方法
1.セッションIDを取得する

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SQL> select sys_context('userenv', 'SID') from dual;
SYS_CONTEXT('USERENV','SID')
--------------------------------------------------------------------------------
10
SQL> select sys_context('userenv', 'SID') from dual; SYS_CONTEXT('USERENV','SID') -------------------------------------------------------------------------------- 10
SQL> select sys_context('userenv', 'SID') from dual;

SYS_CONTEXT('USERENV','SID')
--------------------------------------------------------------------------------
10

2.クライアントのマシン名を取得する

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SQL> select sys_context('userenv', 'HOST') from dual;
SYS_CONTEXT('USERENV','HOST')
--------------------------------------------------------------------------------
WORKGROUP\CFT2002
SQL> select sys_context('userenv', 'HOST') from dual; SYS_CONTEXT('USERENV','HOST') -------------------------------------------------------------------------------- WORKGROUP\CFT2002
SQL> select sys_context('userenv', 'HOST') from dual;

SYS_CONTEXT('USERENV','HOST')
--------------------------------------------------------------------------------
WORKGROUP\CFT2002

3.クライアントのIPアドレスの取得

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SQL> select sys_context('userenv', 'IP_ADDRESS') RESULT from dual;
RESULT
--------------------------------------------------------------------------------
172.17.10.15
SQL> select sys_context('userenv', 'IP_ADDRESS') RESULT from dual; RESULT -------------------------------------------------------------------------------- 172.17.10.15
SQL> select sys_context('userenv', 'IP_ADDRESS') RESULT from dual;
RESULT
--------------------------------------------------------------------------------
172.17.10.15

4.クライアントのOSユーザー名の取得

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SQL> select sys_context('userenv', 'OS_USER') RESULT from dual;
RESULT
--------------------------------------------------------------------------------
Administartor
SQL> select sys_context('userenv', 'OS_USER') RESULT from dual; RESULT -------------------------------------------------------------------------------- Administartor
SQL> select sys_context('userenv', 'OS_USER') RESULT from dual;

RESULT
--------------------------------------------------------------------------------
Administartor

5.サーバのホスト名の取得

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SQL> select sys_context('userenv', 'SERVER_HOST') RESULT from dual;
RESULT
--------------------------------------------------------------------------------
cftdev01
SQL> select sys_context('userenv', 'SERVER_HOST') RESULT from dual; RESULT -------------------------------------------------------------------------------- cftdev01
SQL> select sys_context('userenv', 'SERVER_HOST') RESULT from dual;

RESULT
--------------------------------------------------------------------------------
cftdev01

6.データベース名の取得

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SQL> select sys_context('userenv', 'DB_NAME') RESULT from dual;
RESULT
--------------------------------------------------------------------------------
ARKDB
SQL> select sys_context('userenv', 'DB_NAME') RESULT from dual; RESULT -------------------------------------------------------------------------------- ARKDB
SQL> select sys_context('userenv', 'DB_NAME') RESULT from dual;

RESULT
--------------------------------------------------------------------------------
ARKDB

7.インスタンス名の取得

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SQL> select sys_context('userenv', 'INSTANCE_NAME') RESULT from dual;
RESULT
--------------------------------------------------------------------------------
ARK
SQL> select sys_context('userenv', 'INSTANCE_NAME') RESULT from dual; RESULT -------------------------------------------------------------------------------- ARK
SQL> select sys_context('userenv', 'INSTANCE_NAME') RESULT from dual;

RESULT
--------------------------------------------------------------------------------
ARK

8.現行セッションのDBユーザ名の取得

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SQL> select sys_context('userenv', 'SESSION_USER') RESULT from dual;
RESULT
--------------------------------------------------------------------------------
TEST
SQL> select sys_context('userenv', 'SESSION_USER') RESULT from dual; RESULT -------------------------------------------------------------------------------- TEST
SQL> select sys_context('userenv', 'SESSION_USER') RESULT from dual;

RESULT
--------------------------------------------------------------------------------
TEST

 

Oracle

Posted by arkgame