切换Oracle使用共享服务器,现在Java应用程序抛出SQLRecoverableExceptions

这个问题可能会模糊Java和数据库问题之间的界限,所以我很抱歉如果这是错误的地方。 不确定哪一边是责备呢。

我是一名Java开发人员,暂时在我的项目中使用DBA,所以我很新。 我们在我们的Java应用程序使用的Red Hat Linux 64位服务器上运行Oracle 11.2.0.1。 我们最近决定将Oracle 11g实例从专用服务器切换到共享服务器,现在我们的应用程序经常会抛出这些错误:

09:58:00,077 ERROR [main] SparqlHelper:198 - Error performing query: com.hp.hpl.jena.shared.JenaException: java.sql.SQLRecoverableException: Closed Connection at oracle.spatial.rdf.client.jena.OracleSemQueryPlan.executeBindings(OracleSemQueryPlan.java:494) at oracle.spatial.rdf.client.jena.OracleStagePattern.<init>(OracleStagePattern.java:216) at oracle.spatial.rdf.client.jena.OracleQueryIterBlockTriplesQH.nextStage(OracleQueryIterBlockTriplesQH.java:98) at com.hp.hpl.jena.sparql.engine.iterator.QueryIterRepeatApply.makeNextStage(QueryIterRepeatApply.java:94) at com.hp.hpl.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding(QueryIterRepeatApply.java:55) at com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:69) ... (lots more) Caused by: java.sql.SQLRecoverableException: Closed Connection at oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:3331) at oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:3232) at oracle.jdbc.OracleConnectionWrapper.prepareStatement(OracleConnectionWrapper.java:115) at oracle.spatial.rdf.client.jena.Oracle.executeQuery(Oracle.java:411) at oracle.spatial.rdf.client.jena.Oracle.executeQuery(Oracle.java:374) at oracle.spatial.rdf.client.jena.Oracle.executeQuery(Oracle.java:366) at oracle.spatial.rdf.client.jena.Oracle.executeQuery(Oracle.java:354) at oracle.spatial.rdf.client.jena.OracleSemQueryPlan.executeBindings(OracleSemQueryPlan.java:457) ... 75 more 

当我们closures共享服务器时,应用程序再次正常工作。

我们并不确定在哪里可以看到究竟是什么原因造成的,无论是应用程序端还是数据库端的configuration。 任何深入了解这个错误或在哪里看,非常感谢。

没有相应的ORA错误,因为看起来数据库正在像往常一样处理这个问题。 我们试图增加共享服务器的数量,以及调度员,

请让我知道,如果我应该提供任何我忽略覆盖的信息。 谢谢!

更新:通过打开服务器上的调度程序池,我们能够通过这些错误。 这意味着我们将(POOL = on)添加到调度程序参数。 现在我们看到了间歇性的SQL查询挂起,我认为这是从低分配共享服务器,但有3或4个不处理单个消息。