現在のセッション情報を確認する

Pocket

【概要】
V$SESSIONにより、カレント・セッションごとのセッション情報を示します。
【SQL文】
/*
|| ■現在のセッション情報を確認する
||
|| 【項目の説明】
|| SID,SERIAL# :セッションを一意に識別します。
|| APP_PROGRAM :接続しているアプリケーション・プログラム名
|| APP_PID :接続しているアプリケーション・プログラムのプロセスID
|| ORACLE_PID :Oracleサーバ・プロセスのプロセスID
|| ORACLE_USER :Oracleユーザ名
|| OS_USER :OSユーザ名
|| MACHINE_NAME :アプリケーション・プログラムが実行されているマシン名
|| TERMINAL :アプリケーション・プログラムが実行されている端末
|| SQLNET :SQL*Net8の接続形態
||- DEDICATED 専用サーバ接続
||- SHARED MTSサーバ接続(処理中)
||- NONE MTSサーバ接続(処理は行われていない)
|| LAST_CALL リケーション・プログラムからの処理要求がない時間:アプ
|| SESSION_STATUS :セッションの状態
||- ACTIVE 処理中の状態
||- INACTIVE 特に処理が行われていない状態
||- KILLED ALTER SYSTEM KILL SESSIONが実行された状態
*/
set echo off
set lines 130
set pages 1000

clear col
ttitle off

col SIDSERIAL# for a11
col APP_PROGRAM for a12
col APP_PID for a9
col ORACLE_PID for a9
col ORACLE_USER for a8
col OS_USER for a17
col MACHINE_NAME for a14
col TERMINAL for a10
col SQLNET for a12
col LAST_CALL for 9,999,999
col SESSION_STATUS for a8

ttitle left ‘■■■ セッション情報 リスト ■■■’
spool session_info.lis

SELECT to_char(s.sid) || decode(s.sid,NULL,NULL,’,’) || to_char(s.serial#) SIDSERIAL#
, s.program APP_PROGRAM
, s.process APP_PID
, p.spid ORACLE_PID
, s.username ORACLE_USER
, s.osuser OS_USER
, s.machine MACHINE_NAME
, nvl(s.terminal,’NULL’) TERMINAL
, s.server SQLNET
, last_call_et LAST_CALL
, status SESSION_STATUS
FROM v$process p, v$session s
WHERE s.paddr(+) = p.addr
AND s.username not in (‘SYS’,’SYSTEM’)
;
spool off
clear col
ttitle off
set line 80

以上です (^^♪