Skip to Main Content

ORDS, SODA & JSON in the Database

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Open Cursors - 01000-maximum-open-cursors-exceeded

User_BSEZ8Dec 15 2022

Hi
We have ords 22.3.3.311.1929 installed and DB Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production.
We are using the cursor inline statement in many SQL:statemant to group information in a response. We return a cursor to ords.
open po_cursor for
select ( cursor a.*
select * from a , b where a.id = b.id ) vessels,
( cursor c.*
select * from c , d where c.id = d.id ) insurance,
from dual;
For some case we huge amout of data and we get 01000-maximum-open-cursors-exceeded. The parameter open_cursors in the BD is 600.
The settings.xml in ords
<entry key="jdbc.InitialLimit">20</entry>
<entry key="jdbc.MaxLimit">50</entry>
<entry key="jdbc.MaxStatementsLimit">20</entry>
<entry key="jdbc.MinLimit">20</entry>
When using open_cursors=10000 no more errors in the log file in Tomcat. This values seems to be very high. Is it better to rewrite the SQL and use JSON_ARRAYAGG...I dont know. I find the cursor statement very easy to use. Any suggestion?
Br Ola

This post has been answered by kdario on Jan 1 2023
Jump to Answer
Comments
Post Details
Added on Dec 15 2022
2 comments
456 views