1 Reply Latest reply on Dec 9, 2004 8:57 AM by gchazalon

    Oracle DataSource: DB shutdown detection (JBoss 3.2.3)

    gchazalon

      Hi,

      I have set up an Oracle DataSource using the oracle thin driver (oracle.jdbc.driver.OracleDriver) and my application uses CMP 2.0 Entity Beans.

      The problem is that JBoss doesn't seem to make a difference between "Bean with PK X doesn't exist" and a brutal DB shutdown after its startup and the connection pool creation. I've got the same FinderException for both cases when a finder method on an entity bean is called.
      This is a real problem for us, because the two cases have a different meaning : the first one could be an applicative problem whereas the second is really a system issue.

      We've tried to use the OracleValidConnectionChecker as well as the

      check-valid-connection-sql
      to make JBoss distinguish the DB shutdown problem from the real finder issue, but it doesn't worK.

      So here are my questions for the DataSource experts :

      1. Is this a well-known issue ?
      2. Is there a work-around or a fix available ?

      Thanks for your help

      Regards,

      Gregory


        • 1. Re: Oracle DataSource: DB shutdown detection (JBoss 3.2.3)
          gchazalon

          I've also tried the latest release (3.2.6) with no more success.

          The fact that JBoss throws a FinderException instead of an EJBException to report a system-level failure (DB unavailable) seems to be an implementation mistake with regards to the EJB 2.0 specification chapter 18.2.2.

          Anyway, I would have been satisfied if the FinderException thrown in that case had some extra info, like a not null cause (of class SQLException, or NestedSQLException). But the only information is contained in the message of the exception, which is not suitable for making a difference between system failure and application error. Maybe I should report a bug about this ?...


          I'd be pleased to have an answer about this.


          PS: Some logging from the test case described above


          14:16:38,647 DEBUG [DBShutdownTest] setUp() called...
          14:16:38,647 DEBUG [DBShutdownTest] testDBShutdown() method called...
          14:16:38,657 DEBUG [AccordServiceBean] EntityBean.setEntityContext (9079559, PK = nullctx)
          14:16:38,657 DEBUG [AccordService#findByPrimaryKey] Executing SQL: SELECT t0_AccordService.ADS_N_AS_APP_ID, t0_AccordService.ADS_N_AS_PROC_ID, t0_AccordService.ADS_L_AS_PROC_VER FROM ADP.ACCORD_SERVICE t0_AccordService WHERE t0_AccordService.ADS_N_AS_APP_ID=? AND t0_AccordService.ADS_N_AS_PROC_ID=? AND t0_AccordService.ADS_L_AS_PROC_VER=?
          14:16:38,777 WARN [JBossManagedConnectionPool] Throwable while attempting to get a new connection: null
          org.jboss.resource.JBossResourceException: Could not create connection; - nested throwable: (java.sql.SQLException: ORA-01034: ORACLE not available
          ORA-27101: shared memory realm does not exist
          HP-UX Error: 2: No such file or directory
          )
           at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:168)
           at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.createConnectionEventListener(InternalManagedConnectionPool.java:508)
           at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.getConnection(InternalManagedConnectionPool.java:207)
           at org.jboss.resource.connectionmanager.JBossManagedConnectionPool$BasePool.getConnection(JBossManagedConnectionPool.java:534)
           at org.jboss.resource.connectionmanager.BaseConnectionManager2.getManagedConnection(BaseConnectionManager2.java:444)
           at org.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnection(TxConnectionManager.java:298)
           at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:496)
           at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:887)
           at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:102)
           at org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractQueryCommand.execute(JDBCAbstractQueryCommand.java:189)
           at org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractQueryCommand.execute(JDBCAbstractQueryCommand.java:128)
           at org.jboss.ejb.plugins.cmp.jdbc.JDBCFindByPrimaryKeyQuery.execute(JDBCFindByPrimaryKeyQuery.java:128)
           at org.jboss.ejb.plugins.cmp.jdbc.JDBCFindEntityCommand.execute(JDBCFindEntityCommand.java:47)
           at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.findEntity(JDBCStoreManager.java:589)
           at org.jboss.ejb.plugins.CMPPersistenceManager.findEntity(CMPPersistenceManager.java:271)
           at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.findEntity(CachedConnectionInterceptor.java:302)
           at org.jboss.ejb.EntityContainer.findSingleObject(EntityContainer.java:1043)
           at org.jboss.ejb.EntityContainer.findLocal(EntityContainer.java:627)
           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
           at java.lang.reflect.Method.invoke(Method.java:324)
           at org.jboss.ejb.EntityContainer$ContainerInterceptor.invokeHome(EntityContainer.java:1070)
           at org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.java:88)
           at org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invokeHome(EntitySynchronizationInterceptor.java:204)
           at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invokeHome(CachedConnectionInterceptor.java:215)
           at org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.java:88)
           at org.jboss.ejb.plugins.EntityInstanceInterceptor.invokeHome(EntityInstanceInterceptor.java:90)
           at org.jboss.ejb.plugins.EntityLockInterceptor.invokeHome(EntityLockInterceptor.java:61)
           at org.jboss.ejb.plugins.EntityCreationInterceptor.invokeHome(EntityCreationInterceptor.java:28)
           at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:88)
           at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:315)
           at org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.java:128)
           at org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.java:85)
           at org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:120)
           at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invokeHome(ProxyFactoryFinderInterceptor.java:93)
           at org.jboss.ejb.EntityContainer.internalInvokeHome(EntityContainer.java:478)
           at org.jboss.ejb.Container.invoke(Container.java:729)
           at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invokeHome(BaseLocalProxyFactory.java:347)
           at org.jboss.ejb.plugins.local.LocalHomeProxy.invoke(LocalHomeProxy.java:110)
           at $Proxy80.findByPrimaryKey(Unknown Source)
           at adonis2.adp.archivage.ingestion.test.DBShutdownTest.testDBShutdown(DBShutdownTest.java:78)
           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
           at java.lang.reflect.Method.invoke(Method.java:324)
           at junit.framework.TestCase.runTest(TestCase.java:154)
           at junit.framework.TestCase.runBare(TestCase.java:127)
           at junit.framework.TestResult$1.protect(TestResult.java:106)
           at junit.framework.TestResult.runProtected(TestResult.java:124)
           at junit.framework.TestResult.run(TestResult.java:109)
           at junit.framework.TestCase.run(TestCase.java:118)
           at junit.framework.TestSuite.runTest(TestSuite.java:208)
           at junit.framework.TestSuite.run(TestSuite.java:203)
           at org.junitee.runner.TestRunner$1.run(TestRunner.java:72)
           at org.junitee.runner.TestRunner.run(TestRunner.java:95)
           at org.junitee.servlet.JUnitEEServlet.runTests(JUnitEEServlet.java:231)
           at org.junitee.servlet.JUnitEEServlet.doGet(JUnitEEServlet.java:202)
           at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
           at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
           at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
           at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:75)
           at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
           at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
           at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
           at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
           at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
           at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
           at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
           at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:66)
           at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
           at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:158)
           at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
           at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
           at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
           at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
           at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
           at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
           at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
           at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
           at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
           at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
           at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
           at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
           at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
           at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
           at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
           at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
           at java.lang.Thread.run(Thread.java:534)
          Caused by: java.sql.SQLException: ORA-01034: ORACLE not available
          ORA-27101: shared memory realm does not exist
          HP-UX Error: 2: No such file or directory
          
           at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
           at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
           at oracle.jdbc.ttc7.O3log.receive1st(O3log.java:407)
           at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:259)
           at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:346)
           at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:468)
           at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314)
           at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:158)
           ... 90 more
          14:16:38,787 ERROR [AccordService#findByPrimaryKey] Find failed
          org.jboss.util.NestedSQLException: Could not create connection; - nested throwable: (java.sql.SQLException: ORA-01034: ORACLE not available
          ORA-27101: shared memory realm does not exist
          HP-UX Error: 2: No such file or directory
          ); - nested throwable: (org.jboss.resource.JBossResourceException: Could not create connection; - nested throwable: (java.sql.SQLException: ORA-01034: ORACLE not available
          ORA-27101: shared memory realm does not exist
          HP-UX Error: 2: No such file or directory
          ))
           at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:106)
           at org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractQueryCommand.execute(JDBCAbstractQueryCommand.java:189)
           at org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractQueryCommand.execute(JDBCAbstractQueryCommand.java:128)
           at org.jboss.ejb.plugins.cmp.jdbc.JDBCFindByPrimaryKeyQuery.execute(JDBCFindByPrimaryKeyQuery.java:128)
           at org.jboss.ejb.plugins.cmp.jdbc.JDBCFindEntityCommand.execute(JDBCFindEntityCommand.java:47)
           at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.findEntity(JDBCStoreManager.java:589)
           at org.jboss.ejb.plugins.CMPPersistenceManager.findEntity(CMPPersistenceManager.java:271)
           at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.findEntity(CachedConnectionInterceptor.java:302)
           at org.jboss.ejb.EntityContainer.findSingleObject(EntityContainer.java:1043)
           at org.jboss.ejb.EntityContainer.findLocal(EntityContainer.java:627)
           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
           at java.lang.reflect.Method.invoke(Method.java:324)
           at org.jboss.ejb.EntityContainer$ContainerInterceptor.invokeHome(EntityContainer.java:1070)
           at org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.java:88)
           at org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invokeHome(EntitySynchronizationInterceptor.java:204)
           at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invokeHome(CachedConnectionInterceptor.java:215)
           at org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.java:88)
           at org.jboss.ejb.plugins.EntityInstanceInterceptor.invokeHome(EntityInstanceInterceptor.java:90)
           at org.jboss.ejb.plugins.EntityLockInterceptor.invokeHome(EntityLockInterceptor.java:61)
           at org.jboss.ejb.plugins.EntityCreationInterceptor.invokeHome(EntityCreationInterceptor.java:28)
           at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:88)
           at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:315)
           at org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.java:128)
           at org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.java:85)
           at org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:120)
           at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invokeHome(ProxyFactoryFinderInterceptor.java:93)
           at org.jboss.ejb.EntityContainer.internalInvokeHome(EntityContainer.java:478)
           at org.jboss.ejb.Container.invoke(Container.java:729)
           at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invokeHome(BaseLocalProxyFactory.java:347)
           at org.jboss.ejb.plugins.local.LocalHomeProxy.invoke(LocalHomeProxy.java:110)
           at $Proxy80.findByPrimaryKey(Unknown Source)
           at adonis2.adp.archivage.ingestion.test.DBShutdownTest.testDBShutdown(DBShutdownTest.java:78)
           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
           at java.lang.reflect.Method.invoke(Method.java:324)
           at junit.framework.TestCase.runTest(TestCase.java:154)
           at junit.framework.TestCase.runBare(TestCase.java:127)
           at junit.framework.TestResult$1.protect(TestResult.java:106)
           at junit.framework.TestResult.runProtected(TestResult.java:124)
           at junit.framework.TestResult.run(TestResult.java:109)
           at junit.framework.TestCase.run(TestCase.java:118)
           at junit.framework.TestSuite.runTest(TestSuite.java:208)
           at junit.framework.TestSuite.run(TestSuite.java:203)
           at org.junitee.runner.TestRunner$1.run(TestRunner.java:72)
           at org.junitee.runner.TestRunner.run(TestRunner.java:95)
           at org.junitee.servlet.JUnitEEServlet.runTests(JUnitEEServlet.java:231)
           at org.junitee.servlet.JUnitEEServlet.doGet(JUnitEEServlet.java:202)
           at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
           at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
           at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
           at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:75)
           at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
           at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
           at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
           at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
           at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
           at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
           at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
           at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:66)
           at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
           at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:158)
           at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
           at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
           at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
           at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
           at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
           at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
           at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
           at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
           at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
           at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
           at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
           at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
           at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
           at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
           at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
           at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
           at java.lang.Thread.run(Thread.java:534)
          Caused by: org.jboss.resource.JBossResourceException: Could not create connection; - nested throwable: (java.sql.SQLException: ORA-01034: ORACLE not available
          ORA-27101: shared memory realm does not exist
          HP-UX Error: 2: No such file or directory
          )
           at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:168)
           at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.createConnectionEventListener(InternalManagedConnectionPool.java:508)
           at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.getConnection(InternalManagedConnectionPool.java:207)
           at org.jboss.resource.connectionmanager.JBossManagedConnectionPool$BasePool.getConnection(JBossManagedConnectionPool.java:534)
           at org.jboss.resource.connectionmanager.BaseConnectionManager2.getManagedConnection(BaseConnectionManager2.java:444)
           at org.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnection(TxConnectionManager.java:298)
           at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:496)
           at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:887)
           at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:102)
           ... 82 more
          Caused by: java.sql.SQLException: ORA-01034: ORACLE not available
          ORA-27101: shared memory realm does not exist
          HP-UX Error: 2: No such file or directory
          
           at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
           at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
           at oracle.jdbc.ttc7.O3log.receive1st(O3log.java:407)
           at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:259)
           at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:346)
           at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:468)
           at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314)
           at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:158)
           ... 90 more
          14:16:38,787 ERROR [DBShutdownTest] javax.ejb.FinderException : Find failed: org.jboss.util.NestedSQLException: Could not create connection; - nested throwable: (java.sql.SQLException: ORA-01034: ORACLE not available
          ORA-27101: shared memory realm does not exist
          HP-UX Error: 2: No such file or directory
          ); - nested throwable: (org.jboss.resource.JBossResourceException: Could not create connection; - nested throwable: (java.sql.SQLException: ORA-01034: ORACLE not available
          ORA-27101: shared memory realm does not exist
          HP-UX Error: 2: No such file or directory
          ))
          14:16:38,787 INFO [DBShutdownTest] cause : null
          14:16:38,787 DEBUG [DBShutdownTest] tearDown() called...