2012-04-23 18 views
5

Oracle-11g XEと通信するいくつかの単体テストがあります。個別にテストを実行すると、正常に動作しますが、私はそれらをすべて実行すると、最初のいくつかのパス、およびDB接続を作成しようとすると、残りは次のエラーで失敗します。ORA-12516でJDBC接続に失敗する

ORA-12516, TNS:listener could not find available handler with matching protocol stack 

これは関係なく、私が実行してどのような順序起こりませんテストでは、問題は、私はDBサーバー上のリソースのいくつかの種類を使用しているようだ。

私はゆっくりとテストを実行している、として実行時に使用中の接続の#をチェックしてみました:、セッションの#は常に26と28の間に置いて、制限が49に設定されている

select count(*) from v$session; 

私はその問題が何であるか分かりません。

テストをすばやく実行すると、問題が悪化します。追加の遅延なしでそれらを実行すると、90%がこのエラーで失敗します。何が起こっているのかを知るためにtearDown()に睡眠を入れ、その場合には約10%しか失敗しません。あなたはおそらく、PROCESSESパラメータの値を大きくする必要が

答えて

0

五$パラメータのセッションとプロセス制限を見てもALERT.LOGとのlistener.log 答えはそこにどこか

3

です。また、 "lsnrctl servcies"コマンドを実行して、サービスがブロックされているかどうかを確認します。私はリスナーが賢明で、サービスに要求されている接続の数を数える同様の問題を思い出します。 PMONが通知するまで、リスナーは切断について学習しません。それは5〜10分後にすることができます。だから、リスナーはあなたに多くのオープンなコネクションがあると思っています.PMONがそうでないと言われるまで、積極的になり、これ以上コネクションを引き渡しません。 PROCESSESパラメータを増やすと、ウィンドウに表示される可能性のある接続数にバンプすることができます。

UPDATE:このリンクは、それを説明しますhttps://forums.oracle.com/forums/thread.jspa?threadID=360226