使用Hibernate/JPA在Oracle中关闭连接时部分提交

使用Hibernate/JPA在Oracle中关闭连接时部分提交,hibernate,jpa,oracle11g,c3p0,Hibernate,Jpa,Oracle11g,C3p0,最近在我的应用程序JPA/Hibernate和数据库Oracle RAC 11g中出现以下错误 当我们的存储空间已满,DBA需要关闭连接、终止活动会话或类似的“连接关闭”时,就会发生此错误(现在我知道发生了什么,他被解雇了……) 其他实体已顺利插入 ---编辑--- 更多信息 配置c3p0 <Resource auth="Container" description="" driverClass="oracle.jdbc.driver.OracleDriver" acquireIncrem

最近在我的应用程序JPA/Hibernate和数据库Oracle RAC 11g中出现以下错误

当我们的存储空间已满,DBA需要关闭连接、终止活动会话或类似的“连接关闭”时,就会发生此错误(现在我知道发生了什么,他被解雇了……)

其他实体已顺利插入

---编辑---

更多信息

配置c3p0

<Resource auth="Container"
description=""
driverClass="oracle.jdbc.driver.OracleDriver"
acquireIncrement="1"
initialPoolSize="5"
maxPoolSize="300"
minPoolSize="5"
maxIdleTime="600"
maxIdleTimeExcessConnections="300"
unreturnedConnectionTimeout="900"
numHelperThreads="20"
name=""
user=""
password=" "
factory="org.apache.naming.factory.BeanFactory"
type="com.mchange.v2.c3p0.ComboPooledDataSource"
jdbcUrl="jdbc:oracle:oci:" />


与其他DBA交谈时,他说Oracle的一个实例的磁盘已满,寄存器部分提交是在这一刻创建的,但他只是删除了跟踪文件,没有停止db,也没有终止任何会话。

没有足够的信息可以确定,但这听起来像是您看到的未完成事务处理。JDBC规范默默地讨论在未完成事务的情况下应该发生什么。据我所知,Oracle是唯一一家决定在这种情况下提交工作的供应商。

使用的是什么版本的Oracle JDBC驱动程序?
<Resource auth="Container"
description=""
driverClass="oracle.jdbc.driver.OracleDriver"
acquireIncrement="1"
initialPoolSize="5"
maxPoolSize="300"
minPoolSize="5"
maxIdleTime="600"
maxIdleTimeExcessConnections="300"
unreturnedConnectionTimeout="900"
numHelperThreads="20"
name=""
user=""
password=" "
factory="org.apache.naming.factory.BeanFactory"
type="com.mchange.v2.c3p0.ComboPooledDataSource"
jdbcUrl="jdbc:oracle:oci:" />