2 Replies Latest reply: May 2, 2012 2:37 AM by 890990 RSS

    Oracle DataBase 11g(11.2.0.3) + Oracle Client 11g(11.2.0.3) で ORA-01000 エラー

    890990
      以下の現象(ORA-01000エラー)が発生し、根本的な原因が分からずにおります。

      ■環境1
      ・データベース:Oracle DataBase 10g(10.2.0.1)
      ・アプリが使用する Oracle Client:Oracle Client 10g(10.2.0.1)

      ■環境2
      ・データベース:Oracle DataBase 11g(11.2.0.3)
      ・アプリが使用する Oracle Client:Oracle Client 11g(11.2.0.3)

      ■アプリの仕様
      ・アプリは常駐アプリであり、アプリの画面上の終了ボタンを押さない限り動き続ける。
      ・ある特定のクライアントのフォルダを監視し、このフォルダにテキストファイルがユーザにより投入されると、そのデータの情報を基にOracleデータベースに接続し、該当データをSELECT・UPDATEする。

      ■現象
      ・アプリを「環境2」で動かしたところ、ORA-01000(最大オ-プンカーソル数を超えました)のエラーがすぐに発生した。
      ・アプリは、「環境1」で過去6年ほど継続して動作を続けていたが、ORA-01000 のエラーが発生したことはない。

      ■調査結果
      ・「環境1」のオープンカーソル最大値は「300」であった。
      ・「環境2」のオープンカーソル最大値も「300」で同じであった。
      ・アプリはカーソルをオープンしてクローズするまでの間で、他のカーソルをオープンしてループ処理を繰り返しているがそのカーソルをクローズしていなかった。
      →このカーソルをクローズするようにして ORA-01000 のエラーは発生しないようになった。

      ■疑問点
      「環境1」で過去6年ほど動いていたアプリですが、過去に ORA-01000 のエラーが発生したことはありません。
      10g と 11g で カーソルのクローズのポリシーが変わったのでしょうか。
      もちろんアプリのロジックは変更はしておりません。

      以上、ご教示のほど宜しくお願い致します。