[JDBC]ORA-01000: 超出打开游标的最大数(ORA-01000: maximum open cursors exceeded)
问题产生的原因:
Java代码在执行conn.createStatement()和conn.prepareStatement()的时候,相当于在数据库中打开了一个cursor。由于oracle对打开的游标的数量做了限制,如果你的createStatement和prepareStatement是在一个循环里面,并且没有及时关闭的话,就会非常容易出现这个问题。
所以,“超出打开游标的最大数”这个异常通常是由于我们没有及时关闭statement造成的。因此,我们在写Java代码的时候,createStatement和prepareStatement都应该要放在循环外面,并且一定要及时关闭。
查看数据库最大游标数: show parameter open_cursors; 默认为300;
查看打开游标的视图: select * from v$open_cursor where user_name = 'xxxx';
可通过SQL_TEXT字段来定位是那个SQL导致的游标打开过多。
查看打开游标的来源: select o.sid, osuser, machine, count(*) num_curs from v$open_cursor o, v$session s
where user_name = 'xxxx' and o.sid=s.sid group by o.sid, osuser, machine order by num_curs desc;
查看没有被释放的SQL: select o.sid,q.sql_text from v$open_cursor o, v$sql q where q.hash_value=o.hash_value and o.sid = xxx;
修改最大游标数: alter system set open_cursors = 308 scope = both;
对于出现ORA-01000错误这种情况,单纯的加大open_cursors并不是好办法,那只是治标不治本。实际上,代码中的隐患并没有解除。 所以一定要仔细检查代码,找到问题产生的原因并消除。
[JDBC]ORA-01000: 超出打开游标的最大数(ORA-01000: maximum open cursors exceeded)的更多相关文章
- oracle超出打开游标的最大数的原因和解决方案
oracle超出打开游标的最大数的原因和解决方案 分类: Oracle相关2012-06-05 10:36 6362人阅读 评论(0) 收藏 举报 oracle数据库sqljavasessionsys ...
- Java_oracle超出打开游标的最大数的原因和解决方案
第一步:核查Oracle数据库 的游标的最大数 处理超出打开游标的最大数异常(ORA-01000: maximum open cursors exceeded) ORA-01000_maximum_o ...
- ORA-01000:超出打开游标的最大数(C#)
在做一个windows服务,通过查询文本不断的插入数据的功能.测试一直没有问题,到实际环境中跑起来后程序退出,查看日志发现报的这个错误 ORA-01000:超出打开游标的最大数 经过上网查询发现是由于 ...
- nORA-01000: 超出打开游标的最大数(SDE连接)
1.运行ArcObjects代码报错: IFeatureCursor pCursor = null; try { pCursor = m_pCatchLayer.m_pFeatureClass.Sea ...
- java.sql.SQLException: ORA-01000: 超出打开游标的最大数
实际上,这个错误的原因,主要还是代码问题引起的. ora-01000: maximum open cursors exceeded. 表示已经达到一个进程打开的最大游标数. 这样的错误很容易出现 ...
- ORA-00604: 递归 SQL 级别 1 出现错误 ORA-01000: 超出打开游标的最大数
有程序没关闭游标, --打开了哪些游标 select * from v$open_cursor 在open cursor之后一定要注意要close cursor(在store procedure里更应 ...
- oracle异常处理——ORA-01000:超出打开游标最大数
oracle异常处理--ORA-01000:超出打开游标最大数https://www.cnblogs.com/zhaosj/p/4309352.htmlhttps://blog.csdn.net/u0 ...
- 21. orcle导出sql脚本时,提示“超出打开游标最大数”
1.解决办法:修改下打开游标最大数即可 SQL> show parameter open_cursors;NAME TYPE ...
- oracle 存储过程循环打开游标数据处理
2017-07-24 14:12:42 SQL内容: 1.一次性检索 100000 条数据. 2. 1000 条提交一次. 3.超过 100000 万条,重新打开游标,重新检索. pl/sql内容如下 ...
随机推荐
- linux E325: 注意 发现交换文件 "*.swp" 解决方法
今天在linux里修改脚本文件时,不小心非正常关闭了脚本文件,再次编辑时,每次都提示 如下错误: E325: 注意发现交换文件 ".bqh.sh.swp" 所有者: root 日期 ...
- Ceph基础知识和基础架构认识
1 Ceph基础介绍 Ceph是一个可靠地.自动重均衡.自动恢复的分布式存储系统,根据场景划分可以将Ceph分为三大块,分别是对象存储.块设备存储和文件系统服务.在虚拟化领域里,比较常用到的是Cep ...
- jeDate 日期控件
写在前面的话: 最近在做一个日期范围的功能,研究了一个12306网站的日期范围选择,他用的是jcalendar.js,没有直接在日历插件里面做判断开始时间小于结束时间 而是自己在代码里面做了判断如下: ...
- Axure RP Pro7.0的key注册码加汉化非破解
上次我们刚分享过Axure RP Pro6.5 key注册码加汉化非破解,我还要分享一个Axure RP Pro7.0的key注册码加汉化,非破解哦. 当然方法还是不变,先用下面的密钥激活.用户名就是 ...
- magento2.2.5安装
首先肯定要去下载源码,然后配置虚拟主机访问,例:http://magento.cn 这里我们采用命令行安装: php bin/magento setup:install --admin-firstna ...
- 项目Alpha冲刺 5
作业描述 课程: 软件工程1916|W(福州大学) 作业要求: 项目Alpha冲刺(团队) 团队名称: 火鸡堂 作业目标: 介绍第五天冲刺的项目进展.问题困难和心得体会 1.团队信息 队名:火鸡堂 队 ...
- metamask源码学习导论
()MetaMask Browser Extension https://github.com/MetaMask/metamask-extension 这就是整个metamask的源码所在之处,好好看 ...
- intellij idea 修改背景保护色&&修改字体&&快捷键大全(转)
文章转自http://blog.csdn.net/hpf911/article/details/16888797 近Idea比较流行,Eclipse因为maven的问题,运行起来非常慢,各种提示也不够 ...
- leetcode 131. Palindrome Partitioning 、132. Palindrome Partitioning II
131. Palindrome Partitioning substr使用的是坐标值,不使用.begin()..end()这种迭代器 使用dfs,类似于subsets的题,每次判断要不要加入这个数 s ...
- js删除数组元素、清空数组的简单方法
一.清空数组 ? 1 2 3 var ary = [1,2,3,4]; ary.splice(0,ary.length);//清空数组 console.log(ary); // 输出 [],空数组,即 ...