`

解决使用mybatis出现ORA-01000问题

阅读更多
mybatis未使用spring集成。
现象:
1.当执行查询时报
### Error querying database.  Cause: java.sql.SQLException: ORA-01000: maximum open cursors exceeded
2.检查业务服务器与数据库之间的连接数:正常;
3.使用sys用户登录数据库,执行SQL
select o.sid, osuser, machine, count(*) num_curs
from v$open_cursor o, v$session s
where o.sid=s.sid
group by o.sid, osuser, machine
order by  num_curs desc;
发现游标数的确打开很多。

解决办法:
在mybatis配置文件中设置参数defaultExecutorType值为SIMPLE或删除该配置项。

文档解释:
Configures the default executor. SIMPLE executor does nothing special. REUSE executor
reuses prepared statements. BATCH executor reuses statements and batches updates.

REUSE/BATCH会重用preparestatement,最终导致此问题。

影响:有性能损失,mybatis的此配置本用于提高性能。
分享到:
评论

相关推荐

    Mybatis出现ORA-00911: invalid character的解决办法

    今天在项目中,使用Mybatis对oracle数据库进行操作的时候,报出ORA-00911: invalid character的错误,检查了一下SQL,发现都书写正确啊,复制到plsql上执行也都没问题,这什么原因呢? 注意:这里说的是用navicat...

    ora-01460 错误原因分析

    ### ORA-01460 错误原因分析 ...通过以上步骤的检查和调整,通常可以解决大部分由ORA-01460错误引起的数据库操作问题。需要注意的是,在进行任何更改之前,最好先备份相关配置和数据,以免出现意外情况。

    解决Exception java.sql.SQLException ORA-00600 内部错误代码

    在oracle里面运行一下,解决Exception java.sql.SQLException ORA-00600 内部错误代码

    ORA-00904 WMSYS.WM_CONCAT标识符无效解决方案

    当尝试在Oracle 11gR2或更高版本中使用WMSYS.WM_CONCAT时,会出现ORA-00904错误,因为这个函数不再可用。这可能是由于以下几个原因: 1. **数据库版本升级**:从旧版本升级到11gR2或更高版本后,WM_CONCAT不再受支持...

    使用MyBatis Generator生成xml,Mapper

    在本文中,我们将深入探讨如何使用MyBatis Generator来生成XML映射文件、Mapper接口及其相关的Java模型类。 首先,理解MyBatis Generator的基本概念是必要的。MyBatis Generator基于数据库表信息,通过读取数据库的...

    mybatis连接oracle实例

    Oracle数据库需要设置相应的环境变量,如`TNS_ADMIN`指向tnsnames.ora文件的位置,以便MyBatis能够找到数据库连接。 1. **创建数据表**: 在Oracle数据库中,你需要执行以下SQL语句来创建`test`表: ```sql ...

    mybatis demo

    【标题】"mybatis demo" 是一个关于MyBatis框架的简单示例,它旨在帮助开发者理解并开始使用MyBatis。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。它避免了几乎所有的JDBC代码和手动...

    mybatisGenerator

    - **版本兼容性**:确保使用的MBG版本与MyBatis和数据库驱动程序版本兼容,以避免可能出现的问题。 - **运行MBG**:可以通过命令行或者批处理脚本运行MBG,每次运行都会根据配置文件更新生成的代码,所以最好在版本...

    mybatis 报空值异常

    ### MyBatis 报空值异常及解决办法 ...综上所述,针对 MyBatis 报空值异常的问题,可以通过在映射文件中为参数显式指定 JDBC 类型来解决。同时,还需注意其他常见的配置错误,以确保程序正常运行。

    mybatis问题总结.docx

    在使用MyBatis进行数据库操作时,经常会遇到一些问题,这些问题往往与配置、依赖或数据库连接有关。本文将针对标题和描述中提到的常见问题进行详细解答。 首先,针对"Mybatis问题总结",我们关注的是MyBatis框架在...

    Java使用JDBC或MyBatis框架向Oracle中插入XMLType数据

    但这种方法有一个限制,即当XML数据长度超过4000个字符时,会触发`ORA-01461`错误,因为Oracle默认的VARCHAR2类型最大只能容纳4000个字符。 - **方法二:通过CLOB类型** 当XML数据过大时,可以使用CLOB类型作为...

    excel 导入oracle

    Xls2Ora工具就是解决这个问题的一个实用解决方案。这个工具允许用户将Excel(.xls)文件中的数据直接导入到Oracle数据库,避免了手动输入或编写复杂SQL脚本的繁琐过程。以下是使用Xls2Ora进行数据导入的基本步骤: ...

    Mybatis调用Oracle存储过程的方法图文详解

    那么,如何使用Mybatis调用Oracle存储过程呢?本文将详细介绍Mybatis调用Oracle存储过程的方法。 无参数存储过程的调用 首先,需要创建一个无参数的存储过程。例如,创建一个名为`proc_no_param`的存储过程,用于...

    oracle 实际值超过数据库某个字段指定长度报错解决

    除了`ORA-01438`错误,Oracle数据库中还可能出现其他各种错误,例如`ORA-00600`是一个内部错误,通常表示遇到未预期的条件或代码逻辑错误。解决这类问题通常需要查看Oracle的错误日志,并可能需要与Oracle技术支持...

    黑马(linux、redis、oracle、maven、全栈基础班视频教程

    - **网络配置**:正确配置监听器和tnsnames.ora文件。 #### SQL基础 - **DDL(数据定义语言)**:创建、修改和删除表。 - **DML(数据操作语言)**:插入、更新、删除数据。 - **DQL(数据查询语言)**:使用SELECT...

    一个通用数据库操作类

    6. **面向对象封装**:将数据库记录映射为Java对象(ORM,Object-Relational Mapping),如使用Hibernate或MyBatis框架,使得数据库操作更加面向对象。 7. **批处理操作**:允许一次提交多个SQL语句,提高效率。 8...

    数据库知识

    iBatis(现称为MyBatis)是一种支持普通SQL查询、存储过程以及高级映射的优秀持久层框架。下面是一个简单的iBatis测试示例,包括创建表、插入数据的操作: ```sql -- 删除表 DROP TABLE IF EXISTS `MYDB`.`student`...

    连接oracle需要的包

    9. Spring框架集成:如果你的项目使用Spring框架,可以通过Spring JDBC或者MyBatis等ORM框架简化数据库操作,它们提供了更高级别的抽象,使代码更简洁且易于维护。 10. 安全性:在实际应用中,应确保数据库连接的...

Global site tag (gtag.js) - Google Analytics