升级到oracle11g-x64时遇到麻烦

Posted

技术标签:

【中文标题】升级到oracle11g-x64时遇到麻烦【英文标题】:When upgrade to oracle11g-x64,we get into trouble 【发布时间】:2016-05-05 21:01:27 【问题描述】:

我们用 weblogic10.3+bea jdk1.6+hibernate3+c3p0 0.9.1.2+oracle 9.2.8 运行了一个 java web 应用服务器。当我们使用ojdbc6将数据库升级到oracle11gx64集群时,我们遇到了很多错误。

首先出现以下错误消息,应用程序无法每隔几小时连接到数据库:

 *com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@2a01aa -- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!
2016-01-28 18:09:55 com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@2a01aa -- APPARENT DEADLOCK!!! Complete Status: 
    Managed Threads: 3
    Active Threads: 3
    Active Tasks:*

然后我们更改了配置“hibernate.c3p0.max_statements”=0,这个错误消失了,但是出现了其他 OutOfMemoryError:

引起:javassist.CannotCompileException:由 java.lang.OutOfMemoryError:类分配,188463944 加载,187957248 占用 JVM@check_alloc (src/jvm/model/classload/classalloc.c:118)。 67744 字节 在 javassist.util.proxy.FactoryHelper.toClass(FactoryHelper.java:169) 在 org.jboss.seam.util.ProxyFactory.createClass3(ProxyFactory.java:350) ... 77 更多 引起:java.lang.OutOfMemoryError:类分配,188463944 加载,187957248 占用 JVM@check_alloc (src/jvm/model/classload/classalloc.c:118)。 67744 字节

有人可以帮助我吗?提前致谢!

【问题讨论】:

c3p0 0.9.1.2 与 oracle11g 不匹配? 【参考方案1】:

更新到最新的 c3p0(现为 0.9.5.2)。

如果对您有用,请继续使用语句缓存,但为避免死锁,请使用以下设置。

c3p0.statementCacheNumDeferredCloseThreads=1

请参阅docs。

【讨论】:

以上是关于升级到oracle11g-x64时遇到麻烦的主要内容,如果未能解决你的问题,请参考以下文章

Navicat Oracal

oracle10g升级到11g之后跨平台ADG遇到ORA-10561错误问题

oracle10g升级到11g之后跨平台ADG遇到ORA-10561错误问题

Oracal数据库安装配置教程

SUSE11 Oracle 11g RAC双机集群环境部署

oracle 10g或11g的客户端下载地址