栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

关闭结果集后,Oracle不删除游标

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

关闭结果集后,Oracle不删除游标

init.ora参数

open_cursors
定义会话一次可以拥有的打开的游标的最大值。它的默认值为50。如果应用程序超出此数目,则会引发错误“
ORA-01000:最大打开游标超过”。

因此,当不再需要JDBC资源(尤其是java.sql.ResultSet和java.sql.Statement)时,必须关闭它们。如果未关闭它们,则应用程序会发生资源泄漏。

在重用Connection对象的情况下,您必须意识到以下事实:打开的oracle游标会保持打开状态并在使用中,只要连接存在
事务尚未结束。应用程序提交时,将释放打开的游标。

因此,作为应用程序设计师,您需要了解最复杂事务所需的打开游标的粗略估计。

困难在于oracle的内部参数视图(v $ open_cursor,v $
sesstat等)无法显示已打开的游标(可重复使用)和已打开的游标(仍被阻止(不可重用!))之间的差异。未封闭的ResulSet或Statement。如果您关闭了finally块中的所有Statement和ResultSet对象,则您的应用程序将非常好。

调整init.ora参数的工作原理如下(我们的应用程序最多需要800个游标)

ALTER SYSTEM SET open_cursors = 800 SCOPE=BOTH;


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/497658.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号