セッションの再利用回数の調査(v$session serial#)
セッションの再利用回数の調査(v$session serial#)
0.改訂履歴
1.はじめに
このドキュメントでは, 手順を説明する.
2.シリアル値の確認
- connect/disconnectを繰り返すと,プロセスが再利用される.
- 再利用されると,セッションのシリアル値がカウントアップする.
- よって,セッションのシリアル値を確認してみる.
SQL> select sid,username,serial# from v$session order by serial#
2 ;
SID USERNAME SERIAL#
---------- ------------------------------ ----------
1 1
2 1
3 1
4 1
24 APPLE 1
5 1
6 1
19 QUADRA 2
20 QUADRA 2
26 APPLE 2
21 QUADRA 2
SID USERNAME SERIAL#
---------- ------------------------------ ----------
16 QUADRA 4
17 APPLE 4
12 APPLE 5
14 QUADRA 5
62 APPLE 5
44 QUADRA 5
33 APPLE 5
32 APPLE 5
15 APPLE 5
18 APPLE 6
〜略〜
8 QUADRA 15845
161 18785
10 20085
139 APPLE 20806
162 QUADRA 23384
173行が選択されました。
SQL>
|
3.効率の悪い?あまり仕事をしていないセッションを洗い出す
select sid,username,last_call_et,serial#
from v$session
where status='INACTIVE'
order by last_call_et desc,serial# desc
|
SQL> select sid,username,last_call_et,serial#
2 from v$session
3 where status='INACTIVE'
4 order by last_call_et desc,serial# desc
5 ;
SID USERNAME LAST_CALL_ET SERIAL#
---------- ------------------------------ ------------ ----------
16 QUADRA 40899 4
19 QUADRA 40899 2
14 QUADRA 40893 5
20 QUADRA 40893 2
21 QUADRA 40869 2
142 LC475 37232 2305
52 QUADRA 36995 85
85 APPLE 34676 881
143 LC475 33406 944
108 LC475 33069 371
130 QUADRA 31678 2343
SID USERNAME LAST_CALL_ET SERIAL#
---------- ------------------------------ ------------ ----------
94 APPLE 30277 624
118 LC475 27836 1272
144 LC475 26369 4009
112 APPLE 24187 1469
128 LC475 23351 277
146 QUADRA 22453 7436
149 LC475 20669 2527
137 QUADRA 18385 768
62 APPLE 6 5
〜略〜
SID USERNAME LAST_CALL_ET SERIAL#
---------- ------------------------------ ------------ ----------
135 APPLE 3 347
140 APPLE 3 271
29 QUADRA 3 95
45 APPLE 3 9
80 APPLE 3 9
41 APPLE 3 6
9 APPLE 0 2404
53 QUADRA 0 26
84 APPLE 0 9
43 LC475 0 8
164行が選択されました。
SQL>
|
- これをみると,SIDの16,19あたりは,効率が悪いセッションくさい.
4.ユーザ毎のセッション情報のサマリを表示してみる
SQL> select username,count(*),sum(last_call_et),sum(serial#)
2 from v$session
3 group by username;
USERNAME COUNT(*) SUM(LAST_CALL_ET) SUM(SERIAL#)
------------------------------ ---------- ----------------- ------------
APPLE 45 397229 87453
QUADRA 53 135001 69166
LC475 36 216234 23933
SYS 1 0 4386
KANAKO 30 3277 3730
10 253048 53381
6行が選択されました。
SQL>
|
- ユーザ毎に,現在のセッション数と,アイドルしている時間のサマリ,再利用回数のサマリを取っている.
- これでみると,ユーザAPPLEは,connect/disconnectを繰り返している回数が一番多く,かつ,接続しっぱなし出空いている時間も多い傾向があると考えられる.
- こういった場合は,トイレに行って尻を吹かないと言うか,開けたドアを閉めないユーザプログラムがいるのでは?とおもってみたりする.