Skip to Content
0
Former Member
May 17, 2010 at 10:16 AM

ORA-01000: maximum open cursors exceeded

563 Views

Hi,

I have problem regarding closing cursors on Oracle DB. I'm using prepared stateents (sqlBindMode parameter) because I'm writing to Oracle DB field which is of CLOB type, and XML can be more than 4000 chars long. The problem is, that after succesful writing, system does not release the cursor at this session, and wenn it reaches 5000 it gives error ORA-1000.

How to avoid this?

Disconnection after each Message processing is not good, beacuse of performance. Can it be that SAP JDBC doesn't clean after precessing - doesn't release cursors on DB. If I look at com.cahnnel log:

Message:	Exiting method
Date:	2010-05-17
Time:	11:46:34:903
Category:	com.sap.aii.adapter.jdbc.JDBCConnectionPool
Location:	com.sap.aii.adapter.jdbc.JDBCConnectionPool.closeResultSet(ResultSet rs)
Application:	sap.com/com.sap.aii.af.app
Thread:	XI XI2JDBC[cc_XXX_AssortList_Rcv/BS_XXX/*]_111474
Datasource:	j2ee\cluster\server0\log\defaultTrace_00.trc
Correlator ID:	72045500000045067
Argument Objs:	
Arguments:	
Dsr Component:	XXXX_7204550
Dsr Transaction:	974015505dd911df88dc005056ba4323
Dsr User:	
Message Code:	
Session:	27400
Transaction:	SAP J2EE Engine JTA Transaction : [06dffffffeeffffffc6027e2a]
User:	J2EE_GUEST
Host:	XXXXXX
System:	DXT
Instance:	DVEBMGS00
Node:	server0

It looks to me that system is using com.sap.aii.adapter.jdbc.JDBCConnectionPool.closeResultSet(ResultSet rs), I would not expect ORA-1000, but...

kr

mario

Edited by: Mario Slopar on May 17, 2010 12:16 PM