リスナー(TNSLSNER.EXE)のメモリ使用量が上昇してしまう
847722Apr 26 2011 — edited Apr 28 2011お世話になっております。
データベースサーバ上で稼働しているリスナー(TNSLSNER.EXE)のメモリ使用量が日々上昇してしまう現象が発生しており、原因について調査しています。
※放っておくとOSがメモリ不足に陥ってしまうため、現在は月1程度でリスナーの再起動を行い、メモリを開放しています。
このデータベースへの接続状況として、
+ 1)専用サーバで接続される。+
+ 2)ピーク時で約1200程度の接続がある。+
+ 3)クライアント側でコネクションプーリングを使用していない。+
ということがあげられることと、専用サーバ接続の特徴である
+ 1)専用サーバ接続は1セッションごとにサーバプロセスが必要となるため、多くのセッションが確立される環境ではサーバリソースを消費してしまう。よって、接続数が多くなるような場合は共有サーバ接続を使用するか、コネクションプーリングを使用するのが一般的。+
+ 2)専用サーバ接続では、ユーザプロセスがデータベース要求を行っていない場合も、サーバプロセスはアイドル状態で待機する。+
ということから、専用サーバ接続であるにも関わらず、コネクションプーリングを使用しない状態で接続が大量になってしまうことが原因で、リスナーのメモリ使用量が日々上昇してしまうのかな?と考えていますが、似たような事例や原因についての記述が見つからず、これが正しいのかどうかの判断ができません。
ご存知の方いらっしゃいましたら教えていただけないでしょうか。
なお、使用しているOracleの環境およびバージョンは以下のとおりとなります。
◆データベースサーバ
OS:Windows Server 2003 Standard Edition(64bit)
Oracleデータベース:Oracle Database 10.2.0.4 Standard Edtion 2node RAC(64bit)
◆クライアント
OS:Redhat Enterprise Linux 4.5 ES
ミドルウェア:OCCI