升级到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时遇到麻烦的主要内容,如果未能解决你的问题,请参考以下文章
oracle10g升级到11g之后跨平台ADG遇到ORA-10561错误问题