Last updated on MARCH 08, 2017
Applies to:JDBC - Version 10.2.0.1 to 220.127.116.11.0 [Release 10.2 to 11.2]
Oracle Spatial and Graph - Version 18.104.22.168 to 22.214.171.124 [Release 11.2]
Information in this document applies to any platform.
When running a set of packaged stored procedures that perform queries against SDO_GCDR.GEOCODE and GEOCODE_ADDR, the cursor count on the database side steadily increases until eventually the ORA-1000 error occurs:
ORA-01000: maximum open cursors exceeded
Initially, this was observed from a production web application, which uses the Spring framework with Java to connect to the database.
Then, the problem reproduced from a Java testcase using Java and the Oracle JDBC driver to call these packaged procedures.
Later, the behavior reproduced simply by calling these packaged procedures in a loop from within an anonymous PL/SQL block in SQL*Plus.
This does not appear to be matter of the stored procedures improperly opening (and then failing to close) cursors from within the stored procedures' PL/SQL code itself. Rather, the stored procedures' PL/SQL code doesn't actually open any cursors (thus there's nothing to close). This is because the stored procedure code uses implicit cursors.
Sign In with your My Oracle Support account
Don't have a My Oracle Support account? Click to get started
Million Knowledge Articles and hundreds of Community platforms