セッションとプロセス
セッションとプロセス
0.改訂履歴
1.はじめに
このドキュメントでは,セッションとプロセスの関係について調べる手順を説明する.
2.プロセス数とセッション数を調べる
- sysユーザでOracleに接続する.
- v$ビューを参照して,プロセス数とセッション数を調べる.
SQL> select count(*) from v$process;
COUNT(*)
----------
175
SQL> select count(*) from v$session;
COUNT(*)
----------
172
SQL>
|
3.そのセッションはどのプロセスの持ち物か調べる
- まずは,特定のセッションID(sid)のセッション情報についてv$sessionビューを調べる.
- ここではたまたま177番を使ってみた.意味は無い.
SQL> select paddr,sid,status,username,serial#,program from v$session
2 where sid=177;
PADDR SID STATUS USERNAME SERIAL#
-------- ---------- -------- ------------------------------ ----------
PROGRAM
----------------------------------------------------------------
031F2B4C 177 INACTIVE APPLE 23
? @web-svr3 (TNS V1-V3)
SQL>
|
- プログラムのアドレスが判った.
- このアドレスを元に,v$processを調べる.
SQL> select addr,pid,spid,program from v$process
2 where addr = '031F2B4C'
3 ;
ADDR PID SPID
-------- ---------- ---------
PROGRAM
----------------------------------------------------------------
031F2B4C 178 329
ORACLE.EXE
|
- OracleのプロセスIDが178番だと判った.
- OS上のIDでは,329となる.よって,UNIX系のOSでkillするのはこの329に対してである.
SQL> select * from v$process where spid=329;
ADDR PID SPID USERNAME SERIAL# TERMINAL
-------- ---------- --------- --------------- ---------- ----------------
PROGRAM B LATCHWAI
---------------------------------------------------------------- - --------
LATCHSPI
--------
031F2B4C 178 329 SYSTEM 2 DB
ORACLE.EXE
SQL>
|