Use of PS_TXN

Hi, I have a question abaut the way in wich the PS_TXN table is used.
We have an ADF application, with many application modules, that uses an OAS DataSource to connect to its database. Examining the total number of connection to the DataSource in the OAS, we see that the number grows more than one in every request made to the application, and that the most of them are used for less that one second. It seems that the connections are the internal ones used by the framework, but I don´t know why the number grows in that way. Can it be related to the number of AM in the app? Is there a way to reduce the number of connections? I have other very similar app, with just one AM, and the number of connections is normal.
In other side, we have many appilcations that use ADF, and we would like to know if it´s a good option to create a new schema to put the ps_txn table, and make all the apps use it with the jbo.server.internal_connection property.
Thanks in advance.

That seems to be ok. I´ve tried changing the internal_connection property to use a different DS, and I´ve seen that the one used by the app uses a few connections, and the other is the one that grows a lot with each request. What I don´t understand is why that number of connections are being created; shouldn´t the pool be able to provide them more than once avoiding the total number to grow? It seems like if the connectiosn were being created, used, and died without reusing.
I´m working with a 10.1.2 OAS, and I´m using the controll performance option of the DS.
Thanks!

Similar Messages

  • PS_TXN Table index

    Have two applications that are built using JDeveloper 10.1.2.2 (Build 1929) that uses the PS_TXN Table. Would it be beneficial to add an Index to this Table to potentially increase response time?
    The reason I ask is, if I do a count on this Table it takes about 10 seconds to return a count value of 7000+ records. Yet counts done on other Tables in the DB take about 1-2 seconds to return a value.
    Thanks
    Fran

    I have reviewed this white paper - "Overview of Temporary Tables Created By BC4J" located here:
    http://www.oracle.com/technology/products/jdev/htdocs/bc4j/bc4j_temp_tables.html
    There is nothing specific about indexes on the PS_TXN table, so it looks like we just need to add an index and see if performance improves!
    Does anyone have any experience with doing this? What were the results?
    Thanks

  • Problem in running application(using ADF) on BEA Weblogic Server

    Hi..,
    I am Gunardy Sutanto from Indonesia. Currently, I had a problem in deploying application which is using ADF framework in BEA Weblogic Server(WLS 8.1). I also add all the libraries which were required for running this application. But I found some error when I ran this application. About the error message that I found from log file which is generated by BEA Weblogic Server 8.1, herewith I attach the detail of the error message :
    <Error> <HTTP> <BEA-101020> <[ServletContext(id=27825828,name=bp_presentment,context-path
    =/bp_presentment)] Servlet failed with Exception
    oracle.jbo.PCollException: JBO-28030: Could not insert row into table PS_TXN, collection id 16,408, persistent id 1
    at oracle.jbo.PCollException.throwException(PCollException.java:39)
    at oracle.jbo.pcoll.OraclePersistManager.insert(OraclePersistManager.java:1845)
    at oracle.jbo.pcoll.PCollNode.passivateElem(PCollNode.java:561)
    at oracle.jbo.pcoll.PCollNode.passivate(PCollNode.java:684)
    at oracle.jbo.pcoll.PCollNode.passivateBranch(PCollNode.java:643)
    at oracle.jbo.pcoll.PCollection.passivate(PCollection.java:461)
    at oracle.jbo.server.DBSerializer.passivateRootAM(DBSerializer.java:294)
    at oracle.jbo.server.DBSerializer.passivateRootAM(DBSerializer.java:277)
    at oracle.jbo.server.ApplicationModuleImpl.passivateStateInternal(ApplicationModuleImpl.java:5119)
    at oracle.jbo.server.ApplicationModuleImpl.passivateState(ApplicationModuleImpl.java:5011)
    at oracle.jbo.server.ApplicationModuleImpl.doPoolMessage(ApplicationModuleImpl.java:7741)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:3923)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.doManagedCheckin(ApplicationPoolImpl.java:2161)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.releaseApplicationModule(ApplicationPoolImpl.java:1261)
    at oracle.jbo.common.ampool.SessionCookieImpl.releaseApplicationModule(SessionCookieImpl.java:717)
    at oracle.jbo.common.ampool.SessionCookieImpl.releaseApplicationModule(SessionCookieImpl.java:634)
    at oracle.jbo.common.ws.WSApplicationModuleImpl.endRequest(WSApplicationModuleImpl.java:2672)
    at oracle.adf.model.bc4j.DCJboDataControl.endRequest(DCJboDataControl.java:1283)
    at oracle.adf.model.servlet.ADFBindingFilter.invokeEndRequest(ADFBindingFilter.java:300)
    at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:249)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6724)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3764)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2644)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
    ## Detail 0 ##
    java.lang.ClassCastException
    at oracle.jbo.pcoll.OraclePersistManager.updateBlobs(OraclePersistManager.java:1613)
    at oracle.jbo.pcoll.OraclePersistManager.insert(OraclePersistManager.java:1832)
    at oracle.jbo.pcoll.PCollNode.passivateElem(PCollNode.java:561)
    at oracle.jbo.pcoll.PCollNode.passivate(PCollNode.java:684)
    at oracle.jbo.pcoll.PCollNode.passivateBranch(PCollNode.java:643)
    at oracle.jbo.pcoll.PCollection.passivate(PCollection.java:461)
    at oracle.jbo.server.DBSerializer.passivateRootAM(DBSerializer.java:294)
    at oracle.jbo.server.DBSerializer.passivateRootAM(DBSerializer.java:277)
    at oracle.jbo.server.ApplicationModuleImpl.passivateStateInternal(ApplicationModuleImpl.java:5119)
    at oracle.jbo.server.ApplicationModuleImpl.passivateState(ApplicationModuleImpl.java:5011)
    at oracle.jbo.server.ApplicationModuleImpl.doPoolMessage(ApplicationModuleImpl.java:7741)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:3923)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.doManagedCheckin(ApplicationPoolImpl.java:2161)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.releaseApplicationModule(ApplicationPoolImpl.java:1261)
    at oracle.jbo.common.ampool.SessionCookieImpl.releaseApplicationModule(SessionCookieImpl.java:717)
    at oracle.jbo.common.ampool.SessionCookieImpl.releaseApplicationModule(SessionCookieImpl.java:634)
    at oracle.jbo.common.ws.WSApplicationModuleImpl.endRequest(WSApplicationModuleImpl.java:2672)
    at oracle.adf.model.bc4j.DCJboDataControl.endRequest(DCJboDataControl.java:1283)
    at oracle.adf.model.servlet.ADFBindingFilter.invokeEndRequest(ADFBindingFilter.java:300)
    at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:249)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6724)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3764)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2644)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
    I hope this is enough for somebody for solving this problem. If someone have the solution for this problem, please contact me by e-mail to [email protected].
    Thanks,
    Gunardy

    I already set the value for jbo.server.internal_connection and then deployed to Weblogic Server. When I was tested the application, all the records from table had shown on the screen but I found the application can't insert row to table PS_TXN. I I want to know it always happened?
    Herewith I attach the detail log from log file which was generated by Weblogic Server:
    oracle.jbo.PCollException: JBO-28030: Could not insert row into table PS_TXN, collection id 162, persistent id 1     at oracle.jbo.PCollException.throwException(PCollException.java:39)
         at oracle.jbo.pcoll.OraclePersistManager.insert(OraclePersistManager.java:1845)
         at oracle.jbo.pcoll.PCollNode.passivateElem(PCollNode.java:561)
         at oracle.jbo.pcoll.PCollNode.passivate(PCollNode.java:684)
         at oracle.jbo.pcoll.PCollNode.passivateBranch(PCollNode.java:643)
         at oracle.jbo.pcoll.PCollection.passivate(PCollection.java:461)
         at oracle.jbo.server.DBSerializer.passivateRootAM(DBSerializer.java:294)
         at oracle.jbo.server.DBSerializer.passivateRootAM(DBSerializer.java:277)
         at oracle.jbo.server.ApplicationModuleImpl.passivateStateInternal(ApplicationModuleImpl.java:5119)
         at oracle.jbo.server.ApplicationModuleImpl.passivateState(ApplicationModuleImpl.java:5011)
         at oracle.jbo.server.ApplicationModuleImpl.doPoolMessage(ApplicationModuleImpl.java:7741)
         at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:3923)
         at oracle.jbo.common.ampool.ApplicationPoolImpl.doManagedCheckin(ApplicationPoolImpl.java:2161)
         at oracle.jbo.common.ampool.ApplicationPoolImpl.releaseApplicationModule(ApplicationPoolImpl.java:1261)
         at oracle.jbo.common.ampool.SessionCookieImpl.releaseApplicationModule(SessionCookieImpl.java:717)
         at oracle.jbo.common.ampool.SessionCookieImpl.releaseApplicationModule(SessionCookieImpl.java:634)
         at oracle.jbo.common.ws.WSApplicationModuleImpl.endRequest(WSApplicationModuleImpl.java:2672)
         at oracle.adf.model.bc4j.DCJboDataControl.endRequest(DCJboDataControl.java:1283)
         at oracle.adf.model.servlet.ADFBindingFilter.invokeEndRequest(ADFBindingFilter.java:300)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:249)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6316)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
         at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3622)
         at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2569)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    ## Detail 0 ##
    java.lang.ClassCastException
         at oracle.jbo.pcoll.OraclePersistManager.updateBlobs(OraclePersistManager.java:1613)
         at oracle.jbo.pcoll.OraclePersistManager.insert(OraclePersistManager.java:1832)
         at oracle.jbo.pcoll.PCollNode.passivateElem(PCollNode.java:561)
         at oracle.jbo.pcoll.PCollNode.passivate(PCollNode.java:684)
         at oracle.jbo.pcoll.PCollNode.passivateBranch(PCollNode.java:643)
         at oracle.jbo.pcoll.PCollection.passivate(PCollection.java:461)
         at oracle.jbo.server.DBSerializer.passivateRootAM(DBSerializer.java:294)
         at oracle.jbo.server.DBSerializer.passivateRootAM(DBSerializer.java:277)
         at oracle.jbo.server.ApplicationModuleImpl.passivateStateInternal(ApplicationModuleImpl.java:5119)
         at oracle.jbo.server.ApplicationModuleImpl.passivateState(ApplicationModuleImpl.java:5011)
         at oracle.jbo.server.ApplicationModuleImpl.doPoolMessage(ApplicationModuleImpl.java:7741)
         at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:3923)
         at oracle.jbo.common.ampool.ApplicationPoolImpl.doManagedCheckin(ApplicationPoolImpl.java:2161)
         at oracle.jbo.common.ampool.ApplicationPoolImpl.releaseApplicationModule(ApplicationPoolImpl.java:1261)
         at oracle.jbo.common.ampool.SessionCookieImpl.releaseApplicationModule(SessionCookieImpl.java:717)
         at oracle.jbo.common.ampool.SessionCookieImpl.releaseApplicationModule(SessionCookieImpl.java:634)
         at oracle.jbo.common.ws.WSApplicationModuleImpl.endRequest(WSApplicationModuleImpl.java:2672)
         at oracle.adf.model.bc4j.DCJboDataControl.endRequest(DCJboDataControl.java:1283)
         at oracle.adf.model.servlet.ADFBindingFilter.invokeEndRequest(ADFBindingFilter.java:300)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:249)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6316)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
         at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3622)
         at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2569)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    >
    Besides that, I found new error when I was starting Weblogic Server. Herewith, I attach the detail of the error message:
    java.lang.NoClassDefFoundError: org/apache/commons/collections/FastHashMap$KeySet
         at org.apache.commons.collections.FastHashMap.keySet(Unknown Source)
         at org.apache.struts.action.ActionServlet.destroyDataSources(ActionServlet.java:769)
         at org.apache.struts.action.ActionServlet.destroy(ActionServlet.java:431)
         at weblogic.servlet.internal.ServletStubImpl$ServletDestroyAction.run(ServletStubImpl.java:1086)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
         at weblogic.servlet.internal.ServletStubImpl.destroyServlet(ServletStubImpl.java:569)
         at weblogic.servlet.internal.ServletStubImpl.destroyServlet(ServletStubImpl.java:596)
         at weblogic.servlet.internal.ServletStubImpl.destroyServlet(ServletStubImpl.java:581)
         at weblogic.servlet.internal.WebAppServletContext.destroyServlets(WebAppServletContext.java:5797)
         at weblogic.servlet.internal.WebAppServletContext.destroy(WebAppServletContext.java:5675)
         at weblogic.servlet.internal.ServletContextManager.removeContext(ServletContextManager.java:187)
         at weblogic.servlet.internal.HttpServer.unloadWebApp(HttpServer.java:706)
         at weblogic.servlet.internal.WebAppModule.destroyContexts(WebAppModule.java:764)
         at weblogic.servlet.internal.WebAppModule.rollback(WebAppModule.java:742)
         at weblogic.j2ee.J2EEApplicationContainer.rollbackModule(J2EEApplicationContainer.java:2942)
         at weblogic.j2ee.J2EEApplicationContainer.rectifyClassLoaders(J2EEApplicationContainer.java:1429)
         at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1176)
         at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1031)
         at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.prepareContainer(SlaveDeployer.java:2634)
         at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.createContainer(SlaveDeployer.java:2584)
         at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2506)
         at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:833)
         at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:542)
         at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:500)
         at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    >
    So, I need someone to sove this problem. I am looking forward for hearing from you.
    Thanks,
    Gunardy

  • Passivation Tables (PS_TXN) Not Created on First Passivation Attempt

    Fusion Middleware Version: 11.1.1.5
    WebLogic: 10.3.5.0
    JDeveloper Build: Build JDEVADF_11.1.1.5.0_GENERIC_110409.0025.6013
    Project: Custom WebCenter Portal Application integrated with custom ADF task flows.
    Hi
    We are trying to use the jbo.server.internal_connection property in the Business Components layer to change the database to which passivated application module data is written (PS_TXN table).
    We have set the property to a valid data source using the JNDI name. The entry in the bc4j.xcfg file is as follows:
    <Database jbo.locking.mode="optimistic" jbo.server.internal_connection="jdbc/mds/CustomPortalDS"/>
    After making the change, when I run the application through my integrated WLS instance within JDeveloper, the first instance to passivate its data results in the necessary passivation database objects being created in the target instance (PS_TXN, PS_TXN_SEQ & PCOLL_CONTROL).
    If however we then remove those objects from the target instance and run the application on our standalong WebLogic server we get an error accessing the application because the BC framework cannot find the PS_TXN table to write to. The following error appears in the log files:
    Caused by: oracle.jbo.PCollException: JBO-28030: Could not insert row into table PS_TXN, collection id 10, persistent id 1
         at oracle.jbo.PCollException.throwException(PCollException.java:36)
         at oracle.jbo.pcoll.OraclePersistManager.insert(OraclePersistManager.java:1901)
         at oracle.jbo.pcoll.PCollNode.passivateElem(PCollNode.java:564)
         at oracle.jbo.pcoll.PCollNode.passivate(PCollNode.java:688)
         at oracle.jbo.pcoll.PCollNode.passivateBranch(PCollNode.java:647)
         at oracle.jbo.pcoll.PCollection.passivate(PCollection.java:465)
         at oracle.jbo.server.DBSerializer.passivateRootAM(DBSerializer.java:294)
         at oracle.jbo.server.DBSerializer.passivateRootAM(DBSerializer.java:267)
         at oracle.jbo.server.ApplicationModuleImpl.passivateStateInternal(ApplicationModuleImpl.java:5975)
         at oracle.jbo.server.ApplicationModuleImpl.passivateState(ApplicationModuleImpl.java:5835)
         at oracle.jbo.server.ApplicationModuleImpl.passivateStateForUndo(ApplicationModuleImpl.java:8857)
         at oracle.adf.model.bc4j.DCJboDataControl.createSavepoint(DCJboDataControl.java:3180)
         at oracle.adf.model.dcframe.LocalTransactionHandler.createSavepoint(LocalTransactionHandler.java:75)
         at oracle.adf.model.dcframe.DataControlFrameImpl.createSavepoint(DataControlFrameImpl.java:797)
         at oracle.adfinternal.controller.util.model.DCFrameImpl.createSavepoint(DCFrameImpl.java:31)
         at oracle.adfinternal.controller.activity.TaskFlowCallActivityLogic.initializeModel(TaskFlowCallActivityLogic.java:1015)
         at oracle.adfinternal.controller.activity.TaskFlowCallActivityLogic.enterTaskFlow(TaskFlowCallActivityLogic.java:615)
         at oracle.adfinternal.controller.activity.TaskFlowCallActivityLogic.invokeLocalTaskFlow(TaskFlowCallActivityLogic.java:337)
         at oracle.adfinternal.controller.activity.TaskFlowCallActivityLogic.invokeTaskFlow(TaskFlowCallActivityLogic.java:229)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.invokeTaskFlow(ControlFlowEngine.java:217)
         at oracle.adfinternal.controller.state.ChildViewPortContextImpl.invokeTaskFlow(ChildViewPortContextImpl.java:104)
         at oracle.adfinternal.controller.state.ControllerState.createChildViewPort(ControllerState.java:1380)
         at oracle.adfinternal.controller.ControllerContextImpl.createChildViewPort(ControllerContextImpl.java:78)
         at oracle.adf.controller.internal.binding.DCTaskFlowBinding.createRegionViewPortContext(DCTaskFlowBinding.java:440)
         at oracle.adf.controller.internal.binding.DCTaskFlowBinding.getViewPort(DCTaskFlowBinding.java:358)
         at oracle.adf.controller.internal.binding.TaskFlowRegionModel.doProcessBeginRegion(TaskFlowRegionModel.java:164)
         at oracle.adf.controller.internal.binding.TaskFlowRegionModel.processBeginRegion(TaskFlowRegionModel.java:112)
         at oracle.adf.view.rich.component.fragment.UIXRegion$RegionContextChange.doChangeImpl(UIXRegion.java:1199)
         at oracle.adf.view.rich.context.DoableContextChange.doChange(DoableContextChange.java:91)
         at oracle.adf.view.rich.component.fragment.UIXRegion._beginInterruptibleRegion(UIXRegion.java:693)
         at oracle.adf.view.rich.component.fragment.UIXRegion.processRegion(UIXRegion.java:498)
         at oracle.adfinternal.view.faces.taglib.region.RegionTag.doStartTag(RegionTag.java:127)
         at oracle.jsp.runtime.tree.OracleJspBodyTagNode.executeHandler(OracleJspBodyTagNode.java:50)
         at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:261)
         at oracle.jsp.runtime.tree.OracleJspClassicTagNode.evalBody(OracleJspClassicTagNode.java:87)
         at oracle.jsp.runtime.tree.OracleJspBodyTagNode.executeHandler(OracleJspBodyTagNode.java:58)
         at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:261)
         at oracle.jsp.runtime.tree.OracleJspClassicTagNode.evalBody(OracleJspClassicTagNode.java:87)
         at oracle.jsp.runtime.tree.OracleJspBodyTagNode.executeHandler(OracleJspBodyTagNode.java:58)
         at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:261)
         at oracle.jsp.runtime.tree.OracleJspClassicTagNode.evalBody(OracleJspClassicTagNode.java:87)
         at oracle.jsp.runtime.tree.OracleJspBodyTagNode.executeHandler(OracleJspBodyTagNode.java:58)
         at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:261)
         at oracle.jsp.runtime.tree.OracleJspClassicTagNode.evalBody(OracleJspClassicTagNode.java:87)
         at oracle.jsp.runtime.tree.OracleJspBodyTagNode.executeHandler(OracleJspBodyTagNode.java:58)
         at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:261)
         at oracle.jsp.runtime.tree.OracleJspClassicTagNode.evalBody(OracleJspClassicTagNode.java:87)
         at oracle.jsp.runtime.tree.OracleJspBodyTagNode.executeHandler(OracleJspBodyTagNode.java:58)
         at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:261)
         at oracle.jsp.runtime.tree.OracleJspClassicTagNode.evalBody(OracleJspClassicTagNode.java:87)
         at oracle.jsp.runtime.tree.OracleJspBodyTagNode.executeHandler(OracleJspBodyTagNode.java:58)
         at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:261)
         at oracle.jsp.runtime.tree.OracleJspClassicTagNode.evalBody(OracleJspClassicTagNode.java:87)
         at oracle.jsp.runtime.tree.OracleJspBodyTagNode.executeHandler(OracleJspBodyTagNode.java:58)
         at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:261)
         at oracle.jsp.runtime.tree.OracleJspClassicTagNode.evalBody(OracleJspClassicTagNode.java:87)
         at oracle.jsp.runtime.tree.OracleJspIterationTagNode.executeHandler(OracleJspIterationTagNode.java:45)
         at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:261)
         at oracle.jsp.runtime.tree.OracleJspNode.execute(OracleJspNode.java:89)
         at oracle.jsp.runtimev2.ShortCutServlet._jspService(ShortCutServlet.java:89)
         at oracle.jsp.runtime.OracleJspBase.service(OracleJspBase.java:29)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:422)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:802)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:726)
         ... 122 more
    Caused by: java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:457)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:405)
         at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:889)
         at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:476)
         at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:204)
         at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:540)
         at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:217)
         at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1079)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1466)
         at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3752)
         at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3937)
         at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1535)
         at weblogic.jdbc.wrapper.PreparedStatement.execute(PreparedStatement.java:99)
         at oracle.jbo.pcoll.OraclePersistManager.insert(OraclePersistManager.java:1887)
         ... 184 more
    My understanding is that it is the adfbc_create_statesnapshottables.sql script that creates these database objects. The description in the file is as follows:
    "By default, BC4J will create these objects in the schema of the internal database user the first time that the application makes a passivation request. This script is intended for advanced users who require more control over the creation and naming of these objects."
    My question then is why is this not happening when the application is run on the standalone WebLogic server but is happening when run on the integrated JDevelopers WLS?
    Any help greatly appreciated.

    Hi
    Thanks for your reply.
    We have already considered the points in the referenced links.
    The correct privileges exist for the schema used by the data source and we don't see any messages other than ORA-00942.
    We have run a 'Finest' trace on package oracle.jbo.* and there is no further information. I have pasted the diagnostic output from the first passivation attempt below:
    [SRC_METHOD: passivate] [URI: /jlpportal/faces/home] [SRC_CLASS: oracle.jbo.server.Serializer] <AM MomVer="0">[[
    <<PASSIVATION DATA FOLLOWS NOT PASTED INTO THREAD>>
    </AM>
    [SRC_METHOD: insert] [URI: /jlpportal/faces/home] [SRC_CLASS: oracle.jbo.pcoll.OraclePersistManager] [2226] **insert** id=1, parid=-1, collid=10, keyArr.len=-1, cont.len=981
    [SRC_METHOD: insert] [URI: /jlpportal/faces/home] [SRC_CLASS: oracle.jbo.pcoll.OraclePersistManager] [2227] stmt: insert into "PS_TXN" values (:1, :2, :3, :4, sysdate)
    [SRC_METHOD: getInternalConnection] [URI: /jlpportal/faces/home] [SRC_CLASS: oracle.jbo.server.DBTransactionImpl] [2228] Getting a connection for internal use...
    [SRC_METHOD: getInternalConnection] [URI: /jlpportal/faces/home] [SRC_CLASS: oracle.jbo.server.DBTransactionImpl] [2229] Creating internal connection...
    [ADF_MESSAGE_ACTION_NAME: Establish database connection] [APP: XXJLPPartnerLinkApp#V2.0] [ADF_MESSAGE_STATUS: begin] [ADF_MESSAGE_ACTION_DESC: ] [URI: /jlpportal/faces/home] [ADF_MESSAGE_CONTEXT_DATA: Is datasource?=true;#;Connection identifier=weblogic.jdbc.common.internal.RmiDataSource@2b002b00] Establish database connection
    [SRC_METHOD: establishNewConnection] [URI: /jlpportal/faces/home] [SRC_CLASS: oracle.jbo.server.DBTransactionImpl] [2230] Trying connection: DataSource='weblogic.jdbc.common.internal.RmiDataSource@2b002b00'...
    [ADF_MESSAGE_ACTION_NAME: Establish database connection] [APP: XXJLPPartnerLinkApp#V2.0] [ADF_MESSAGE_STATUS: add_context_data] [URI: /jlpportal/faces/home] [ADF_MESSAGE_CONTEXT_DATA: Success?=true] Establish database connection
    [SRC_METHOD: establishNewConnection] [URI: /jlpportal/faces/home] [SRC_CLASS: oracle.jbo.server.DBTransactionImpl] [2231] Before getNativeJdbcConnection='weblogic.jdbc.wrapper.PoolConnection_oracle_jdbc_driver_T4CConnection
    [SRC_METHOD: establishNewConnection] [URI: /jlpportal/faces/home] [SRC_CLASS: oracle.jbo.server.DBTransactionImpl] [2232] After getNativeJdbcConnection='weblogic.jdbc.wrapper.PoolConnection_oracle_jdbc_driver_T4CConnection
    [SRC_METHOD: insert] [URI: /jlpportal/faces/home] [SRC_CLASS: oracle.jbo.pcoll.OraclePersistManager] [2233] **insert** error, sqlStmt=null
    [SRC_METHOD: insert] [URI: /jlpportal/faces/home] [SRC_CLASS: oracle.jbo.pcoll.OraclePersistManager] [2234] java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist

  • Jbo.passivationstore set to file, but PS_TXN table is still being created

    I've an app with application modules all having jbo.passivationstore set to file, a la the below:
           jbo.passivationstore="file" However, when i test this, the app creates the PS_TXN table and PS_TXN_SEQ sequence in the database. From reading the doc, I'd expect that only if jbo.passivationstore were set to database.
    Is there some other setting that needs to be configured in order to make the passiviation handled outside of the database?
    am using JDeveloper 11g.
    Thanks for your help.

    Timo, just tried it, that didn't work - PS_TXN is still being created.
    i found that just deleting the names from the properties in the JDev UI had no effect. so i then literally set the attributes to empty strings as below:
    <Database  jbo.locking.mode="optimistic" jbo.txn_seq_name="" jbo.txn_table_name=""/>is there some other step i should take?
    thanks for the quick response.
    -george

  • Cannot insert PS_TXN ORA-00942 table or view does not exist

    We are using jdev 11.1.1.4.0
    We have two users in the database and various application modules which connect to these users using datasources
    We have tested the application with applicatin module pooling enabled off to test for passivation and activation errors and the application works fine.
    Also on our internal test enviorment which has more then 10 concurrent users the application works fine
    But at UAT it has started suddenly to give errors Cannot insert in PS_TXN ORA-00942 table or view does not exist
    When I see the data in PS_TXN tables in various users I can see that passivation has taken place for the same day when there sporadic errors have been reported all having the cause as ORA-00942 table or view does not exist.
    But one strange thing that I have observed is that the COLLID column has sequence numbers interchanged for the users randomly, database user 1 has sequence number from database user 2 seq and vice a versa in COLLID
    As far as this problem goes the passivation should have failed with ORA-00001 primary key voilated but that is not the case
    May be the keys have still not got to a number where they collide.
    But I am totally taken aback on such a behaviour and I am not sure how to correct it.
    So we have two porblems here
    1) why did this error come in first place PS_TXN ORA-00942 table or view does not exist
    2) Why are the sequence numbers interchanged for the databse users ?
    Edited by: user3067156 on Jun 19, 2012 3:12 AM

    I got reply to my second question
    It looks like a bug in the framework and the suggestions are to use only one ps_txn and ps_txn_seq by modifying the internal connection
    But the first problem is not yet known why did it appear suddenly
    Edited by: user3067156 on Jun 19, 2012 3:12 AM

  • JBO-28030 possible constraints violation for PS_TXN

    Hi guys, any updates on this old thread from 2004?
    Constraints violation for PS_TXN
    Sometimes, i also receive this error Running WLS Cluster with 2 nodes:
    oracle.jbo.PCollException: JBO-29114 ADFContext is not setup to process messages for this exception. Use the exception stack trace and error code to investigate the root cause of this exception. Root cause error code is JBO-28030
         at oracle.jbo.PCollException.throwException(PCollException.java:36)
         at oracle.jbo.pcoll.OraclePersistManager.insert(OraclePersistManager.java:1901)
         at oracle.jbo.pcoll.PCollNode.passivateElem(PCollNode.java:564)
         at oracle.jbo.pcoll.PCollNode.passivate(PCollNode.java:688)
         at oracle.jbo.pcoll.PCollNode.passivateBranch(PCollNode.java:647)
         at oracle.jbo.pcoll.PCollection.passivate(PCollection.java:465)
         at oracle.jbo.server.DBSerializer.passivateRootAM(DBSerializer.java:294)
         at oracle.jbo.server.DBSerializer.passivateRootAM(DBSerializer.java:267)
         at oracle.jbo.server.ApplicationModuleImpl.passivateStateInternal(ApplicationModuleImpl.java:5975)
         at oracle.jbo.server.ApplicationModuleImpl.passivateState(ApplicationModuleImpl.java:5835)
         at oracle.adf.model.bc4j.DCJboDataControl.createSnapshot(DCJboDataControl.java:3143)
         at oracle.adf.model.dcframe.DataControlFrameImpl.createSnapshot(DataControlFrameImpl.java:879)
         at oracle.adf.model.BindingContext.createSnapshot(BindingContext.java:699)
         at oracle.adf.model.BindingContext.writeObject(BindingContext.java:666)
         at sun.reflect.GeneratedMethodAccessor726.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
         at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
         at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
         at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
         at weblogic.servlet.internal.session.ReplicatedSessionChange.writeExternal(ReplicatedSessionChange.java:153)
         at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1429)
         at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1398)
         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
         at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
         at weblogic.rjvm.MsgAbbrevOutputStream.writeObject(MsgAbbrevOutputStream.java:618)
         at weblogic.rjvm.MsgAbbrevOutputStream.writeObjectWL(MsgAbbrevOutputStream.java:609)
         at weblogic.rmi.internal.ObjectIO.writeObject(ObjectIO.java:38)
         at weblogic.rjvm.BasicOutboundRequest.marshalArgs(BasicOutboundRequest.java:88)
         at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:221)
         at weblogic.cluster.replication.ReplicationManager_1035_WLStub.update(Unknown Source)
         at sun.reflect.GeneratedMethodAccessor675.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at weblogic.cluster.replication.SecureReplicationInvocationHandler$ReplicationServicesInvocationAction.run(SecureReplicationInvocationHandler.java:194)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.cluster.replication.SecureReplicationInvocationHandler.invoke(SecureReplicationInvocationHandler.java:164)
         at $Proxy135.update(Unknown Source)
         at weblogic.cluster.replication.ReplicationManager.sendUpdateRequestToSecondary(ReplicationManager.java:740)
         at weblogic.cluster.replication.ReplicationManager.updateSecondary(ReplicationManager.java:662)
         at weblogic.servlet.internal.session.ReplicatedSessionData.syncSession(ReplicatedSessionData.java:639)
         at weblogic.servlet.internal.session.ReplicatedSessionContext.sync(ReplicatedSessionContext.java:85)
         at weblogic.servlet.internal.ServletRequestImpl$SessionHelper.syncSession(ServletRequestImpl.java:2860)
         at weblogic.servlet.internal.ServletRequestImpl$SessionHelper.syncSession(ServletRequestImpl.java:2835)
         at weblogic.servlet.internal.ServletResponseImpl$1.run(ServletResponseImpl.java:1485)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.servlet.internal.ServletResponseImpl.send(ServletResponseImpl.java:1479)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1462)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    Caused By: java.sql.SQLIntegrityConstraintViolationException: ORA-00001: unique constraint (ADF_FMWK.PS_TXPLG_PK) violated
    I'm using several passivation tables for different Application modules . PS_TXPLG acually have a PS_TXN table structure and PS_TXPLG_PK is equivalent to PS_TXN_PK .
    Regards,
    Krasimir

    Hi guys, any updates on this old thread from 2004?
    Constraints violation for PS_TXN
    Sometimes, i also receive this error Running WLS Cluster with 2 nodes:
    oracle.jbo.PCollException: JBO-29114 ADFContext is not setup to process messages for this exception. Use the exception stack trace and error code to investigate the root cause of this exception. Root cause error code is JBO-28030
         at oracle.jbo.PCollException.throwException(PCollException.java:36)
         at oracle.jbo.pcoll.OraclePersistManager.insert(OraclePersistManager.java:1901)
         at oracle.jbo.pcoll.PCollNode.passivateElem(PCollNode.java:564)
         at oracle.jbo.pcoll.PCollNode.passivate(PCollNode.java:688)
         at oracle.jbo.pcoll.PCollNode.passivateBranch(PCollNode.java:647)
         at oracle.jbo.pcoll.PCollection.passivate(PCollection.java:465)
         at oracle.jbo.server.DBSerializer.passivateRootAM(DBSerializer.java:294)
         at oracle.jbo.server.DBSerializer.passivateRootAM(DBSerializer.java:267)
         at oracle.jbo.server.ApplicationModuleImpl.passivateStateInternal(ApplicationModuleImpl.java:5975)
         at oracle.jbo.server.ApplicationModuleImpl.passivateState(ApplicationModuleImpl.java:5835)
         at oracle.adf.model.bc4j.DCJboDataControl.createSnapshot(DCJboDataControl.java:3143)
         at oracle.adf.model.dcframe.DataControlFrameImpl.createSnapshot(DataControlFrameImpl.java:879)
         at oracle.adf.model.BindingContext.createSnapshot(BindingContext.java:699)
         at oracle.adf.model.BindingContext.writeObject(BindingContext.java:666)
         at sun.reflect.GeneratedMethodAccessor726.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
         at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
         at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
         at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
         at weblogic.servlet.internal.session.ReplicatedSessionChange.writeExternal(ReplicatedSessionChange.java:153)
         at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1429)
         at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1398)
         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
         at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
         at weblogic.rjvm.MsgAbbrevOutputStream.writeObject(MsgAbbrevOutputStream.java:618)
         at weblogic.rjvm.MsgAbbrevOutputStream.writeObjectWL(MsgAbbrevOutputStream.java:609)
         at weblogic.rmi.internal.ObjectIO.writeObject(ObjectIO.java:38)
         at weblogic.rjvm.BasicOutboundRequest.marshalArgs(BasicOutboundRequest.java:88)
         at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:221)
         at weblogic.cluster.replication.ReplicationManager_1035_WLStub.update(Unknown Source)
         at sun.reflect.GeneratedMethodAccessor675.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at weblogic.cluster.replication.SecureReplicationInvocationHandler$ReplicationServicesInvocationAction.run(SecureReplicationInvocationHandler.java:194)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.cluster.replication.SecureReplicationInvocationHandler.invoke(SecureReplicationInvocationHandler.java:164)
         at $Proxy135.update(Unknown Source)
         at weblogic.cluster.replication.ReplicationManager.sendUpdateRequestToSecondary(ReplicationManager.java:740)
         at weblogic.cluster.replication.ReplicationManager.updateSecondary(ReplicationManager.java:662)
         at weblogic.servlet.internal.session.ReplicatedSessionData.syncSession(ReplicatedSessionData.java:639)
         at weblogic.servlet.internal.session.ReplicatedSessionContext.sync(ReplicatedSessionContext.java:85)
         at weblogic.servlet.internal.ServletRequestImpl$SessionHelper.syncSession(ServletRequestImpl.java:2860)
         at weblogic.servlet.internal.ServletRequestImpl$SessionHelper.syncSession(ServletRequestImpl.java:2835)
         at weblogic.servlet.internal.ServletResponseImpl$1.run(ServletResponseImpl.java:1485)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.servlet.internal.ServletResponseImpl.send(ServletResponseImpl.java:1479)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1462)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    Caused By: java.sql.SQLIntegrityConstraintViolationException: ORA-00001: unique constraint (ADF_FMWK.PS_TXPLG_PK) violated
    I'm using several passivation tables for different Application modules . PS_TXPLG acually have a PS_TXN table structure and PS_TXPLG_PK is equivalent to PS_TXN_PK .
    Regards,
    Krasimir

  • Cannot change default passivation table/sequence (PS_TXN, PS_TXN_SEQ)

    Hi All , i have the following problem:
    I'm preparing the ADF/ADF Faces Application to run in failover mode.
    One of the problems which i have is that after turning-on the Application Modules failover mode,
    the application performance decrease significantly. I found-out that the Application passivates very intensively using (PS_TXN) table
    (there are entered more than 30 records per user, only by navigatiing between 2-3 pages).
    To increase the performance I'm trying at least to separate the Application Modules to use different tables for passivation.
    I'm trying to do that by changing jbo.txn_table_name and jbo.txn_seq_name per different application modules.
    However the Application continue using PS_TXN only.
    Can somebody give an advice ?
    Thanks in advance,
    Krasimir

    OK, this clears things up a bit.
    If you set jbo.dofailover="true" this means that each time an application module is returned to the application module pool in managed state (default state) it gets saved in the db in the ps_txn table. This is the reason why you see so many entries in the table (essentially it's like working without pooling, well, not quite but in a way).
    Fail over has the advantage that the state of the module can be reconstructed (even on an other server in the cluster) at any time. Disadvantage is that it take time to store the data in the ps_txn table.
    We turned this feature off for all non critical apps as the unscheduled server downtime is <1%. In case of a failure the loss of data is tolerable to our users (their decision).
    If I remember correct, you can move all state related stuff into an other db (using an other connection) by setting the jbo.server.internal_connection="conn_to_db" parameter in the configuration of your application. After setting this up the ps_txn table should be created in the other schema.
    You should see a better performance this way. If this fulfill your needs is an other question.
    Timo

  • Query regarding passivation and PS_TXN tables

    Hi All ,
    I am working on a read only Dashboard UI where the DB user has only read privileges.
    The jbo.server.internal_connection uses the same DB connection to create PS_TXN & PS_TXN_SEQ tables which fails for obvious reasons & I get the error -
    "Couldnot create persistence table PS_TXN_seq".
    I have disabled passivation at all the VO levels and also disabled jbo.isSupportsPassivation to be false at the AMLocal level , but still I am getting this error.
    I have also increased the initial AM pool size in bc4j.xcfg & Connection Pool at the weblogic server level to avoid snapshots been written to this table.
    Is there any way I can prevent any interaction with this table as the client too is not interested in any kind of passivation to happen for the time being.
    Thanks

    Thanks for your reply Chris.
    Chris Muir wrote:
    You might be taking the wrong approach to solving this. Rather than disabling the AM pooling (which btw is not supported by Oracle) to the database, instead you can get ADF to passivate to file or memory of the app server.I am confused as to what exactly jbo.ampool.issupportspassivation = false does then ? I read on one of the blogs that its a viable use case for Programatic VOs ?
    Also regarding passivating to file system as per http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/bcstatemgmt.htm#ADFFD1307 , its not really a recommended approach.. hence was not going for that.
    Can you please throw some more light ?
    Thanks

  • Questions on PS_TXN

    I cannot
    t seem to find PS_TXN Table supposed to be created by ADF Business components , it is not created when i left the jbo.server.internal property to default or when i setup this property explicitly using jdbc url to use for this
    using jdev 10.3.4 with ADF and DB2 Database . i have tried using oracle database for internal setting and still don't see that table getting created
    what should i look for too see why it is getting created
    The user id used have sufficient privileges to create the tables in database
    Thanks

    thanks simon
    timo yes , user profile used have privileges to create table and sequence , anyhow when we changed the jbo.passivationstore from null to database it is successfully created the table and sequence in oracle db , but it is not creating them when i use db2
    but i think we found out the reason for my original problem i was investigating which led me to research PS_TXN Tables. we have lot of Transient view objects and under View object editor Passivate state is checked by default , but i have to also check the include All transient values to fix our problem in production
    Regards

  • PS_TXN/PCOLL JBO-28005 Error

    I have a user called myUser and all my tables and data are created under this user. I have another user called myUser_web who has been granted select, update, insert and deletes on all the tables of myUser...yes even the PS_TXN and PCOLL_CONTROL tables. I also create synonyms under myUser_web identical to the table names under myUser.
    I created a bc4j project and bc4j jsp project , when I change the connection from myUser to myUser_web and run one of my jsps, I get the following error. However, from SQL I can update the PS_TXN and PCOLL_CONTROL tables. What are the possible scenarios for this problem. I am using Jdeveloper 9.02
    Error Message: JBO-28005: Could not update row in control table for table PS_TXN
    oracle.jbo.PCollException: JBO-28005: Could not update row in control table for table PS_TXN
    void oracle.jbo.PCollException.throwException(java.lang.Class, java.lang.String, java.lang.Object[], java.lang.Exception)
    void oracle.jbo.pcoll.OraclePersistManager.updateControlRow(java.lang.String, java.lang.String)
    void oracle.jbo.pcoll.OraclePersistManager.commit()
    void oracle.jbo.pcoll.OraclePersistManager.createTable()
    long oracle.jbo.pcoll.OraclePersistManager.queryNextCollectionId()
    int oracle.jbo.pcoll.PCollManager.register(oracle.jbo.pcoll.PCollection, int)
    void oracle.jbo.pcoll.PCollection.(oracle.jbo.pcoll.PCollManager, java.lang.String, int, int, int)
    oracle.jbo.pcoll.PCollection oracle.jbo.pcoll.PCollManager.createCollection(java.lang.String, int, int, int)
    void oracle.jbo.server.DBSerializer.setup(int)
    int oracle.jbo.server.DBSerializer.reservePassivationId()
    int oracle.jbo.server.ApplicationModuleImpl.reservePassivationId()
    void oracle.jbo.common.ampool.SessionCookieImpl.reservePassivationId()
    int oracle.jbo.html.jsp.datatags.ApplicationModuleTag.doStartTag()
    void PubCqstateView_Browse._jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
    void oracle.jsp.runtime.HttpJsp.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
    void oracle.jsp.runtimev2.JspPageTable.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String)
    void oracle.jsp.runtimev2.JspServlet.internalService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
    void oracle.jsp.runtimev2.JspServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
    void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
    void com.evermind.server.http.ServletRequestDispatcher.invoke(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
    void com.evermind.server.http.ServletRequestDispatcher.forwardInternal(javax.servlet.ServletRequest, javax.servlet.http.HttpServletResponse)
    boolean com.evermind.server.http.HttpRequestHandler.processRequest(com.evermind.server.ApplicationServerThread, com.evermind.server.http.EvermindHttpServletRequest, com.evermind.server.http.EvermindHttpServletResponse, java.io.InputStream, java.io.OutputStream, boolean)
    void com.evermind.server.http.HttpRequestHandler.run(java.lang.Thread)
    void com.evermind.util.ThreadPoolThread.run()
    Thanks,
    Joe

    Joe:
    The stack trace should have included "Detail" exception stack trace. That would give you more info on what the underlying failure was.
    From your description of it, it seems things should've worked. Perhaps, PCOLL* tables are being created in myUser_web schema and not myUser, and myUser_web has no privilege to update tables in myUser_web?
    You can specify a separate connection for PCOLL stuff. Please take a look at the following articles about this topic.
    Re: Using the ADF Faces Dialog and Process framework
    Re: Static Linking
    http://forums.oracle.com/forums/message.jsp?id=902552
    If you continue to have the same problem, please post the detail exception stack trace (if you don't get the detail exception stack on the HTML page, you can turn on diagnostic and get it from the console).
    Thanks.
    Sung

  • Is the -userThreads switch required when using internal connection?

    Hi,
    Maybe someone can help me with this.
    I have an ADF application module (JDeveloper 10.1.3.4) that uses something similar to dynamic credentials. It's configured so that it uses the jbo.server.internal_connection configuration parameter.
    Everything works fine, but from time to time I'm receiving the following error:
    oracle.jbo.DMLException: JBO-27200: JNDI failure. Unable to lookup Data Source at context java:comp/env/jdbc/internalDS
    at oracle.jbo.server.DBTransactionImpl.lookupDataSource(DBTransactionImpl.java:1452)
         at oracle.jbo.server.DBTransactionImpl.getInternalConnection(DBTransactionImpl.java:1402)
         at oracle.jbo.server.DBTransactionImpl.getPersistManagerConnection(DBTransactionImpl.java:1304)
         at oracle.jbo.pcoll.PCollManager.ensureConnection(PCollManager.java:489)
         at oracle.jbo.pcoll.OraclePersistManager.getConnection(OraclePersistManager.java:148)
         at oracle.jbo.pcoll.OraclePersistManager.persistentObjectsExist(OraclePersistManager.java:683)
         at oracle.jbo.pcoll.OraclePersistManager.createTable(OraclePersistManager.java:765)
         at oracle.jbo.pcoll.OraclePersistManager.queryNextCollectionId(OraclePersistManager.java:1388)
         at oracle.jbo.pcoll.PCollManager.register(PCollManager.java:566)
         at oracle.jbo.pcoll.PCollection.<init>(PCollection.java:103)
         at oracle.jbo.pcoll.PCollManager.createCollection(PCollManager.java:464)
         at oracle.jbo.server.DBSerializer.setup(DBSerializer.java:153)
         at oracle.jbo.server.DBSerializer.passivateRootAM(DBSerializer.java:286)
         at oracle.jbo.server.DBSerializer.passivateRootAM(DBSerializer.java:267)
         at oracle.jbo.server.ApplicationModuleImpl.passivateStateInternal(ApplicationModuleImpl.java:5305)
         at oracle.jbo.server.ApplicationModuleImpl.passivateState(ApplicationModuleImpl.java:5192)
         at oracle.jbo.server.ApplicationPoolMessageHandler.doPoolMessage(ApplicationPoolMessageHandler.java:332)
         at oracle.jbo.server.ApplicationModuleImpl.doPoolMessage(ApplicationModuleImpl.java:7777)
         at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4074)
         at oracle.jbo.common.ampool.ApplicationPoolImpl.manageReferencingState(ApplicationPoolImpl.java:1239)
         at oracle.jbo.common.ampool.ApplicationPoolImpl.finalizeResource(ApplicationPoolImpl.java:1156)
         at oracle.jbo.pool.ResourcePool.removeResourceInternal(ResourcePool.java:749)
         at oracle.jbo.pool.ResourcePool.setState(ResourcePool.java:1004)
         at oracle.jbo.pool.ResourcePool.gc(ResourcePool.java:1423)
         at oracle.jbo.pool.ResourcePool.wakeup(ResourcePool.java:774)
         at oracle.jbo.pool.ResourcePool.wakeup(ResourcePool.java:779)
         at oracle.jbo.pool.ResourcePoolMonitor.run(ResourcePoolMonitor.java:98)
         at java.util.TimerThread.mainLoop(Timer.java:512)
         at java.util.TimerThread.run(Timer.java:462)
    ## Detail 0 ##
    javax.naming.NamingException: Not in an application scope - start OC4J with the -userThreads switch if using user-created threads
         at com.evermind.server.PreemptiveApplicationContext.getContext(PreemptiveApplicationContext.java:30)
         at com.evermind.naming.FilterContext.lookup(FilterContext.java:126)
         at com.evermind.server.PreemptiveApplicationContext.lookup(PreemptiveApplicationContext.java:42)
         at javax.naming.InitialContext.lookup(InitialContext.java:351)
         at oracle.jbo.server.DBTransactionImpl.lookupDataSource(DBTransactionImpl.java:1438)
         at oracle.jbo.server.DBTransactionImpl.getInternalConnection(DBTransactionImpl.java:1402)
         at oracle.jbo.server.DBTransactionImpl.getPersistManagerConnection(DBTransactionImpl.java:1304)
         at oracle.jbo.pcoll.PCollManager.ensureConnection(PCollManager.java:489)
         at oracle.jbo.pcoll.OraclePersistManager.getConnection(OraclePersistManager.java:148)
         at oracle.jbo.pcoll.OraclePersistManager.persistentObjectsExist(OraclePersistManager.java:683)
         at oracle.jbo.pcoll.OraclePersistManager.createTable(OraclePersistManager.java:765)
         at oracle.jbo.pcoll.OraclePersistManager.queryNextCollectionId(OraclePersistManager.java:1388)
         at oracle.jbo.pcoll.PCollManager.register(PCollManager.java:566)
         at oracle.jbo.pcoll.PCollection.<init>(PCollection.java:103)
         at oracle.jbo.pcoll.PCollManager.createCollection(PCollManager.java:464)
         at oracle.jbo.server.DBSerializer.setup(DBSerializer.java:153)
         at oracle.jbo.server.DBSerializer.passivateRootAM(DBSerializer.java:286)
         at oracle.jbo.server.DBSerializer.passivateRootAM(DBSerializer.java:267)
         at oracle.jbo.server.ApplicationModuleImpl.passivateStateInternal(ApplicationModuleImpl.java:5305)
         at oracle.jbo.server.ApplicationModuleImpl.passivateState(ApplicationModuleImpl.java:5192)
         at oracle.jbo.server.ApplicationPoolMessageHandler.doPoolMessage(ApplicationPoolMessageHandler.java:332)
         at oracle.jbo.server.ApplicationModuleImpl.doPoolMessage(ApplicationModuleImpl.java:7777)
         at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4074)
         at oracle.jbo.common.ampool.ApplicationPoolImpl.manageReferencingState(ApplicationPoolImpl.java:1239)
         at oracle.jbo.common.ampool.ApplicationPoolImpl.finalizeResource(ApplicationPoolImpl.java:1156)
         at oracle.jbo.pool.ResourcePool.removeResourceInternal(ResourcePool.java:749)
         at oracle.jbo.pool.ResourcePool.setState(ResourcePool.java:1004)
         at oracle.jbo.pool.ResourcePool.gc(ResourcePool.java:1423)
         at oracle.jbo.pool.ResourcePool.wakeup(ResourcePool.java:774)
         at oracle.jbo.pool.ResourcePool.wakeup(ResourcePool.java:779)
         at oracle.jbo.pool.ResourcePoolMonitor.run(ResourcePoolMonitor.java:98)
         at java.util.TimerThread.mainLoop(Timer.java:512)
         at java.util.TimerThread.run(Timer.java:462)
    This datasource exists and works properly with the persistence table (PS_TXN has records). The detail indicates that I have to start OC4J with the -userThreads switch, but I didn't find in the documentation if this is really necessary and why.
    I hope someone can help me with this question.
    Thanks in advance,
    Tatiana.

    Do you get this error while running the AM ?
    Can you check in the AM ->Concfigurations (for the AM you are running) as to whats the connection type you are using.
    AFAIK , for OC4J it should be JDBC URL and not JDBC datasource which you seem to be using.

  • JDeveloper 10.1.3.5, ADF, OC4J: bc4jcleaup.sql, use of PCOLL_CONTROL

    I understand how am passivation/activation works via the internal account and I am working on deploying a cleanup job using the supplied bc4jcleaup.sql. I noticed that there is a reference to a table called PCOLL_CONTROL, however my understanding is the passivation process only requires ps_txn and ps_txn_seq. Is PCOLL_CONTROL used for adf 10.1.3.5 or is it just legacy code and I dont have to worry about?
    define def_control_tab_name = PCOLL_CONTROL
    define def_txn_tab_name = PS_TXN
    define def_txn_seq_name = PS_TXN_seq
    thanks
    Wes

    Got it, the whitepaper states that PCOLL_CONTROL table is created/managed the same way as PS_TXN table (if not there, it will create it based on property value of jbo.server.internal_connection). The second document helped me confirm the default value of the jbo.control_table_name property. The strange issue is I only see the PS_TXN table and not the PCOLL_CONTROL table being used in our db.
    thanks Frank for the replies in the past couple of days.

  • Query Regarding PS_TXN Temp Tbl Created by BC

    Hi,
    Jdev Version : 11.1.1.3.0
    Regarding the Temporary table created by ADF BC at Runtime namely PS_TXN , Is there is way to control the Table Name created by ADF BC, and also column Names.
    Reason : We have a situation where DB user used by ADF BC to connect to DB, has grants only to perform DML on the tables and has no grant to create tables. Hence we have asked the DB team to create PS_TXN table and sequence and grant access , but they follow certain naming conventions.
    Hence could you please let me know if we can control the Table, Column and Sequence name created by ADF BC .
    Also does PS_TXN stand for "Passivate_Transaction" ? Need this detail as the DB team needs to know what the table name stands for and its description as they have guidelines to maintain this information .
    Thanks in Advance.
    Regards,
    Mohan

    The internal connection has nothing to do with the table name. That has nothing to do with the question.
    The following properties
    jbo.txn_table_name (default: PS_TXN)
    jbo.txn_seq_name (default: PS_TXN_seq)
    jbo.txn_seq_inc (default: 50)
    should allow you to control the table used for transaction passivation. You should be able to specify those either in the bc4j.xcfg or in a BC4J.properties file, or as a "-D" option, if you want.
    I always thought that PS_TXN stands for something like "passivation storage - transaction".
    Sascha

  • Index for PS_TXN table

    Hi
    This is regarding the PS_TXN table which is created and maintained by ADF.
    We developed our application using JDev build 1811 and Oracle 10g as database.
    We recently migrated to JDev build 1929. We have the BC4J cleanup job in our database to clean the PS_TXN table.
    Since ADF is running a full table scan with each query, we have got a suggestion from our database administrator to create an index for the column COLLID in PS_TXN table.
    My question is:
    1) Since this is a JDeveloper table, is JDeveloper responsible for automatically providing indexes?
    2) If this is true, why was the index suggested by Robert (COLLID) not automatically added?
    4) If we manually add this index, is there a possibility that JDeveloper will override our change?
    Thanks in advance
    Shoba

    Hi
    Thanks for the immediate reply.
    We have not set the property. But as per my knowledge, if the value of this configuration parameter is not set by the developer (which is the default situation) then the framework will create the temporary tables using the credentials of the current application database connection. Thats what happens in our applicaiton. It created the table in our schema and the cleanup job is also working fine.
    But why an index is not created for the table PS_TXN by JDev?
    If JDev does not create any index, can we create one for performance.
    If we create, will it overriden by JDev.
    Thanks in Advance
    Shoba

Maybe you are looking for

  • How to create a gui pf status and guititle in module pool programming?

    hi frnds, how to create a gui pf status and gui title in module pool programming? my problem is i created a screen and wen execute the screen by a tcode.am nt able to activate SAVE BACK EXIT CANCEL COMMANDS?.how to do this can any one explain in deta

  • Having your program output to a separate console window

    I'm looking for a way to run my program(its just a console application)in a separate black console window(similar to Visual Studio). I'm looking on this forum. Someone said to go into Project Properties and hit a radio button that says "send output t

  • Variable display

    I want the variable AudioFilesNumber to contain the number of files with extension = "CLASS" the variable does get incremented, but displays on each row. Is there a way to accumulate the count while readingrecords, then print the total whileprinting

  • [AMD] K8T Neo 2 and overclocking (giving me headaches)

    Yesterday I aquired an MSI K8T NEO2-FIR board, together with an Athlon 64 3200+ Winchester (90nm). Furthermore I used all the old components (Radeon 9700, GEIL PC3500 2x 512MB CL2, 550W Levicom PSU (doing 35A @ 12V) etc etc). As I read the 3200 Winch

  • Cropping my frame n importing my .mpg videos question

    hiii... i just made a frame for my videoo(frame by michael).. but once i import it to premiere, its automatically make the frame i made with black background (inside the frame) so how can i crop it? thxxx... and i found a problem importing mpg videos