ORA-01000: maximum open cursors exceeded
Hi,
this error mean that you reach max limit for open cursors.
you can check how many cursors do you have open by this select:
–total cursors open, by session
select a.value, s.username, s.sid, s.serial#
from v$sesstat a, v$statname b, v$session s
where a.statistic# = b.statistic#Â and s.sid=a.sid
and b.name = ‘opened cursors current’;
–total cursors open, by username & machine
select sum(a.value) total_cur, avg(a.value) avg_cur, max(a.value) max_cur,
s.username, s.machine
from v$sesstat a, v$statname b, v$session s
where a.statistic# = b.statistic#Â and s.sid=a.sid
and b.name = ‘opened cursors current’
group by s.username, s.machine
order by 1 desc;
– max opened cursors and current state
select max(a.value) as highest_open_cur, p.value as max_open_cur
from v$sesstat a, v$statname b, v$parameter p
where a.statistic# = b.statistic#
and b.name = ‘opened cursors current’
and p.name= ‘open_cursors’
group by p.value;
2) when you know current state you can set up parameter open_cursors.
- this parameter set value for max number of open cursors per session.
SQL> show parameter open_cursors
NAMEÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â TYPEÂ Â Â Â Â Â Â VALUE
———————————— ———– ——————————
open_cursors                        integer    300
There is nice article link
Regards,
Tom


