UJP - 技術情報

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

     

セッションの再利用回数の調査(v$session serial#)

セッションの再利用回数の調査(v$session serial#)


0.改訂履歴

  • 2003.01.31 新規作成

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文を実行してみる.
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を繰り返している回数が一番多く,かつ,接続しっぱなし出空いている時間も多い傾向があると考えられる.
  • こういった場合は,トイレに行って尻を吹かないと言うか,開けたドアを閉めないユーザプログラムがいるのでは?とおもってみたりする.


広告スペース
Google