Discussions

Performance and scalability: maximum open cursors exceeded

  1. maximum open cursors exceeded (6 messages)

    I am getting the following Oracle error "maximum open cursors exceeded".
    In a web application "weblogic 5.1 sp8, Oracle 8.06". I am explicitly closing the resultSet, the prepared statement and issuing a commit, but still the number of cursor and resources are not released.
    Any ideas?

    Threaded Messages (6)

  2. maximum open cursors exceeded[ Go to top ]

    What I am looking for
    1. How can I relinquish DBMS resources?
    2. Any idea on how to demarcate (start and end) a transaction?
  3. maximum open cursors exceeded[ Go to top ]

    Sometimes Oracle doesn't free up the resourses even though you are making sure to close connection, callable st & resultsets. For this you should call clearParameter() method after getting the resultset back. This method releases all the resources used by the current parameter values in the transaction. It's defined in the PreparedStatement interface. Try this if it works..

    Nishma
  4. maximum open cursors exceeded[ Go to top ]

    Didn't know about clearParameters() working...

    In our projects, we discovered that Oracle doesn't close Oracle Cursors returned as parameter values. If you are using this to return multiple result sets, be sure to close them too.
  5. maximum open cursors exceeded[ Go to top ]

    did it work calling clearParameter ?
  6. maximum open cursors exceeded[ Go to top ]

    you didn't mention that you closed the connection too.
    I assume you did.

    I found it hard on a larger project to make sure this is
    done correctly in _all_ cases. For once, make sure you
    always close connections, statements and result sets in finally clauses. Otherwise you could easily run out of
    connections.

    Since your problem are cursors, the result sets are most
    likely the problem.

    Of course the maximum open cursors is a tunable parameter
    in Oracle - it might well be that you have a legitimate need for additional cursors.

     Martin
  7. maximum open cursors exceeded[ Go to top ]

    Hi,
      The Problem ur facing is b'coz of The OPen Cursor limit is Crossed the reason is Connection are not closed.To solce the problem u have to do...
    1.Close every connection, Resultsets.
    2.Go to Init.ora file (Oracle) then change the max_cursor_limit values default is 100 increased to desired value.

    Bye,
    prashanth.