2016-04-01 10 views
1

このアプリケーションでは、OracleDataSourceを数年間使用して成功しており、新しいOracle Universal Connection Pool(UCP)への移行が評価されています。Oracle UCPプールのリークカーソル?

新しいUCPプールを使用すると、アプリケーションはORA-0100:しばらくしてから最大オープンカーソルを実行します。

一部の人々は、同様の問題を抱えていたようです:

は、任意の既知の回避策/修正はありますか?

注:セッションとステートメントは正しく終了し、すべての既知のJDBC/Hibernateベストプラクティスに従います。アプリは24時間365日稼働し、データアクセス層のコードは8歳以上であり、徹底的にテストされています。私たちはOracle 12cを使用しています。

答えて

0

よく知られているすべてのベストプラクティスに従っていましたが、わかりました。いくつかの場所では、正しく閉じることなくScrollableResultを使用していました。この場合、休止状態のセッションが閉じられた後であっても、明らかに元のカーソルをリークします。コード内で見つかったすべての問題を修正し、追加の防御策としてプールのopion maxConnectionReuseTimeを設定して、定期的に接続が更新されるようにしました。

注:それは問題を見つけるために1年かかったしませんでした私たちは、問題を考え出した後、わずか数日で、私は単に質問に答えるのを忘れて...

関連する問題