Home » Server Options » Replication » dbms_mview.refresh and CMP Ejb
dbms_mview.refresh and CMP Ejb [message #75510] Sun, 20 June 2004 23:33
BT
Messages: 1
Registered: June 2004
Junior Member
I am trying to implement a J2EE app using Oracle 9.2, mview refresh on demand. The view is called normal_sales_view in the following stack trace.

Our EJB is container-managed persistence, meaning all db access is managed by the container. Since it strictly forbids any manual call of commit or rollback, the use of dbms_mview.refresh in the middle of my code would result in exception.

Just wondering if anybody have come accross this issue? Any suggestions or comments would be appreciated.

Thanks in advance.

Ben

2004-06-19 10:30:35,216 [[Servlet.Engine.Transports : 2]] INFO  com.milliontech.iposs.ejb.isd.support.OracleJdbcIsdReportDao(1) - before refreshing normal_sales_view, time is:
2004-06-19 10:30:35,216 [[Servlet.Engine.Transports : 2]] INFO  com.milliontech.iposs.ejb.isd.support.OracleJdbcIsdReportDao(1) - 02:02:03
2004-06-19 10:30:35,216 [[Servlet.Engine.Transports : 2]] DEBUG com.milliontech.iposs.ejb.isd.support.OracleJdbcIsdReportDao$RefreshNormalSalesView(1) - prepareCall in stored procedure
2004-06-19 10:30:35,221 [[Servlet.Engine.Transports : 2]] DEBUG com.milliontech.iposs.ejb.isd.support.OracleJdbcIsdReportDao$RefreshNormalSalesView(1) - processInputParameters in stored procedure
2004-06-19 10:30:35,221 [[Servlet.Engine.Transports : 2]] DEBUG com.milliontech.iposs.ejb.isd.support.OracleJdbcIsdReportDao$RefreshNormalSalesView(1) - start processInputParameters
2004-06-19 10:30:35,221 [[Servlet.Engine.Transports : 2]] DEBUG com.milliontech.iposs.ejb.isd.support.OracleJdbcIsdReportDao$RefreshNormalSalesView(1) - process param [[view_name]], freeMemory:55192584, totalMemory=244578816
2004-06-19 10:30:35,221 [[Servlet.Engine.Transports : 2]] DEBUG com.milliontech.iposs.ejb.isd.support.OracleJdbcIsdReportDao$RefreshNormalSalesView(1) - process param [[refresh_mode]], freeMemory:55183192, totalMemory=244578816
2004-06-19 10:30:35,221 [[Servlet.Engine.Transports : 2]] DEBUG com.milliontech.iposs.ejb.isd.support.OracleJdbcIsdReportDao$RefreshNormalSalesView(1) - finish processInputParameters
2004-06-19 10:30:35,221 [[Servlet.Engine.Transports : 2]] DEBUG com.milliontech.iposs.ejb.isd.support.OracleJdbcIsdReportDao$RefreshNormalSalesView(1) - Executing stored procedure [[{call DBMS_MVIEW.REFRESH(?, ?)}]] start
2004-06-19 10:30:35,240 [[Servlet.Engine.Transports : 2]] ERROR com.milliontech.iposs.ejb.isd.support.OracleJdbcIsdReportDao$RefreshNormalSalesView(1) - Stored procedure execute error: java.sql.SQLException: ORA-02089: COMMIT is not allowed in a subordinate session
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 849
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 832
ORA-06512: at line 1

 at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
 at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java(Inlined Compiled Code))
 at oracle.jdbc.ttc7.Oall7.receive(Oall7.java(Compiled Code))
 at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java(Compiled Code))
 at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java(Compiled Code))
 at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java(Compiled Code))
 at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java(Compiled Code))
 at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java(Compiled Code))
 at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java(Compiled Code))
 at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java(Compiled Code))
 at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.execute(WSJdbcPreparedStatement.java:468)
 at com.milliontech.framework.jdbc.object.StoredProcedure.execute(StoredProcedure.java:139)
 at com.milliontech.framework.jdbc.object.StoredProcedure.execute(StoredProcedure.java:103)
 at com.milliontech.iposs.ejb.isd.support.OracleJdbcIsdReportDao$RefreshNormalSalesView.execute(OracleJdbcIsdReportDao.java:4593)
 at com.milliontech.iposs.ejb.isd.support.OracleJdbcIsdReportDao.getSalesAnalysisByCategoryReport(OracleJdbcIsdReportDao.java:1164)
 at com.milliontech.iposs.ejb.isd.IsdReportEjb.getSalesAnalysisByCategoryReport(IsdReportEjb.java:131)
 at com.milliontech.iposs.ejb.isd.EJSLocalStatelessIsdReportEjb_596dd9c4.getSalesAnalysisByCategoryReport(Unknown Source)
 at com.milliontech.iposs.usecase.isdreport.GetSalesAnalysisByCategoryReport.callBackEnd(GetSalesAnalysisByCategoryReport.java:141)
 at com.milliontech.iposs.usecase.IPOSSUseCase.execute(IPOSSUseCase.java:80)
 at com.milliontech.iposs.servlet.handler.report.SalesAnalysisByCategoryReportHandler.read(SalesAnalysisByCategoryReportHandler.java:118)
 at com.milliontech.iposs.servlet.handler.IPOSSHandlerAdapter.perform(IPOSSHandlerAdapter.java:37)
 at com.milliontech.iposs.servlet.handler.report.SalesAnalysisByCategoryReportHandler.perform(SalesAnalysisByCategoryReportHandler.java:56)
 at com.milliontech.framework.servlet.core.RequestProcessor.processRequest(RequestProcessor.java:83)
 at com.milliontech.framework.servlet.core.MainServlet.process(MainServlet.java:177)
 at com.milliontech.framework.servlet.core.MainServlet.doPost(MainServlet.java:155)
 at com.milliontech.iposs.servlet.core.IPOSSServlet.doPost(IPOSSServlet.java:211)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code))
 at com.milliontech.framework.servlet.core.MainServlet.service(MainServlet.java:66)
 at com.milliontech.iposs.servlet.core.IPOSSServlet.service(IPOSSServlet.java:161)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code))
 at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java(Compiled Code))
 at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java(Compiled Code))
 at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java(Compiled Code))
 at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java(Inlined Compiled Code))
 at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java(Compiled Code))
 at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java(Compiled Code))
 at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java(Inlined Compiled Code))
 at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java(Compiled Code))
 at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java(Compiled Code))
 at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java(Compiled Code))
 at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java(Compiled Code))
 at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java(Compiled Code))
 at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java(Compiled Code))
 at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java(Compiled Code))
 at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java(Compiled Code))
 at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java(Compiled Code))
 at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java(Compiled Code))
 at com.ibm.ws.http.HttpConnection.run(HttpConnection.java(Compiled Code))
 at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))
Previous Topic: Oracle Replication - Stopping Deletes ?
Next Topic: Problem in 8i replication
Goto Forum:
  


Current Time: Thu Mar 28 10:20:04 CDT 2024