Sandy, I'm a DBA, not a Java developer, but, as I recall, not only does the developer need to close the resultset, but also the statement. (Using the stmt.close() method.) A bit of info is available in MetaLink Doc ID 118756.1, Oracle JDBC Frequently Asked Questions. Hope that helps, -Mark -- Mark J. Bobak Senior Oracle Architect ProQuest Information & Learning Ours is the age that is proud of machines that can think and suspicious of men who try to. --H. Mumford Jones, 1892-1980 ________________________________ From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Sandra Becker Sent: Friday, July 28, 2006 4:06 PM To: oracle-l@xxxxxxxxxxxxx Subject: open_cursors question Recently, we bounced our database for maintenance. When it came back up, we had open_cursors set to 1000. Last night, some of our clients didn't get their reports because maximum open cursors was exceeded. I set open_cursors back to 5000, the value before the database was bounced, so they could run the necessary reports. One of the developers made this comment " We do close the connection and that closes associated resultsets also. The connection is passed to ReportSessionBean.writeReport() and is closed in finally clause. ". A few questions come to mind: 1. Does closing a connection really close the associated resultsets? 2. 5000 open_cursors seems excessive to me. How do I determine if this is really what's needed or do we have other "code" options? 2. What can I do to help my developers? I'm new to the development DBA world and not familiar with Java yet. Also new to the company so I don't understand all the code relationships yet. 3. What effect do all these open cursors have on my database? Can we improve our efficiency/performance by explicitly closing cursors? I would appreciate any insights. Sandy