关于“ORA-01000:maximum open cursors exceeded”的解决方案

问题分析:

解决方法:

show parameter open_cursors;
 select o.sid, osuser, machine, count(*) num_curs
from v$open_cursor o, v$session s
where user_name = 'user' and o.sid=s.sid
group by o.sid, osuser, machine
order by num_curs desc;

此处的user_name=’user’中,user代表占用数据库资源的数据库用户名。

 select o.sid q.sql_text
from v$open_cursor o, v$sql q
where q.hash_value=o.hash_value and o.sid = 123;

此处的o.sid = 123是步骤2中的结果集

alter system set open_cursors=2000 scope=both;