PS_TXN table

Hi
Our application was developed using JDeveloper Build 1929 and Oracle 10g database.
We have three schemas in our application and all these schemas share the same PS_TXN.
My questions:
1. Should we truncate the PS_TXN table before deploying the code in the application server?
2. Will three schemas sharing the same PS_TXN table create any issues?
Thanks in Advance
Shoba

Maybe this can help:
http://www.oracle.com/technology/products/jdev/htdocs/bc4j/bc4j_temp_tables.html

Similar Messages

  • 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

  • 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

  • Passivation and PS_TXN table - (Oracle ADF 11.1.1.6)

    Hi All,
    Can anyone help me understand the relationship between passivation and PS_TXN table insert? I am testing my application in a controlled environment using following steps -
    (1) I truncated PS_TXN table first.
    (2) I ran my application and visited couple of pages.
    (3) I queried PS_TXN table and it has 22 rows in it
    (4) When I check in enterprise manager ADF performance page the number of Passivations per min still shows 0 rows for all of my AMs.
    What else could cause inserts in to PS_TXN table?
    Thanks
    Chetan

    See My Oracle Support note IMPDP Fails With Errors ORA-39126 And ORA-01403: no data found (Doc ID 729346.1).
    Note that is a forum and not official Oracle Support: you should not ask for urgent answer.

  • Bc4j and PS_TXN Table

    Hi,
    Reading the article "Understanding Application Module Pooling Concepts and Configuration Parameters" from Dive into Bc4j Blog; http://radio.weblogs.com/0118231/stories/2003/12/17/understandingApplicationModulePoolingConceptsAndConfigurationParameters.html
    The jbo.passivationstore, parameter sets where we want to store Bc4j's Xml snapshots ( files on disk or Database ).
    Bc4j AM, uses PS_TXN table to store it's states between sessions calls.
    Querying this table at an dummy database schema just to see how many rows, i realize that it has almost 7.000 rows .
    Application Module Pool does not have any parameter to configure a garbage collection over Ps_Txn or the disk file ?
    I mean, as it is a dummy schema the application module pool, never will restore any state stored there, how it's works ? When can we clean all that rows ?
    thanks.

    Passivation store parameter controls all passivation, including what is written to PS_TXN when you opt for the (Default of) database passivation.
    BC4J should clean up the snapshots when the AM is released in stateless mode, or when the session expires.
    If sessions are killed, we supply a script in ./BC4J/bin/bc4jsession.sql to clean up the info in that table at whatever interval you would like to.

  • 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

  • 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

  • PS_TXN table - what is it?

    I created a JSP page connected to a database, but when I change the login and password (of course authenticated to the database) I get the following errors:
    JBO-30003: The application pool (OPTEN_MP.OPTEN_MPModule.OPTEN_MPModuleLocal) failed to checkout an application module due to the following exception:
    oracle.jbo.PCollException: JBO-28033: Could not retrieve row from table PS_TXN, collection id 12 941, persistent id -1
    java.sql.SQLException: ORA-00942: table or view does not exist
    I haven't any table named PS_TXN
    Thanx
    Zoltan

    It will create the table in the current schema (using a separate connection) unless an alternative is specified as explained in the link above.
    The framework will create the necessary tables dynamically as long as the user connecting to a schema has create any table, create any sequence etc (again see link above).

  • Why BC4J PS_TXN table , sometime may occur data  lock situation ?

    My appliation be develop in Jdev 10.1.2 with BC4J/JSP solution, but in production environment sometime when the application user request is heavy will occur the PS_TXN data lock situation and caused the application be hang and no any other user can access the application, so what situation wrong or event happen may caused the PS_TXN lock issue ? who have meet the situation and have the good idea to avoid the issue ?

    Hi Nies......
    If you want to Import Libraries to your target client then you need BASIS Consultant..........
    For any report writer report we need a library.
    Go to GR23 & specify the library name 1VK & press 'Enter'.
    If it doesn't display......
    Please check with your FI consultant as they are the users of the report writer reports and they only create the same.
    there may be chance that this library has been deleted.
    Is your system newly upgraded?
    Solution..........
    Library 1VK is SAP standard and exists in table T801K in client 000.
    1. Create transport of table with library and transport to target client.
    2. Or in target client, use transaction OKD3 to import the library 1VK from 000.
    3. You can also use transaction GR29 to import individual libraries.
    Thanks
    Dhruv Malhotra

  • 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

  • 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

  • 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

  • Passivation table ps_txn not being cleaned up

    Adf 11gR1PS1
    Hello
    I have a samll application using one unbounded task flow and one bounded task flow.
    Each task flow uses a different application module.
    The unbound task flow calls the bounded task flow in a modeless inline-popup via a button.
    When running the application and clicking on the button the bounded task flow is called and a new row is inserted
    into the ps_txn table.
    However when the inline-popup is closed via the "x" on the popup window the row is not removed from the ps_txn table.
    If the button is clicked again a new row is added to the theps_txn table.
    Is this the normal behaviour, looking at 40.5.3 in the Dev Guide it would seem that the record should be deleted or reused.
    I understand that there are scripts for cleaning up the table but shouldn't it be automatic ?
    What am I missing ?
    Regards
    Paul

    Hi Paul,
    Do you use the failover (jbo.dofailover) ?
    If not, I would expect records to be deleted from PS_TXN at activation.
    I tested with the ADF BC Component Browser, selecting menus Save/Restore Transaction State, with jbo.debugoutput=console:
    [277] (0) OraclePersistManager.deleteAll(2126) **deleteAll** collid=17461
    [278] (0) OraclePersistManager.deleteAll(2140)    stmt: delete "PS_TXN" where collid=:1
    [279] (0) OraclePersistManager.commit(217) **commit** #pending ops=1But I also already noticed orphaned records in the table.
    Do you use jbo.internal_connection to use the same connection whatever the AM instance that's passivated/activated or do you have an instance of the PS_TXN table in all AM's connections ?
    Regards,
    Didier.

  • 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

  • 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

Maybe you are looking for