Looks like a cursor leak?
Make sure you are closing your cursors to avoid cursor leakage. You can try checking, by running the query noted here for cursor leaks: ORA-01000.
You can also try increasing the value of the OPEN_CURSORS
database initialization parameter and see if your application just needs a higher number of cursors due to concurrent use. The answer here shows a query: ORA-01000: maximum open cursors exceeded - java code fails