Oracle 最大打开游标错误/最大打开游标错误

概述

当你在 Oracle 中出现“Max Open Cursor”错误时,要找出系统的哪个 sql 没有关闭是一件非常困难的事情。如果您在 java 中使用 preparedstatement,关闭您的结果集是不够的。您还必须调用 preparedStatements 的关闭方法。

可以使用oracle企业管理控制台查找打开了哪些sql,也可以通过下面简单的sql获取这些信息。

解决方案

为了找到未关闭的sql,可以使用Oracle企业管理控制台。除此之外,您还可以通过下面的简单 sql 查询获取未关闭的 sql 列表。


SELECT 
     s.machine, oc.user_name, oc.sql_text, count(1) 
FROM 
     v$open_cursor oc, v$session s 
WHERE 
     oc.sid = s.sid 
GROUP BY 
     user_name, sql_text, machine 
HAVING 
     COUNT(1) > 2 ORDER BY count(1) DESC

 

posted @ 2023-01-05 11:43  雪竹子  阅读(140)  评论(0编辑  收藏  举报