4

After our Oracle DB was upgraded from 11g to 12g we got the stacktrace below about Io exception: Oracle Error ORA-12650. How can I resolve this issue?

2015-10-26 14:59:36,319 [RMI TCP Connection(2)-127.0.0.1] u:/d: ERROR org.enhydra.jdbc.xapool - Error Exception in GenericPool:start java.sql.SQLException: Cannot get connection for URL jdbc:oracle:thin:@test.db.my.edu:1521:sid : Io exception: Oracle Error ORA-12650
java.sql.SQLException: Cannot get connection for URL jdbc:oracle:thin:@test.db.my.edu:1521:sid : Io exception: Oracle Error ORA-12650
at org.enhydra.jdbc.standard.StandardDataSource.getConnection(StandardDataSource.java:216)
at org.kuali.rice.core.database.RiceXADataSource.getConnection(RiceXADataSource.java:58)
at org.enhydra.jdbc.standard.StandardPooledConnection.<init>(StandardPooledConnection.java:65)
at org.enhydra.jdbc.standard.StandardXAConnection.<init>(StandardXAConnection.java:81)
at org.enhydra.jdbc.standard.StandardXADataSource.getXAConnection(StandardXADataSource.java:110)
at org.enhydra.jdbc.pool.StandardXAPoolDataSource.create(StandardXAPoolDataSource.java:159)
at org.enhydra.jdbc.pool.GenericPool.getFromPool(GenericPool.java:251)
at org.enhydra.jdbc.pool.GenericPool.checkOut(GenericPool.java:357)
at org.enhydra.jdbc.pool.StandardPoolDataSource.getConnection(StandardPoolDataSource.java:194)
at org.enhydra.jdbc.pool.StandardPoolDataSource.getConnection(StandardPoolDataSource.java:164)
at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:113)
at org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy$TransactionAwareInvocationHandler.invoke(TransactionAwareDataSourceProxy.java:210)
at com.sun.proxy.$Proxy174.prepareStatement(Unknown Source)
at org.apache.ojb.broker.accesslayer.StatementsForClassImpl.prepareStatement(Unknown Source)
at org.apache.ojb.broker.accesslayer.StatementsForClassImpl.getPreparedStmt(Unknown Source)
at org.apache.ojb.broker.accesslayer.StatementManager.getPreparedStatement(Unknown Source)
at org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeQuery(Unknown Source)
at org.apache.ojb.broker.accesslayer.RsQueryObject.performQuery(Unknown Source)
at org.apache.ojb.broker.accesslayer.RsIterator.<init>(Unknown Source)
at org.apache.ojb.broker.core.RsIteratorFactoryImpl.createRsIterator(Unknown Source)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.getRsIteratorFromQuery(Unknown Source)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.getIteratorFromQuery(Unknown Source)
at org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown Source)
at org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown Source)
at org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown Source)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknown Source)
at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(Unknown Source)
at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(Unknown Source)
at org.springmodules.orm.ojb.PersistenceBrokerTemplate$3.doInPersistenceBroker(PersistenceBrokerTemplate.java:195)
at org.springmodules.orm.ojb.PersistenceBrokerTemplate.execute(PersistenceBrokerTemplate.java:141)
at org.springmodules.orm.ojb.PersistenceBrokerTemplate.executeFind(PersistenceBrokerTemplate.java:162)
at org.springmodules.orm.ojb.PersistenceBrokerTemplate.getCollectionByQuery(PersistenceBrokerTemplate.java:193)
at org.kuali.rice.ksb.messaging.dao.impl.ServiceInfoDAOOjbImpl.findLocallyPublishedServices(ServiceInfoDAOOjbImpl.java:95)
at org.kuali.rice.ksb.messaging.service.impl.ServiceRegistryImpl.findLocallyPublishedServices(ServiceRegistryImpl.java:109)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at com.sun.proxy.$Proxy65.findLocallyPublishedServices(Unknown Source)
at org.kuali.rice.ksb.messaging.RemotedServiceRegistryImpl.run(RemotedServiceRegistryImpl.java:337)
at org.kuali.rice.ksb.messaging.RemotedServiceRegistryImpl.start(RemotedServiceRegistryImpl.java:391)
at org.kuali.rice.core.lifecycle.ServiceDelegatingLifecycle.start(ServiceDelegatingLifecycle.java:50)
at org.kuali.rice.core.lifecycle.BaseCompositeLifecycle.start(BaseCompositeLifecycle.java:40)
at org.kuali.rice.core.lifecycle.BaseCompositeLifecycle.start(BaseCompositeLifecycle.java:40)
at org.kuali.rice.core.config.RiceConfigurerBase.start(RiceConfigurerBase.java:106)
at org.kuali.rice.core.config.RiceConfigurer.start(RiceConfigurer.java:100)
at org.kuali.rice.core.config.RiceConfigurerBase.afterPropertiesSet(RiceConfigurerBase.java:85)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1369)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:308)
at org.springframework.context.support.AbstractApplicationContext.getBeansOfType(AbstractApplicationContext.java:947)
at org.springframework.context.support.AbstractApplicationContext.registerListeners(AbstractApplicationContext.java:701)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:377)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at org.kuali.rice.core.web.listener.StandaloneInitializeListener.contextInitialized(StandaloneInitializeListener.java:133)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5017)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5531)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1809)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:618)
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:565)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
EGHM
  • 2,144
  • 23
  • 37

4 Answers4

6

Our solution was to upgrade the ojdbc jar to ojdbc14-11.x.x.x from ojdbc14-10.x.x.x.

EGHM
  • 2,144
  • 23
  • 37
  • I doubt this is a good answer. I opened a service request directly with Oracle and there isn't a version 11 of the ojdbc14.jar: "The "ojdbc14.jar" was only ever available for versions 9i and 10g. This driver was designed for Java 4 ( JDK 1.4) support and is completely obsolete and unsupported. This format does not exist for version 11g" – Joey Cote Jun 26 '20 at 15:05
  • @JoeyCote It worked for us. https://mvnrepository.com/artifact/com.oracle/ojdbc14/11.2.0.3 – EGHM Jul 02 '20 at 01:47
1

Check if there exists a version of ojdbc jar already in the jre path. If so then delete this jar as it would be conflicting with the correct version of ojdc from your application. Like in my case it was conflicting with the maven repo path.

Matthew Strawbridge
  • 19,940
  • 10
  • 72
  • 93
anurag1007
  • 107
  • 1
  • 10
0

I've used ojdbc7.jar. It works fine for me. Here's link!

Sudarshan Ekambe
  • 123
  • 1
  • 2
  • 9
0

Encountered same error after upgrading to Oracle 19c. I was able to resolve the problem with following changes-

  1. Replaced ojdbc6.jar with ojdbc8.jar from the Oracle19 client

  2. Used these parameters in connection

    Properties prop = new Properties(); prop.put("user", user); prop.put("password", pwd); prop.put("oracle.net.encryption_client", "accepted"); prop.put("oracle.net.encryption_types_client", "AES256"); prop.put("oracle.net.crypto_checksum_client","REQUESTED"); prop.put("oracle.net.crypto_checksum_types_client", "SHA256");

    Connection con = DriverManager.getConnection(url, prop);

After deploying above changes I am able to connect to the database.

Hope this answer helps someone facing similar error.

Mohsin
  • 852
  • 8
  • 28