私が扱っているアプリケーションのストアドプロシージャは、ORA 01001:無効なカーソルエラーを散発的に生成しています。エラーが発生すると、多くのユーザーがこのエラーを応答としてヒットし、しばらくすると自動的に修正され、通常の状態に戻ります。
このORA01001エラーは、公式ドキュメント(Oracle 10gドキュメント)には記載されていません。しかし、そのエラーはOracle10gから発生していることがわかりました。最大オープンカーソルを定期的に監視しましたが、問題はありませんでした。エラーが生成されるストアドプロシージャポイントは、単純なSELECT(暗黙カーソルを使用)です。
編集:以下はコードです:
l_sql_point:=12;
If l_country_id='RU'
Then select count(*) into l_rub_count from lcs_currency where currency_cd='RUB';
End If;
Begin
select group_id into l_group from lcs_country where country_id=l_country_id;
Exception when no_data_found
Then p_lcs_err_cd:='LCD1001';
p_lcs_err_text:='Invalid Country Code - '||l_country_id;
p_err_text:='Invalid Country Code - '||l_country_id; -- return ret_result_set;
End;
次のエラーが発生します。xxsql_point:12----ORA-01001: invalid cursor
貴重なご協力ありがとうございます!