1.运行ArcObjects代码报错:
IFeatureCursor pCursor = null;

            try
{
pCursor = m_pCatchLayer.m_pFeatureClass.Search(m_pSpatialFilter, false);
}
catch (Exception ex)
{ throw;
}

错误内容:

{"Underlying DBMS error [ORA-00604: 递归 SQL 级别 1 出现错误\nORA-01000: 超出打开游标的最大数\nORA-00604: 递归 SQL 级别 1 出现错误\nORA-01000: 超出打开游标的最大数\nORA-01000: 超出打开游标的最大数\n::SELECT  OBJECTID,  YSDM,  FLDM,  CDM,  MC,  SZ,  JB,  THXZ,  RL,  CJFS,  MAP,  JLSJ,  SCSJ,  MAPOBJECTID,  MAPOBJECTTIME,  1 SHAPE, ELEMID,  CLASID,  VERSION,  FDATE,  TDATE,  ENTILYRCOL,  ENTIIDCOL,  E_A21_MZSX_J_3204.SHAPE.area,  E_A21_MZSX_J_3204.SHAPE.len,  E_A21_MZSX_J_3204.SHAPE.points,E_A21_MZSX_J_3204.SHAPE.numpts,E_A21_MZSX_J_3204.SHAPE.entity,E_A21_MZSX_J_3204.SHAPE.minx,E_A21_MZSX_J_3204.SHAPE.miny,E_A21_MZSX_J_3204.SHAPE.maxx,E_A21_MZSX_J_3204.SHAPE.maxy,E_A21_MZSX_J_3204.rowid    FROM  FDBTX.E_A21_MZSX_J_3204 E_A21_MZSX_J_3204 WHERE SDE.ST_EnvIntersects(E_A21_MZSX_J_3204.SHAPE,:1,:2,:3,:4) = 1 ] [FDBTX.E_A21_MZSX_J_3204]"}

 

 

2.解释:

ArcSDE与ORACLE游标数

在空间数据库优化中,需要首先考虑ORACLE的性能优化,其中,OPEN_CURSORS参数是个比较重要的指标,会影响到系统的查询速度。

Oracle 初始化参数 OPEN_CURSORS 指定在任何时刻会话可同时打开的游标数。默认值是 300。如果会话尝试打开新游标,但此时已达到可打开游标数的最大值,那么将返回 Oracle 错误 -1000。ArcSDE 保留那些打开的、频繁执行的游标以提高性能。如果 Oracle OPEN_CURSORS 参数值设置得不够大,则将遇到上面提到的错误。Oracle 文档指出,给该参数设置非常大值不会产生不利影响。因此,可以设置非常大的值,例如,设置为 2000;从实用的角度来看,这样做即可有效地消除对打开游标数的限制,但同时又能提供一种保护措施,防止流氓进程尝试消耗过量的游标资源。相反,如果要计算会话可能打开的游标数,那么根据组织的数据模型,可将下面的公式作为指导:

各种 ArcSDE 数据管理游标 (20) +

各种匿名 PL/SQL 块 (20) +

空间查询 - 可能每个图层 6 个 +

日志文件查询 (11) +

编辑多版本化表时使用的其他查询 - 每个多版本化表或图层 12 个

如果文件中有 10 个图层被编辑时,ArcMap 应用程序可能打开 231 个游标 (20 + 20 + 60 + 11 + 120 = 231)。如果发现游标经常不够用,则可以 50 或 100 为增量增大 OPEN_CURSORS 参数值。

但需要注意的是Oracle 10g 预配置为当实例的已打开游标数超出 1200 时,生成服务器警报。由于 1200 个打开的游标对于地理数据库来说很常见,最好增大该警报的阈值以消除警报队列中出现无关的警告。

但设置非常大的游标数,需要更多的系统内存,因此要在实际情况下综合考虑。

 

3.查询游标数目语句:
show parameter open_cursors;

 

4.设置游标数目上限:
alter system set open_cursors=4000;

 

5.链接数据库方法:以sys身份登录PL/SQL,File->New->Command Window

 

6.查询正在使用的游标的数目sql语句
select count(*) from  v$open_cursor

 

 

select USER_NAME, count(*) from  v$open_cursor GROUP BY USER_NAME;

nORA-01000: 超出打开游标的最大数(SDE连接)的更多相关文章

  1. ORA-01000:超出打开游标的最大数(C#)

    在做一个windows服务,通过查询文本不断的插入数据的功能.测试一直没有问题,到实际环境中跑起来后程序退出,查看日志发现报的这个错误 ORA-01000:超出打开游标的最大数 经过上网查询发现是由于 ...

  2. oracle超出打开游标的最大数的原因和解决方案

    oracle超出打开游标的最大数的原因和解决方案 分类: Oracle相关2012-06-05 10:36 6362人阅读 评论(0) 收藏 举报 oracle数据库sqljavasessionsys ...

  3. Java_oracle超出打开游标的最大数的原因和解决方案

    第一步:核查Oracle数据库 的游标的最大数 处理超出打开游标的最大数异常(ORA-01000: maximum open cursors exceeded) ORA-01000_maximum_o ...

  4. [JDBC]ORA-01000: 超出打开游标的最大数(ORA-01000: maximum open cursors exceeded)

    问题产生的原因: Java代码在执行conn.createStatement()和conn.prepareStatement()的时候,相当于在数据库中打开了一个cursor.由于oracle对打开的 ...

  5. java.sql.SQLException: ORA-01000: 超出打开游标的最大数

    实际上,这个错误的原因,主要还是代码问题引起的.  ora-01000: maximum open cursors exceeded.  表示已经达到一个进程打开的最大游标数.  这样的错误很容易出现 ...

  6. ORA-00604: 递归 SQL 级别 1 出现错误 ORA-01000: 超出打开游标的最大数

    有程序没关闭游标, --打开了哪些游标 select * from v$open_cursor 在open cursor之后一定要注意要close cursor(在store procedure里更应 ...

  7. oracle异常处理——ORA-01000:超出打开游标最大数

    oracle异常处理--ORA-01000:超出打开游标最大数https://www.cnblogs.com/zhaosj/p/4309352.htmlhttps://blog.csdn.net/u0 ...

  8. 21. orcle导出sql脚本时,提示“超出打开游标最大数”

    1.解决办法:修改下打开游标最大数即可 SQL> show parameter open_cursors;NAME                                  TYPE   ...

  9. oracle 存储过程循环打开游标数据处理

    2017-07-24 14:12:42 SQL内容: 1.一次性检索 100000 条数据. 2. 1000 条提交一次. 3.超过 100000 万条,重新打开游标,重新检索. pl/sql内容如下 ...

随机推荐

  1. 学习protobuf

    一.认识Protobuf ref:http://blog.csdn.net/program_think/article/details/4229773摘要:1. protobuf是一个开源项目.2. ...

  2. 一天学完UFLDL

    学习UFLDL笔记 第一节 神经网络 神经元长这样 大写W看着有点不习惯.. 激活函数, 就是上面式子中的f. 可以选 sigmoid函数(或者叫 logistic回归,对数几率函数),反正就是这样一 ...

  3. 3D Game Programming with directx 11 习题答案 8.2

    第八章 第二题 1.首先找到Directx Texture Tool,它位于 2.填入配置 3.用画图工具画好每个level的图片,例如level0 4.用Directx Texture Tool添加 ...

  4. Java面向对象程序设计--与C++对比说明:系列2(类机制)

    1. Java中的包机制(Package): 1.1   Java容许将一系列的类组合到一个叫package的集合中.package机制是一种非常好的管理工作的方式并可以将你自己的工作和系统或第三方提 ...

  5. phpMyAdmin下载与安装

    Part1 phpMyAdmin下载 浏览器输入网址 http://www.phpmyadmin.net 下载即可 我的下载是这样的 Part2 phpMyAdmin安装 解压下载的压缩包到apach ...

  6. php截取字符串,无乱码

    今天面试,有一道题,要求截取中文字符无乱码. 当时因为要赶去另一家去面试,没有仔细分析. 虽然现在供职的这家公司b2c项目正在用,因为当时赶项目,是网上拿来直接用的. 回来以后再重新整理了一下. 代码 ...

  7. Oracle数据库常用函数

    Oracle常用函数: 20.COS返回一个给定数字的余弦SQL> select cos(-3.1415927) from dual;COS(-3.1415927)--------------- ...

  8. Makefile的简单例子

    1.生成test可执行文件,源文件有prog.c prog.h cord.h test:prog.o code.o gcc -o test prog.o code.o prog.o:prog.c pr ...

  9. 局部视图(partial)

    局部视图(partial) 原文:Partial Views作者:Steve Smith翻译:张海龙(jiechen).刘怡(AlexLEWIS)校对:许登洋(Seay).何镇汐.魏美娟(初见) AS ...

  10. mvc验证码

    public string CreateValidateCode(int length) { int[] randMembers = new int[length]; int[] validateNu ...