论坛首页 综合技术论坛

Oracle超出打开游标的最大数

浏览 10292 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-02-24  

系统运行了一段时间报错:java.sql.SQLException: ORA-01000: 超出打开游标的最大数

查看数据库当前的游标数配置slqplus: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;

查看游标执行的sql情况:

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

如果程序释放资源没有问题,则加大游标数。

 

   发表时间:2009-02-24  
个人倾向于不使用游标,麻烦太多。
在以前公司写过完全不用游标的储存过程,直接结果就是其他人看不懂……但其伸缩性、性能是游标不能比的。
0 请登录后投票
   发表时间:2009-02-26  
Magicloud 写道
个人倾向于不使用游标,麻烦太多。
在以前公司写过完全不用游标的储存过程,直接结果就是其他人看不懂……但其伸缩性、性能是游标不能比的。

如果这个存储过程是要返回查询的列表,不用游标,怎么实现?
0 请登录后投票
   发表时间:2009-02-26   最后修改:2009-02-26
elstage 写道
Magicloud 写道
个人倾向于不使用游标,麻烦太多。
在以前公司写过完全不用游标的储存过程,直接结果就是其他人看不懂……但其伸缩性、性能是游标不能比的。

如果这个存储过程是要返回查询的列表,不用游标,怎么实现?

24点都可以用关系代数解决,何况一个列表而已……
0 请登录后投票
   发表时间:2009-03-01  
还是看看数据库资源是否没有正常释放吧
0 请登录后投票
   发表时间:2009-09-06  
是不是在循环中打开了游标?
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics