This week's book giveaway is in the General Computing forum. We're giving away four copies of Arduino in Action and have Martin Evans, Joshua Noble, and Jordan Hochenbaum on-line! See this thread for details.
There isn't. But I can tell you what your cursor problem is - been there, done that, got the tar and feathers - it's a resource leak. Somewhere in your code (or a library you use) JDBC Statement objects are not being closed. The Oracle driver does not seem to clean up unclosed statements; maybe the Connection keeps a reference to them, or they don't have a finalize method. If you are using a connection pool this means the Statement, and all its open result sets, stays around forever. Eventually you will run out of cursors.
Be religious about closing all your statements and connections in a finally clause.