Oracle11g 与Oracle RAC一起使用群集的Quartz调度程序出现ORA-12838异常

Oracle11g 与Oracle RAC一起使用群集的Quartz调度程序出现ORA-12838异常,oracle11g,parallel-processing,quartz-scheduler,Oracle11g,Parallel Processing,Quartz Scheduler,我在集群模式下使用Quartz scheduler处理批处理作业,我的应用程序使用Oracle RAC进行负载平衡。在日志中等间隔4分钟后,我得到以下异常。奇怪的是,在只有一台Oracle服务器的较低环境中,这种例外情况并不存在。任何建议都会有帮助 04:56:04,909 ERROR [org.springframework.scheduling.quartz.LocalDataSourceJobStore] ClusterManager: Error managing cluster: F

我在集群模式下使用Quartz scheduler处理批处理作业,我的应用程序使用Oracle RAC进行负载平衡。在日志中等间隔4分钟后,我得到以下异常。奇怪的是,在只有一台Oracle服务器的较低环境中,这种例外情况并不存在。任何建议都会有帮助

04:56:04,909 ERROR [org.springframework.scheduling.quartz.LocalDataSourceJobStore]
 ClusterManager: Error managing cluster: Failure recovering jobs: ORA-12838: cannot read/modify an object after modifying it in parallel
: org.quartz.JobPersistenceException: Failure recovering jobs: ORA-12838: cannot read/modify an object after modifying it in parallel
 [See nested exception: java.sql.SQLException: ORA-12838: cannot read/modify an object after modifying it in parallel
]
        at org.quartz.impl.jdbcjobstore.JobStoreSupport.clusterRecover(JobStoreSupport.java:3559) [quartz-2.2.1.jar:]
        at org.quartz.impl.jdbcjobstore.JobStoreSupport.doCheckin(JobStoreSupport.java:3270) [quartz-2.2.1.jar:]
        at org.quartz.impl.jdbcjobstore.JobStoreSupport$ClusterManager.manage(JobStoreSupport.java:3858) [quartz-2.2.1.jar:]
        at org.quartz.impl.jdbcjobstore.JobStoreSupport$ClusterManager.run(JobStoreSupport.java:3895) [quartz-2.2.1.jar:]
Caused by: java.sql.SQLException: ORA-12838: cannot read/modify an object after modifying it in parallel

    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:440) [ojdbc6.jar:11.2.0.2.0]
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396) [ojdbc6.jar:11.2.0.2.0]
    at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:837) [ojdbc6.jar:11.2.0.2.0]
    at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:445) [ojdbc6.jar:11.2.0.2.0]
    at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:191) [ojdbc6.jar:11.2.0.2.0]
    at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:523) [ojdbc6.jar:11.2.0.2.0]
    at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207) [ojdbc6.jar:11.2.0.2.0]
    at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:863) [ojdbc6.jar:11.2.0.2.0]
    at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1153) [ojdbc6.jar:11.2.0.2.0]
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1275) [ojdbc6.jar:11.2.0.2.0]
    at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3576) [ojdbc6.jar:11.2.0.2.0]
    at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3620) [ojdbc6.jar:11.2.0.2.0]
    at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1491) [ojdbc6.jar:11.2.0.2.0]
    at org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:462)
    at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.selectInstancesFiredTriggerRecords(StdJDBCDelegate.java:2833) [quartz-2.2.1.jar:]
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.clusterRecover(JobStoreSupport.java:3431) [quartz-2.2.1.jar:]
    ... 3 more  

您能分享获取ora-12838的SQL吗?我怀疑您的代码正在使用PARALLEL或APPEND提示进行插入/更新,然后尝试在不首先提交的情况下进行选择。您能否共享获取ora-12838的SQL?我怀疑您的代码正在使用PARALLEL或APPEND提示执行插入/更新,然后在不首先提交的情况下尝试执行SELECT。