Hanging Transaction

Hi,
I have following situation:
An Application running on Solaris and connected to IBM host with SNA CICS. A transaction
is started. A tpcall is set. And the connection is lost before the commit comes.
So we have hanging transactions. My question is how can I abort the hanging transaction
when the connection is established again?
Any hint would be appreciated.
Sincerely
Mando Gali

Mando Gali:
Hi,
I have following situation:
An Application running on Solaris and connected to IBM host with SNA CICS. A transaction
is started. A tpcall is set. And the connection is lost before the commit comes.
So we have hanging transactions. My question is how can I abort the hanging transaction
when the connection is established again?
Any hint would be appreciated.
Sincerely
Mando GaliYou do not have to do anything to abort the transaction. After the
timeout that you specify with the first argument to tpbegin() elapses,
Tuxedo will abort (and roll back) the transaction for you.
best regards,
Joerg Lenneis
email: [email protected]

Similar Messages

  • (V9I) ORACLE 9I NEW FEATURE : RESUMABLE SPACE ALLOCATION

    제품 : ORACLE SERVER
    작성날짜 : 2002-11-01
    (V9I) ORACLE 9I New Feature : Resumable Space Allocation
    =====================================================
    PURPOSE
    Oracle9i New Feature 인 Resumable Space Allocation 에 대해
    알아보도록 한다.
    Explanation
    Resumable Space Allocation 은 다음과 같은 새로운 Space allocation
    이 발생되어야 할 시점에 에러를 바로 발생하지 않고 어느정도의 Time 을 준뒤
    Admin에게 이를 알림으로써 수행중인 Transaction rollback 되지 않고 계속적으로
    진행할 수 있도록 하는 기능이다.
    Query 수행시 다음과 같은 원인으로 에러가 발생하면서 query 수행이 중지된다.
    1) Out of space condition
    2) Maximum number of extents reached condision
    3) Space quota exceeded condition
    그러나 9I 에서 Resumable Space Allocation Operations을 설정하게 되면
    alertSID.ora file에 suspend 되는 메세지와 함께 설정한 timeout 까지 hang 상태가
    발생된다. 만약 timeout 초과시엔 에러가 발생하면서 transaction은 rollback 된다.
    alertSID.ora 메세지예)
    Wed Mar 14 11:14:17 2001
    statement in resumable session 'User SCOTT(54), Session 9, Instance 1' was
    suspended due to
    ORA-01631: max # extents (5) reached in table SCOTT.TEST_RESUMABLE
    Example
    다음은 Resumable Space Allocation Operations 을 설정하기 위해서는 RESUMABLE 을
    ENABLE 시키고 또는 DBMS_RESUMABLE package를 이용한다.
    1) RESUMABLE system privilege 부여
    SQL> connect system/manager
    Connected.
    SQL> grant resumable to scott;
    Grant succeeded.
    2) session level에서 RESUMABLE enable 시키기
    SQL> alter session enable resumable;
    Session altered.
    This can be set automatically through an AFTER LOGON trigger.
    SQL> create or replace trigger logon_set_resumable
    2 after logon
    3 on scott.schema
    4 begin
    5 execute immediate 'alter session enable resumable timeout 1200';
    6 end;
    7 /
    Trigger created.
    3) 생성한 TEST_RESUMABLE table 에 insert 작업
    -> insert 시에 hang 현상 발생(transaction rollback은 이루어지지 않는다.)
    -> alert.log에 suspend message 확인
    -> 만약 설정한 timeout 초과시 에러 발생되면서 transaction rollback
    a. Displaying the DBA_RESUMABLE view(DBA_RESUMABLE view에서 suspend 확인)
    SQL> select user_id,SESSION_ID, STATUS, START_TIME, SUSPEND_TIME,
    2 SQL_TEXT, ERROR_NUMBER, ERROR_MSG
    3 from dba_resumable;
    USER_ID SESSION_ID STATUS START_TIME SUSPEND_TIME
    SQL_TEXT
    ERROR_NUMBER
    ERROR_MSG
    54 9 SUSPENDED 03/14/01 10:49:25 03/14/01 11:14:17
    insert into test_resumable select * from test_resumable
    1631
    ORA-01631: max # extents (5) reached in table SCOTT.TEST_RESUMABLE
    b. In alert.log file(alert.log에서 message 확인)
    Wed Mar 14 11:14:17 2001
    statement in resumable session 'User SCOTT(54), Session 9, Instance 1' was
    suspended due to
    ORA-01631: max # extents (5) reached in table SCOTT.TEST_RESUMABLE
    c. The statement may issue the following error when the timeout set for the
    session has expired(timeout 초과시 transaction rollback 되면서 에러 발생)
    SQL> insert into test_resumable values (1);
    insert into test_resumable values (1)
    ERROR at line 1:
    ORA-30032: the suspended (resumable) statement has timed out
    ORA-01536: space quota exceeded for tablespace 'EXAMPLE'
    4) The DBA now knows why the session hangs, and needs to find which action to
    take to alleviate the ora-1631 error(DBA는 timeout 이 발생하기 전에 에러 발생)
    SQL> connect system/manager
    Connected.
    SQL> alter table scott.test_resumable storage (maxextents 8);
    Table altered.
    SQL> select user_id,SESSION_ID, STATUS, START_TIME, RESUME_TIME,
    2 SQL_TEXT, ERROR_NUMBER, ERROR_MSG
    3 from dba_resumable;
    USER_ID SESSION_ID STATUS START_TIME RESUME_TIME
    SQL_TEXT
    ERROR_NUMBER
    ERROR_MSG
    54 9 NORMAL 03/14/01 10:49:25 03/14/01 11:24:02
    insert into test_resumable select * from test_resumable
    0
    5) If the session does not need to be in resumable state, the session can
    disable the resumable state(더이상 resumable 기능 사용하지 않을 경우 disable 시키기)
    SQL> alter session disable resumable;
    Session altered.
    SQL> select user_id,SESSION_ID, STATUS, START_TIME, RESUME_TIME,
    2 SQL_TEXT, ERROR_NUMBER, ERROR_MSG
    3 from dba_resumable;
    no rows selected
    Reference Document
    Note. 136941.1 Using RESUMABLE Session to Avoid Transaction Abort Due to Space Errors

    제품 : ORACLE SERVER
    작성날짜 : 2002-11-01
    (V9I) ORACLE 9I New Feature : Resumable Space Allocation
    =====================================================
    PURPOSE
    Oracle9i New Feature 인 Resumable Space Allocation 에 대해
    알아보도록 한다.
    Explanation
    Resumable Space Allocation 은 다음과 같은 새로운 Space allocation
    이 발생되어야 할 시점에 에러를 바로 발생하지 않고 어느정도의 Time 을 준뒤
    Admin에게 이를 알림으로써 수행중인 Transaction rollback 되지 않고 계속적으로
    진행할 수 있도록 하는 기능이다.
    Query 수행시 다음과 같은 원인으로 에러가 발생하면서 query 수행이 중지된다.
    1) Out of space condition
    2) Maximum number of extents reached condision
    3) Space quota exceeded condition
    그러나 9I 에서 Resumable Space Allocation Operations을 설정하게 되면
    alertSID.ora file에 suspend 되는 메세지와 함께 설정한 timeout 까지 hang 상태가
    발생된다. 만약 timeout 초과시엔 에러가 발생하면서 transaction은 rollback 된다.
    alertSID.ora 메세지예)
    Wed Mar 14 11:14:17 2001
    statement in resumable session 'User SCOTT(54), Session 9, Instance 1' was
    suspended due to
    ORA-01631: max # extents (5) reached in table SCOTT.TEST_RESUMABLE
    Example
    다음은 Resumable Space Allocation Operations 을 설정하기 위해서는 RESUMABLE 을
    ENABLE 시키고 또는 DBMS_RESUMABLE package를 이용한다.
    1) RESUMABLE system privilege 부여
    SQL> connect system/manager
    Connected.
    SQL> grant resumable to scott;
    Grant succeeded.
    2) session level에서 RESUMABLE enable 시키기
    SQL> alter session enable resumable;
    Session altered.
    This can be set automatically through an AFTER LOGON trigger.
    SQL> create or replace trigger logon_set_resumable
    2 after logon
    3 on scott.schema
    4 begin
    5 execute immediate 'alter session enable resumable timeout 1200';
    6 end;
    7 /
    Trigger created.
    3) 생성한 TEST_RESUMABLE table 에 insert 작업
    -> insert 시에 hang 현상 발생(transaction rollback은 이루어지지 않는다.)
    -> alert.log에 suspend message 확인
    -> 만약 설정한 timeout 초과시 에러 발생되면서 transaction rollback
    a. Displaying the DBA_RESUMABLE view(DBA_RESUMABLE view에서 suspend 확인)
    SQL> select user_id,SESSION_ID, STATUS, START_TIME, SUSPEND_TIME,
    2 SQL_TEXT, ERROR_NUMBER, ERROR_MSG
    3 from dba_resumable;
    USER_ID SESSION_ID STATUS START_TIME SUSPEND_TIME
    SQL_TEXT
    ERROR_NUMBER
    ERROR_MSG
    54 9 SUSPENDED 03/14/01 10:49:25 03/14/01 11:14:17
    insert into test_resumable select * from test_resumable
    1631
    ORA-01631: max # extents (5) reached in table SCOTT.TEST_RESUMABLE
    b. In alert.log file(alert.log에서 message 확인)
    Wed Mar 14 11:14:17 2001
    statement in resumable session 'User SCOTT(54), Session 9, Instance 1' was
    suspended due to
    ORA-01631: max # extents (5) reached in table SCOTT.TEST_RESUMABLE
    c. The statement may issue the following error when the timeout set for the
    session has expired(timeout 초과시 transaction rollback 되면서 에러 발생)
    SQL> insert into test_resumable values (1);
    insert into test_resumable values (1)
    ERROR at line 1:
    ORA-30032: the suspended (resumable) statement has timed out
    ORA-01536: space quota exceeded for tablespace 'EXAMPLE'
    4) The DBA now knows why the session hangs, and needs to find which action to
    take to alleviate the ora-1631 error(DBA는 timeout 이 발생하기 전에 에러 발생)
    SQL> connect system/manager
    Connected.
    SQL> alter table scott.test_resumable storage (maxextents 8);
    Table altered.
    SQL> select user_id,SESSION_ID, STATUS, START_TIME, RESUME_TIME,
    2 SQL_TEXT, ERROR_NUMBER, ERROR_MSG
    3 from dba_resumable;
    USER_ID SESSION_ID STATUS START_TIME RESUME_TIME
    SQL_TEXT
    ERROR_NUMBER
    ERROR_MSG
    54 9 NORMAL 03/14/01 10:49:25 03/14/01 11:24:02
    insert into test_resumable select * from test_resumable
    0
    5) If the session does not need to be in resumable state, the session can
    disable the resumable state(더이상 resumable 기능 사용하지 않을 경우 disable 시키기)
    SQL> alter session disable resumable;
    Session altered.
    SQL> select user_id,SESSION_ID, STATUS, START_TIME, RESUME_TIME,
    2 SQL_TEXT, ERROR_NUMBER, ERROR_MSG
    3 from dba_resumable;
    no rows selected
    Reference Document
    Note. 136941.1 Using RESUMABLE Session to Avoid Transaction Abort Due to Space Errors

  • Incomplete Posting of AR to GL

    Hi,
    EBS R12.0.4
    We can not close AR period due to pending hang transactions.
    I raise and SR and the support give me this action plan.
    ACTION PLAN
    ==========
    1. Run the concurrent program - transfer journal entries to GL. -- upload us log and output file for reference
    2. select count(*) from xla_ae_headers
    where application_id = 222 and
    ae_header_id = <select the ae_header_ids which have the gl_transfer_status_code = 'N' >
    and ledger_id = <ledger_id>;
    3. Please upload diagnostics of transaction with issue (Transaction Number 17635 ,146185 ) as in Note 431370.1.
    #1 Where can I find this "transfer journal entries to GL" concurrent program name? I search it on AR SuperUser
    concurrent programs but no found name like this.
    #2 Where can I get this <select the ae_header_ids which have the gl_transfer_status_code = 'N' >
    Thanks
    Ms K

    Hi Msk;
    Please check follow note:
    R12: FAQ on Transfer to GL in R12 [ID 876190.1]
    Where can I find this "transfer journal entries to GL" concurrent program name?2. What are the different methods to transfer Subledger journals to GL? << part C
    Where can I get this <select the ae_header_ids which have the gl_transfer_status_code = 'N' Check 3. What columns indicate the Transfer Status of accounting data in subledger?
    Regard
    Helios

  • How to disconnect a session

    In our hospital management application, only one screen is getting hanging infinitely. All other screens working well. one specific screen related to choose the patient eligibility gets hanging. kindly help me . how to solve.

    No Oracle version number.
    No error message.
    No indication of what tool is used to code the front-end.
    No application name.
    No information on what the system is waiting for.
    No DDL.
    No DML.
    No help is possible. Do not assume that every hanging transaction has only one cause in all versions of Oracle no matter the front-end and no matter the code being executed.
    Assuming this screen is part of an application your organization purchased the first thing you should do is go back to the company you purchased it from and tell them to fix it.

  • Problems with JMS: Error JMS BEA-040368

    Hi,
    I have run into a problem using JMS on BEA. It appears to happen when we run huge amounts of messages through the queue (100 000+).
    Once this error occurs, we cant get rid of it. Restarting server, re-dployment, nothing works. Every subsequent message sent to the JMS produces this error.
    According to the error message, we have exceeded the maximum allowed transactions for the server, but how do we reset the transactions? And what is causing the error to appear in the first place? Somthing I forget to close or flush?
    I have QueueConnection, QueueSession and QueueRecevier objects open for all transactions, and close them when the bean is destroyed. Should I rather create and close them for each transaction?
    Here is the exception:
    <15.jun.2005 kl 14.55 CEST> <Error> <JMS> <BEA-040368> <The following exception has occurred:
    java.lang.RuntimeException: [EJB:010166]Error occurred while starting transaction: javax.transaction.SystemException: Exceeded maximum allowed transactions on server 'myserver'.
    at weblogic.ejb20.internal.MDListener.perhapsBeginTransaction()V(MDListener.java:325)
    at weblogic.ejb20.internal.MDListener.execute(Lweblogic.kernel.ExecuteThread; )V(MDListener.java:339)
    at weblogic.ejb20.internal.MDListener.onMessage(Ljavax.jms.Message; )V(MDListener.java:262)
    at weblogic.jms.client.JMSSession.onMessage(Ljavax.jms.MessageListener;Lweblogic.jms.common.MessageImpl; )V(JMSSession.java:2678)
    at weblogic.jms.client.JMSSession.execute(Lweblogic.kernel.ExecuteThread; )V(JMSSession.java:2598)
    at weblogic.kernel.ExecuteThread.execute(Lweblogic.kernel.ExecuteRequest; )V(ExecuteThread.java:219)
    at weblogic.kernel.ExecuteThread.run()V(ExecuteThread.java:178)
    at java.lang.Thread.startThreadFromVM(Ljava.lang.Thread; )V(Unknown Source)
    >

    Developments
    It turned out that my "client" used: this.queueSession = queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
    While the "server" used: this.queueSession = queueConnection.createQueueSession(true, Session.AUTO_ACKNOWLEDGE);
    Now changing both sessions to use transactions (createQueueSession(true, Session.AUTO_ACKNOWLEDGE)) and fortifying the use of QueueSession.commit() when sending and receiving messages seemed to solve the problem... for a while.
    After a few new tests the problem appeared again, this time on the "client" side. It is obvious that transaction are somehow not commited correctly even though Session.commit() is called after each and every message is sent and received.
    Btw. To make the app "clean up" hanging transactions faster you can change the value in the console at:
    Mydomain --> Services --> JTA --> Abandon Timeout Seconds
    weblogic.jms.common.TransactionRolledBackException: Exceeded maximum allowed transactions on server 'myserver':error beginning transacted session's internal transaction
    at weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:108)
    at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:137)
    at weblogic.jms.dispatcher.DispatcherImpl_814_WLStub.dispatchSyncNoTranFuture(Unknown Source)
    at weblogic.jms.dispatcher.DispatcherWrapperState.dispatchSyncNoTran(DispatcherWrapperState.java:472)
    at weblogic.jms.client.JMSProducer.sendInternal(JMSProducer.java:391)
    at weblogic.jms.client.JMSProducer.send(JMSProducer.java:186)
    at no.nrk.returia.test.TestSMSInAdapter.send(TestSMSInAdapter.java:133)
    at no.nrk.returia.test.TestSMSInAdapter.main(TestSMSInAdapter.java:206)

  • Significance of /sapapo/om_delete_old_simsess

    Hi Gurus,
    Could you pls explain me the significance of the report "/sapapo/om_delete_old_simsess".
    can i use the same to solve the DP locking problems?
    Thanks,
    Vignesh

    Hi Vignesh,
    The basic purpose of this programme is to delete periodically the hanging
    transactional Simulations.
    Whenever user carries out simulations in transactional level, sometimes
    data will get locked or hanged depending upon the situation.
    Such scenarios can be corrected using this programme
    Regards
    R. Senthil Mareeswaran.

  • After table partition, some transactions hang

    I am running SAP 4.6 and Oracle 10.2
    I recently used online reorg to partition table DFKKOP (over 100 million records) into two parts.  One partition was for "closed" orders, and the other was for "open" orders (less than 2% of the rows). 
    Since most of the queries against this table were against open orders, access times improved dramatically (one query went from 20 minutes to 20 seconds).
    Unfortunately, while it was on a test system, our developers discovered that this caused transactions FPL9 and CIC0 to hang.  To prove that it was the partition causing the hang, we used our "snapback" ability to return the database to the point in time prior to the partition (we did this twice), and the problem disappeared.  Other than these hangs, the database seemed to work normally.
    Does anyone have an idea why this might be happening?  BTW - I had "row movement enabled", so that's not it.  I have found nothing in SAP notes or on this forum.
    Thanks.

    >
    Sandeep Pasumarti wrote:
    > i am also thinking of partitioning a large table - custom table - that we use instead of glpca.. it is 40gb..would you happen to have a how-to approach in doing that? how did you handle the abap dictionary side? - or do you just do on oracle...thanks!
    >
    > ps i was thinking on doing something fiscal year.. or acct number range...not sure how i could partition FY for years moving forward...meaing fy 2002 is one partition, 2003 is another, etc...
    Hi Sandeep,
    Partitioning is a really cool feature - but it must be valued against your primary goal you want to achieve.
    it has an influence WICH partitioning method you have to use AND wich partitioning keys you have to find.
    If you see it like a triangle you can have these goals:
                                   Performance
         Administration                                  Availability
    you will hardly achieve all three (wich means you generate some overhead for the other goals).
    It may that you are in a corner of one goal - see the location of (*) 
    Our goal was improve write performance (in the 1st place):
    We did it on a SAP BW system on our own Z tables wich were growing bigger and bigger ( several hundreds of GBytes). As we debugged how BW itself managed the partitions we used this and a little ABAP to maintain the partitions for our own tables.
    Our's was range partitioning with an  Identifier (INT4) used as a sequence to flagg present and historical calculations as a partition key. We could now TRUNCATE the partitions instead of  DELETE (the UNDO generation blew up our batch time window for computations of figures).
    And yes we benefit from partion pruning - as far you had a lot of full table scans wich are now turned into partition scans. Index accesses benefit not that muxch from paritioning -  but it reallly depends on your application HOW it uses the data.
    All your queries should  use  the partition key as a criteria (in your case FISCYEAR) - otherwise you make things worse.
    Be aware that you have to use the right data type (imagine a range partiton on a Varchar2 column
    like the NUMBER data type in SAP tables) and evaluate it carefully against the partiton type you choose.
    There are some pitfalls like moving partition keys (wich you have to avoid ).
    There is the overhead of creating / dropping/ merging partitions and who is responsible for it (in our case
    the application and not an SAP admin).
    Maintain all indexes as local
    You can use BRSPACE to partition the table , with your 40 Gybte SE14 could be also used as you can define the partitions (hopefully you are at least on a 6.20 system).
    For our system it was essential
    1) to fully understand the concept of partitioining (seems obvious, but guess where things most fail)
    2 that it is supported by standard SAP tools (as in SE14 or BRSPACE)
    3) to write an interface to handle the partitioning without involving a DBA
    (imagine you have a process chain that uses your partition table and you have to provide a new partition while running the chain).
    We run it now for more than a year and it was a good decision to move to partitioning.
    Now we will extend the feature and use it for archivals on a partition basis.
    Bye
    yk

  • ODI Hyperion Planning Reverse Transaction The Screen freeze and Hang

    Hi,
    There is a problem with reverse transaction via RKM Hyperion Planning KM.
    In desinger application I will click reverse button, the application is hang up and the screen is freezed.
    I completed the setup steps.
    How can be solved the problem?
    thanks.

    Sql server is pretty much the same set up as SQL server, you could have a read here
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • The user is hanging up around 3-4 hours into working with this transaction

    The user is hanging up around 3-4 hours into working with this transaction(ZAP0009) They bring up the report and then drill down into a bunch of the POu2019s(around 80-100) and they keep applying filters as they go(keep adding certain POu2019s, Vendors, etc to the filter)

    is this standard or Custom transaction, trace the user using ST12 and see whats happening.

  • Weblogic hangs after transaction error

    Hi,
              I am running weblogic 5.1 SP8 on solaris.
              During load testing i am getting the following error on the weblogic console
              and the server then seems to hang. Any clue ?
              Tue Feb 20 17:08:04 EST 2001:<I> <TX> Transaction (TxC (6589854, xid =
              982705915157_1572, timeout = 300, txState = Marked Rollback, root = null)
              rolled back after 300 sec.
              

    From your error message, it looks like your transaction is simply
              timming out after 5 minutes. Why its timing out under load is a
              specific problem to your application. You might be getting some thread
              locking where one thread is waiting to obtain a lock on a bean instance.
              To determine if its thread locking, do a cntrl-break on the console
              and look for "wait" in the thread dump. Or, your application's business
              logic may just be too inefficient causing a transaction to take more
              than 5 minutes, hopefully this isn't the case. If is is Thread Locking,
              weblogic really doens't have a solution. Currently we are trying to
              employ "read-only" beans to eliminate thread locking on entity beans
              that are mainly used for reading information. Implementing "read-only"
              is done by setting cache-strategy to Read-Only in the XML deployment
              descriptor.
              Hope this Helps,
              Mahesh wrote:
              > Hi,
              > I am running weblogic 5.1 SP8 on solaris.
              >
              > During load testing i am getting the following error on the weblogic console
              > and the server then seems to hang. Any clue ?
              >
              > Tue Feb 20 17:08:04 EST 2001:<I> <TX> Transaction (TxC (6589854, xid =
              > 982705915157_1572, timeout = 300, txState = Marked Rollback, root = null)
              > rolled back after 300 sec.
              

  • EJB transaction hanging over VPN connection

    EJB transaction hanging over VPN connection
    I am trying to diagnose a problem that only occurs when I am doing testing from home and connected via VPN to work.
    We are using WL 10.3. Our clusters are setup to communicate via multicast. We have a stateless session bean that uses many different resources (Sybase DB, other EJBs, Sonic JMS). I have a local EJB on my home network that I am testing and it connects with other EJBs and resources on my corporate network. While I don't think it is related to the problem, there is a cluster of the same EJB I am trying to test deployed to my corporate environment. i.e. I am testing ResetService EJB and there is a deployed domain cluster of several ResetService EJBs in the environment I am connecting to. My local server and admin domain are named differently than the one deployed and my local ejb shouldn't try to connect to the cluster in the environment.
    When I make a call into my local ejb everything seems to work as expected until it gets to the commit part of the transaction (after my ejb returns). At this point the executing thread hangs at the following location
    "[STUCK] ExecuteThread: '16' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=2 tid=0x2e8cb400 nid=0x22fc in Object.wait() [0x3031f000]
       java.lang.Thread.State: TIMED_WAITING (on object monitor)
            at java.lang.Object.wait(Native Method)
            - waiting on <0x091a4b18> (a weblogic.transaction.internal.ServerTransactionImpl)
            at weblogic.transaction.internal.ServerTransactionImpl.globalPrePrepare(ServerTransactionImpl.java:2130)
            - locked <0x091a4b18> (a weblogic.transaction.internal.ServerTransactionImpl)
            at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:266)
            at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:233)
            at weblogic.ejb.container.internal.BaseRemoteObject.postInvoke1(BaseRemoteObject.java:621)
            at weblogic.ejb.container.internal.StatelessRemoteObject.postInvoke1(StatelessRemoteObject.java:60)
            at weblogic.ejb.container.internal.BaseRemoteObject.postInvokeTxRetry(BaseRemoteObject.java:441)
            at advantage.tradesupport.rates.resets.ejb.ResetTradeServiceBean_shnf9c_EOImpl.resetTradeByRate(ResetTradeServiceBean_shnf9c_EOImpl.java:1921)
            at advantage.tradesupport.rates.resets.ejb.ResetTradeServiceBean_shnf9c_EOImpl_WLSkel.invoke(Unknown Source)
            at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:589)
            at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
            at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:477)
            at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
            at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
            at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:473)
            at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
            at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
            at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)This thread is obviously waiting for a notification from some other thread but it is unclear what exactly it is waiting for. This only seems to happen when I am connected via VPN because when I try this same setup connected directly to my corporate network at work it works fine.
    I connected w/ debugger and tried to dig. Some interesting observations I see are.
    1) The ServerTransactionImpl object that is hanging has a 'preferredHost' of a different machine on my corporate network. It is an EJB that my service got some information from but it wasn't involved in any create, update, or delete aspects of the tran so in theory it shouldn't be part of it. Does anyone know what exactly this peferredHost attribute is signifying? I also see this same remote ejb server reference defined in a ServerCoordinatorDescriptor variable.
    2) I also sometimes see other XA resources (JMS) with this ServerTransactionImpl that point to references of resources that live on other machines on my corporate network (not my local ejb). This doesn't always seem to be the case though.
    VPN will definetly block multicast packets from the corporate env back to my machine. I don't think it works from my machine to the corporate env machines either.
    I also have two IPs when connected over VPN. One for my local home network and one given to me by my VPN client. I have setup my local WL server to listen on the VPN client provided IP which the corporate machines should be able to resolve and send TCP message over.
    This definetly seems to be transaction related because when I remove the tran support from my ejb things work as expected. The problem is I need to test within the transaction just like it runs in a deployed environment so this isn't really a fix.
    My theory: My local test WL EJB is waiting for a communication from some other server before it can commit the tran. This communication is blocked due to my VPN connection. I just don't know what exactly it is trying to communicate and how to resolve if that is in fact the problem. I thought about looking into unicast rather than multicast for cluster communication but in my mind that doesn't come into play here because I am not deploying a local cluster for my EJB and I thought multicast was just used for inter-cluster communication.
    I also saw some docs talking about resources need to be uniquely named when inter-domain communication is performed (http://docs.oracle.com/cd/E13222_01/wls/docs81/ConsoleHelp/jta.html#1120356).
    Anyone have any thoughts on what might be going on?
    Here is some log output from my local WL instance:
    Servers in this output--
    My test Server - AdminServer+10.125.105.14:7001+LJDomain+t3
    Server in env I read data from during ejb method call - TradeAccessTS_lkcma00061-1+171.149.24.240:17501+TradeSupportApplication2+t3
    Server in env I read data from during ejb method call - MesaService_lkcma00065-1+171.149.24.244:17501+MESAApplication1+t3
    Server in env I read data from during ejb method call - DataAccess_lkcma00055-0+171.149.24.234:17500+AdvantageApplication1+t3
    Server in env I read data from during ejb method call - DataAccess_lkcma00053-6+171.149.24.232:17506+AdvantageApplication1+t3
    ####<Mar 20, 2012 4:23:26 PM CDT> <Debug> <JTA2PC> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-0005C168CCCC337F43A8> <> <1332278606895> <BEA-000000> <BEA1-0005C168CCCC337F43A8: [EJB advantage.tradesupport.rates.resets.ejb.ResetTradeServiceBean.resetTradeByRate(java.lang.Long,java.util.Set,java.lang.String,java.lang.String,boolean,advantage.common.service.context.ServiceContext)]: ServerTransactionImpl.commit()>
    ####<Mar 20, 2012 4:23:26 PM CDT> <Debug> <JTA2PC> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-0005C168CCCC337F43A8> <> <1332278606895> <BEA-000000> <BEA1-0005C168CCCC337F43A8: [EJB advantage.tradesupport.rates.resets.ejb.ResetTradeServiceBean.resetTradeByRate(java.lang.Long,java.util.Set,java.lang.String,java.lang.String,boolean,advantage.common.service.context.ServiceContext)]: TX[BEA1-0005C168CCCC337F43A8] active-->pre_preparing>
    ####<Mar 20, 2012 4:23:26 PM CDT> <Debug> <JTA2PC> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-0005C168CCCC337F43A8> <> <1332278606896> <BEA-000000> <SC[LJDomain+AdminServer] active-->pre-preparing>
    ####<Mar 20, 2012 4:23:26 PM CDT> <Debug> <JTA2PC> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-0005C168CCCC337F43A8> <> <1332278606896> <BEA-000000> <BEA1-0005C168CCCC337F43A8: [EJB advantage.tradesupport.rates.resets.ejb.ResetTradeServiceBean.resetTradeByRate(java.lang.Long,java.util.Set,java.lang.String,java.lang.String,boolean,advantage.common.service.context.ServiceContext)]: before completion iteration #0>
    ####<Mar 20, 2012 4:23:26 PM CDT> <Debug> <JTA2PC> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-0005C168CCCC337F43A8> <> <1332278606896> <BEA-000000> <BEA1-0005C168CCCC337F43A8: [EJB advantage.tradesupport.rates.resets.ejb.ResetTradeServiceBean.resetTradeByRate(java.lang.Long,java.util.Set,java.lang.String,java.lang.String,boolean,advantage.common.service.context.ServiceContext)]: Synchronization[weblogic.ejb.container.internal.TxManager$TxListener@11b0cf9].beforeCompletion()>
    ####<Mar 20, 2012 4:23:26 PM CDT> <Debug> <JTA2PC> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-0005C168CCCC337F43A8> <> <1332278606897> <BEA-000000> <BEA1-0005C168CCCC337F43A8: [EJB advantage.tradesupport.rates.resets.ejb.ResetTradeServiceBean.resetTradeByRate(java.lang.Long,java.util.Set,java.lang.String,java.lang.String,boolean,advantage.common.service.context.ServiceContext)]: Synchronization[weblogic.ejb.container.internal.TxManager$TxListener@11b0cf9].beforeCompletion() END>
    ####<Mar 20, 2012 4:23:26 PM CDT> <Debug> <JTA2PC> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-0005C168CCCC337F43A8> <> <1332278606898> <BEA-000000> <SC[LJDomain+AdminServer] pre-preparing-->pre-prepared>
    ####<Mar 20, 2012 4:23:26 PM CDT> <Debug> <JTA2PC> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-0005C168CCCC337F43A8> <> <1332278606898> <BEA-000000> <SC[TradeSupportApplication2+TradeAccessTS_lkcma00061-1] active-->pre-preparing>
    ####<Mar 20, 2012 4:23:26 PM CDT> <Debug> <JTA2PC> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-0005C168CCCC337F43A8> <> <1332278606898> <BEA-000000> <BEA1-0005C168CCCC337F43A8: [EJB advantage.tradesupport.rates.resets.ejb.ResetTradeServiceBean.resetTradeByRate(java.lang.Long,java.util.Set,java.lang.String,java.lang.String,boolean,advantage.common.service.context.ServiceContext)]: delist weblogic.jdbc.wrapper.JTSXAResourceImpl, TMSUSPEND, beforeState=new, startThread=null>
    ####<Mar 20, 2012 4:23:26 PM CDT> <Debug> <JTA2PC> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-0005C168CCCC337F43A8> <> <1332278606898> <BEA-000000> <BEA1-0005C168CCCC337F43A8: [EJB advantage.tradesupport.rates.resets.ejb.ResetTradeServiceBean.resetTradeByRate(java.lang.Long,java.util.Set,java.lang.String,java.lang.String,boolean,advantage.common.service.context.ServiceContext)]: delist weblogic.jdbc.wrapper.JTSXAResourceImpl, afterStatenew>
    ####<Mar 20, 2012 4:23:26 PM CDT> <Debug> <JTA2PC> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-0005C168CCCC337F43A8> <> <1332278606899> <BEA-000000> <BEA1-0005C168CCCC337F43A8: [EJB advantage.tradesupport.rates.resets.ejb.ResetTradeServiceBean.resetTradeByRate(java.lang.Long,java.util.Set,java.lang.String,java.lang.String,boolean,advantage.common.service.context.ServiceContext)]: sc(TradeAccessTS_lkcma00061-1+171.149.24.240:17501+TradeSupportApplication2+t3+).startPrePrepareAndChain>
    ####<Mar 20, 2012 4:23:26 PM CDT> <Debug> <JTA2PC> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-0005C168CCCC337F43A8> <> <1332278606900> <BEA-000000> <SC[TradeSupportApplication2+TradeAccessTS_lkcma00061-1] pre-preparing-->pre-preparing>
    ####<Mar 20, 2012 4:23:26 PM CDT> <Debug> <JTA2PC> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-0005C168CCCC337F43A8> <> <1332278606902> <BEA-000000> <BEA1-0005C168CCCC337F43A8: [EJB advantage.tradesupport.rates.resets.ejb.ResetTradeServiceBean.resetTradeByRate(java.lang.Long,java.util.Set,java.lang.String,java.lang.String,boolean,advantage.common.service.context.ServiceContext)]: delist weblogic.jdbc.wrapper.JTSXAResourceImpl, TMSUSPEND, beforeState=new, startThread=null>
    ####<Mar 20, 2012 4:23:26 PM CDT> <Debug> <JTA2PC> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-0005C168CCCC337F43A8> <> <1332278606903> <BEA-000000> <BEA1-0005C168CCCC337F43A8: [EJB advantage.tradesupport.rates.resets.ejb.ResetTradeServiceBean.resetTradeByRate(java.lang.Long,java.util.Set,java.lang.String,java.lang.String,boolean,advantage.common.service.context.ServiceContext)]: delist weblogic.jdbc.wrapper.JTSXAResourceImpl, afterStatenew>
    ####<Mar 20, 2012 4:23:26 PM CDT> <Debug> <JTANaming> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-0005C168CCCC337F43A8> <> <1332278606903> <BEA-000000> <SecureAction.runAction Use Subject= <anonymous>for action:sc.startPrePrepareAndChain to t3://171.149.24.240:17501>
    ####<Mar 20, 2012 4:23:26 PM CDT> <Debug> <JTAPropagate> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1332278606903> <BEA-000000> <PropagationContext: Peer=null, Version=4>
    ####<Mar 20, 2012 4:23:26 PM CDT> <Debug> <JTAPropagate> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1332278606904> <BEA-000000> < +++ otherPeerInfo.getMajor() :: 10>
    ####<Mar 20, 2012 4:23:26 PM CDT> <Debug> <JTAPropagate> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1332278606904> <BEA-000000> < +++ otherPeerInfo.getMinor() :: 3>
    ####<Mar 20, 2012 4:23:26 PM CDT> <Debug> <JTAPropagate> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1332278606904> <BEA-000000> < +++ otherPeerInfo.getServicePack() :: 1>
    ####<Mar 20, 2012 4:23:26 PM CDT> <Debug> <JTAPropagate> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1332278606905> <BEA-000000> < +++ otherPeerInfo.getRollingPatch() :: 0>
    ####<Mar 20, 2012 4:23:26 PM CDT> <Debug> <JTAPropagate> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1332278606905> <BEA-000000> < +++ otherPeerInfo.hasTemporaryPatch() :: false>
    ####<Mar 20, 2012 4:23:26 PM CDT> <Debug> <JTA2PC> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-0005C168CCCC337F43A8> <> <1332278606905> <BEA-000000> <BEA1-0005C168CCCC337F43A8: [EJB advantage.tradesupport.rates.resets.ejb.ResetTradeServiceBean.resetTradeByRate(java.lang.Long,java.util.Set,java.lang.String,java.lang.String,boolean,advantage.common.service.context.ServiceContext)]: waitForPrePrepareAcks AdminServer+10.125.105.14:7001+LJDomain+t3+=>pre-prepared TradeAccessTS_lkcma00061-1+171.149.24.240:17501+TradeSupportApplication2+t3+=>pre-preparing MesaService_lkcma00065-1+171.149.24.244:17501+MESAApplication1+t3+=>active DataAccess_lkcma00055-0+171.149.24.234:17500+AdvantageApplication1+t3+=>active DataAccess_lkcma00053-6+171.149.24.232:17506+AdvantageApplication1+t3+=>active>
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    Then eventually I get timeout errors like below in log
    ####<Mar 20, 2012 4:26:29 PM CDT> <Debug> <JTAPropagate> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1332278789379> <BEA-000000> < +++ otherPeerInfo.getMajor() :: 10>
    ####<Mar 20, 2012 4:26:29 PM CDT> <Debug> <JTAPropagate> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1332278789380> <BEA-000000> < +++ otherPeerInfo.getMinor() :: 3>
    ####<Mar 20, 2012 4:26:29 PM CDT> <Debug> <JTAPropagate> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1332278789380> <BEA-000000> < +++ otherPeerInfo.getServicePack() :: 1>
    ####<Mar 20, 2012 4:26:29 PM CDT> <Debug> <JTAPropagate> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1332278789381> <BEA-000000> < +++ otherPeerInfo.getRollingPatch() :: 0>
    ####<Mar 20, 2012 4:26:29 PM CDT> <Debug> <JTAPropagate> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1332278789382> <BEA-000000> < +++ otherPeerInfo.hasTemporaryPatch() :: false>
    ####<Mar 20, 2012 4:26:29 PM CDT> <Debug> <JTAPropagate> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1332278789382> <BEA-000000> < +++ Using new Method for reading rollback reason....>
    ####<Mar 20, 2012 4:26:29 PM CDT> <Debug> <JTANaming> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1332278789383> <BEA-000000> <RMI call coming from = TradeSupportApplication2>
    ####<Mar 20, 2012 4:26:29 PM CDT> <Debug> <JTANaming> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1332278789384> <BEA-000000> <SecureAction.stranger Subject used on received call: <anonymous> for action: startRollback AUTHENTICATION UNDETERMINABLE use SecurityInteropMode>
    ####<Mar 20, 2012 4:26:29 PM CDT> <Debug> <JTAPropagate> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1332278789385> <BEA-000000> <PropagationContext.getTransaction: tx=null>
    ####<Mar 20, 2012 4:26:29 PM CDT> <Debug> <JTAPropagate> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1332278789385> <BEA-000000> <PropagationContext.getTransaction: xid=BEA1-0005C168CCCC337F43A8, isCoordinator=true, infectCoordinatorFirstTime=false, txProps={weblogic.transaction.name=[EJB advantage.tradesupport.rates.resets.ejb.ResetTradeServiceBean.resetTradeByRate(java.lang.Long,java.util.Set,java.lang.String,java.lang.String,boolean,advantage.common.service.context.ServiceContext)], weblogic.jdbc=t3://171.149.24.240:17501}>
    ####<Mar 20, 2012 4:26:29 PM CDT> <Debug> <JTAPropagate> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1332278789391> <BEA-000000> < +++ looking up class : weblogic.transaction.internal.TimedOutException :: in classloader : java.net.URLClassLoader@15e92d7>
    ####<Mar 20, 2012 4:26:29 PM CDT> <Debug> <JTAPropagate> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1332278789397> <BEA-000000> < +++ looking up class : weblogic.transaction.TimedOutException :: in classloader : java.net.URLClassLoader@15e92d7>
    ####<Mar 20, 2012 4:26:29 PM CDT> <Debug> <JTAPropagate> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1332278789398> <BEA-000000> < +++ looking up class : java.lang.Exception :: in classloader : java.net.URLClassLoader@15e92d7>
    ####<Mar 20, 2012 4:26:29 PM CDT> <Debug> <JTAPropagate> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1332278789398> <BEA-000000> < +++ looking up class : java.lang.Throwable :: in classloader : java.net.URLClassLoader@15e92d7>
    ####<Mar 20, 2012 4:26:29 PM CDT> <Debug> <JTAPropagate> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1332278789402> <BEA-000000> < +++ looking up class : [Ljava.lang.StackTraceElement; ::  in classloader : java.net.URLClassLoader@15e92d7>
    ####<Mar 20, 2012 4:26:29 PM CDT> <Debug> <JTAPropagate> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1332278789403> <BEA-000000> < +++ looking up class : java.lang.StackTraceElement :: in classloader : java.net.URLClassLoader@15e92d7>
    ####<Mar 20, 2012 4:26:29 PM CDT> <Debug> <JTAPropagate> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1332278789404> <BEA-000000> < +++ converted bytes to rollback reason : weblogic.transaction.internal.TimedOutException: Timed out tx=BEA1-0005C168CCCC337F43A8 after 30000 seconds>
    ####<Mar 20, 2012 4:26:29 PM CDT> <Debug> <JTA2PC> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1332278789404> <BEA-000000> <Name=[EJB advantage.tradesupport.rates.resets.ejb.ResetTradeServiceBean.resetTradeByRate(java.lang.Long,java.util.Set,java.lang.String,java.lang.String,boolean,advantage.common.service.context.ServiceContext)],Xid=BEA1-0005C168CCCC337F43A8(21880283),Status=Marked rollback. [Reason=weblogic.transaction.internal.TimedOutException: Timed out tx=BEA1-0005C168CCCC337F43A8 after 30000 seconds],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=502,seconds left=29497,activeThread=Thread[[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads],XAServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(ServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(state=new,assigned=none),xar=null,re-Registered = false),SCInfo[LJDomain+AdminServer]=(state=pre-prepared),SCInfo[TradeSupportApplication2+TradeAccessTS_lkcma00061-1]=(state=pre-preparing),SCInfo[MESAApplication1+MesaService_lkcma00065-1]=(state=active),SCInfo[AdvantageApplication1+DataAccess_lkcma00055-0]=(state=active),SCInfo[AdvantageApplication1+DataAccess_lkcma00053-6]=(state=active),properties=({weblogic.transaction.name=[EJB advantage.tradesupport.rates.resets.ejb.ResetTradeServiceBean.resetTradeByRate(java.lang.Long,java.util.Set,java.lang.String,java.lang.String,boolean,advantage.common.service.context.ServiceContext)], weblogic.jdbc=t3://171.149.24.240:17501}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=AdminServer+10.125.105.14:7001+LJDomain+t3+, XAResources={LJDomain.AdminServer.JMSXASessionPool.advantage.jms.queue.sonicConnectionFactory, LJDomain.AdminServer.JMSXASessionPool.advantage.jms.topic.sonicConnectionFactory, WLStore_LJDomain__WLS_AdminServer, WSATGatewayRM_AdminServer_LJDomain},NonXAResources={})],CoordinatorURL=AdminServer+10.125.105.14:7001+LJDomain+t3+) wakeUpAfterSeconds(60)>
    ####<Mar 20, 2012 4:26:29 PM CDT> <Debug> <JTA2PC> <F68B599F56D71> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1332278789406> <BEA-000000> <BEA1-0005C168CCCC337F43A8: [EJB advantage.tradesupport.rates.resets.ejb.ResetTradeServiceBean.resetTradeByRate(java.lang.Long,java.util.Set,java.lang.String,java.lang.String,boolean,advantage.common.service.context.ServiceContext)]: setProperty: weblogic.transaction.name=[EJB advantage.tradesupport.rates.resets.ejb.ResetTradeServiceBean.resetTradeByRate(java.lang.Long,java.util.Set,java.lang.String,java.lang.String,boolean,advantage.common.service.context.ServiceContext)]>

    Hello asirigaya,
    MSDTC configure does not belong to this forum, this forum topic is "Discuss client application development using Windows Forms controls and features."
    I didn't see MSDN has this kind of forum so I will help you move this case to "Where is the forum for"
    Regards,
    Barry Wang
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Capture Process hangs and LOGMINER Stops - "wait for transaction" ???

    HI all
    Any ideas why the LOGMINRER would stop mining the logs at the capture site DB (just hangs 40 short of current archivelog)
    Capture Process is a status of Capturing Changes
    And the wait event on the Capture Process is "wait for transaction"
    How to diagnose whats wrong with Capture Process - been this way for 4 days !

    Hi
    Yes we have had to explicity register archivelogs also.
    Unfortunately this archivelog is registered -> so I am not sure. It apapers to have been as a result of a large DML transaction -> and I am not 100% sure the archivelog is posibly corrupt (however I doubt it as in 5 years as DBA I have not once hit a corruption - but always a first).
    Any thoughts on how to proceed ?

  • Application hangs during accessing transactional database.

    Hi! Here is minimazed test which creates a database with secondary index, fills it with some records and then starts two threads. One thread adds records, another thread deletes records. The problem is that threads hangs with the following backtraces:
    (dbx) thread t@2
    Current function is __db_pthread_mutex_lock
    204 RET_SET((pthread_cond_wait(
    t@2 (l@2) stopped in ___lwp_cond_wait at 0xfffffd7ffee6e8ea
    0xfffffd7ffee6e8ea: ___lwp_cond_wait+0x000a: jae ___lwp_cond_wait+0x18 [ 0xfffffd7ffee6e8f8, .+0xe ]
    (dbx) where
    current thread: t@2
    [1] ___lwp_cond_wait(0xfffffd7ffeb88620, 0xfffffd7ffeb88608, 0x0, 0x0, 0xfffffd7ffeb88608, 0xfffffd7ffeb9dfb8), at 0xfffffd7ffee6e8ea
    [2] __lwp_cond_wait(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffee574ec
    =>[3] __db_pthread_mutex_lock(dbenv = 0x41c7f0, mutex = 118U), line 204 in "mut_pthread.c"
    [4] __lock_get_internal(lt = 0x420f90, locker = 2147484656U, flags = 0, obj = 0x424eb0, lock_mode = DB_LOCK_WRITE, timeout = 0, lock = 0xfffffd7ffe9fd760), line 808 in "lock.c"
    [5] __lock_vec(dbenv = 0x41c7f0, locker = 2147484656U, flags = 0, list = 0xfffffd7ffe9fd748, nlist = 2, elistp = 0xfffffd7ffe9fd740), line 116 in "lock.c"
    [6] __db_lget(dbc = 0x424df0, action = 2, pgno = 5U, mode = DB_LOCK_WRITE, lkflags = 0, lockp = 0xfffffd7ffe9fd8d8), line 1006 in "db_meta.c"
    [7] __bam_search(dbc = 0x424df0, root_pgno = 1U, key = 0xfffffd7ffe9fdc68, flags = 1410U, slevel = 1, recnop = (nil), exactp = 0xfffffd7ffe9fda6c), line 489 in "bt_search.c"
    [8] __bam_c_search(dbc = 0x424df0, root_pgno = 0, key = 0xfffffd7ffe9fdc68, flags = 25U, exactp = 0xfffffd7ffe9fda6c), line 2479 in "bt_cursor.c"
    [9] __bam_c_get(dbc = 0x424df0, key = 0xfffffd7ffe9fdc68, data = 0xfffffd7ffe9fdce0, flags = 25U, pgnop = 0xfffffd7ffe9fdb34), line 953 in "bt_cursor.c"
    [10] __db_c_get(dbc_arg = 0x42f6f0, key = 0xfffffd7ffe9fdc68, data = 0xfffffd7ffe9fdce0, flags = 25U), line 689 in "db_cam.c"
    [11] __db_c_put(dbc_arg = 0x424460, key = 0xfffffd7ffe9fdf28, data = 0xfffffd7ffe9fdf00, flags = 20U), line 1327 in "db_cam.c"
    [12] __db_put(dbp = 0x41d070, txn = 0x423f30, key = 0xfffffd7ffe9fdf28, data = 0xfffffd7ffe9fdf00, flags = 20U), line 380 in "db_am.c"
    [13] __db_put_pp(dbp = 0x41d070, txn = 0x423f30, key = 0xfffffd7ffe9fdf28, data = 0xfffffd7ffe9fdf00, flags = 20U), line 1500 in "db_iface.c"
    [14] Db::put(this = 0x41c708, txnid = (nil), key = 0xfffffd7ffe9fdf28, value = 0xfffffd7ffe9fdf00, flags = 20U), line 340 in "cxx_db.cpp"
    [15] Storage::put(this = 0x41c690, key = 2003, data = 2003), line 114 in "bdb_put_del_hang.cpp"
    [16] reading_thread_func(arg = (nil)), line 161 in "bdb_put_del_hang.cpp"
    [17] thrsetup(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffee6b40b
    [18] lwpstart(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffee6b640
    (dbx) thread t@3
    Current function is __db_pthread_mutex_lock
    204 RET_SET((pthread_cond_wait(
    t@3 (l@3) stopped in ___lwp_cond_wait at 0xfffffd7ffee6e8ea
    0xfffffd7ffee6e8ea: ___lwp_cond_wait+0x000a: jae ___lwp_cond_wait+0x18 [ 0xfffffd7ffee6e8f8, .+0xe ]
    (dbx) where
    current thread: t@3
    [1] ___lwp_cond_wait(0xfffffd7ffeb88668, 0xfffffd7ffeb88650, 0x0, 0x0, 0xfffffd7ffeb88650, 0xfffffd7ffeb9dfb8), at 0xfffffd7ffee6e8ea
    [2] __lwp_cond_wait(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffee574ec
    =>[3] __db_pthread_mutex_lock(dbenv = 0x41c7f0, mutex = 119U), line 204 in "mut_pthread.c"
    [4] __lock_get_internal(lt = 0x420f90, locker = 2147484655U, flags = 0, obj = 0x424b80, lock_mode = DB_LOCK_WRITE, timeout = 0, lock = 0xfffffd7ffe7fd7d0), line 808 in "lock.c"
    [5] __lock_vec(dbenv = 0x41c7f0, locker = 2147484655U, flags = 0, list = 0xfffffd7ffe7fd7b8, nlist = 2, elistp = 0xfffffd7ffe7fd7b0), line 116 in "lock.c"
    [6] __db_lget(dbc = 0x424ac0, action = 2, pgno = 5U, mode = DB_LOCK_WRITE, lkflags = 0, lockp = 0xfffffd7ffe7fd948), line 1006 in "db_meta.c"
    [7] __bam_search(dbc = 0x424ac0, root_pgno = 1U, key = 0xfffffd7ffe7fdc48, flags = 1410U, slevel = 1, recnop = (nil), exactp = 0xfffffd7ffe7fdadc), line 489 in "bt_search.c"
    [8] __bam_c_search(dbc = 0x424ac0, root_pgno = 0, key = 0xfffffd7ffe7fdc48, flags = 8U, exactp = 0xfffffd7ffe7fdadc), line 2479 in "bt_cursor.c"
    [9] __bam_c_get(dbc = 0x424ac0, key = 0xfffffd7ffe7fdc48, data = 0xfffffd7ffe7fdc70, flags = 8U, pgnop = 0xfffffd7ffe7fdba4), line 871 in "bt_cursor.c"
    [10] __db_c_get(dbc_arg = 0x424790, key = 0xfffffd7ffe7fdc48, data = 0xfffffd7ffe7fdc70, flags = 8U), line 689 in "db_cam.c"
    [11] __db_c_del_primary(dbc = 0x425120), line 2249 in "db_cam.c"
    [12] __db_c_del(dbc = 0x425120, flags = 0), line 285 in "db_cam.c"
    [13] __db_del(dbp = 0x41d070, txn = 0x42f5d0, key = 0xfffffd7ffe7fdf30, flags = 0), line 492 in "db_am.c"
    [14] __db_del_pp(dbp = 0x41d070, txn = 0x42f5d0, key = 0xfffffd7ffe7fdf30, flags = 0), line 485 in "db_iface.c"
    [15] Db::del(this = 0x41c708, txnid = (nil), key = 0xfffffd7ffe7fdf30, flags = 0), line 226 in "cxx_db.cpp"
    [16] Storage::del(this = 0x41c690, key = 501), line 131 in "bdb_put_del_hang.cpp"
    [17] writing_thread_func(arg = (nil)), line 173 in "bdb_put_del_hang.cpp"
    [18] thrsetup(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffee6b40b
    [19] lwpstart(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffee6b640
    Looks like some problems with locking, because if I set_lk_detect(DB_LOCK_DEFAULT) some methods fails with DB_LOCK_DEADLOCK, but i do not understand where is raise condition, because both threads calls just a single operations. Can anybody explain the problem?
    Here is soruce code:
    #include <set>
    #include "pthread.h"
    #include "bdb/db_cxx.h"
    static const char *__THIS_FILE__ = __FILE__;
    class Storage
    private:
    DbEnv m_bdbEnv;
    Db m_bdbLongKeys, m_bdbLongKeysSec;
    static void bdb_error_call( const DbEnv dbEnv, const char errpfx, const char *msg )
    printf( "%s\n", msg );
    static int bdb_sec_callback( Db secondary, const Dbt pkey, const Dbt pdata, Dbt skey )
    skey->set_data( pdata->get_data() );
    skey->set_size( pdata->get_size() );
    return 0;
    public:
    Storage( void )
    : m_bdbEnv( DB_CXX_NO_EXCEPTIONS ),
    m_bdbLongKeys( &m_bdbEnv, DB_CXX_NO_EXCEPTIONS ),
    m_bdbLongKeysSec( &m_bdbEnv, DB_CXX_NO_EXCEPTIONS )
    int open( const char *storageURL )
    m_bdbEnv.set_errcall( bdb_error_call );
    static const u_int32_t envFlags =
    DB_CREATE | /* create if not exists */
    DB_INIT_MPOOL | /* memory pool */
    DB_INIT_LOCK | /* locking */
    DB_INIT_LOG | /* recovery */
    DB_INIT_TXN | /* transactions */
    DB_THREAD;
    int error = m_bdbEnv.open( storageURL, envFlags, 0 );
    if (error != 0)
    m_bdbEnv.err( error, "DbEnv::open() failed." );
    return -1;
    static const u_int32_t dbFlags =
    DB_CREATE | /* create if not exists */
    DB_AUTO_COMMIT | /* auto commit */
    DB_THREAD;
    m_bdbLongKeys.set_errcall( bdb_error_call );
    error = m_bdbLongKeys.open( NULL, "longKeys.db", NULL, DB_BTREE, dbFlags, 0 );
    if (error != 0)
    m_bdbLongKeys.err( error, "Db::open() failed." );
    return -1;
    m_bdbLongKeysSec.set_errcall( bdb_error_call );
    m_bdbLongKeysSec.set_flags( DB_DUP | DB_DUPSORT );
    if (error != 0)
    m_bdbLongKeysSec.err( error, "Db::set_flags() failed (%s:%d).",
    __THIS_FILE__, __LINE__ );
    return -1;
    error = m_bdbLongKeysSec.open( NULL, "longKeys-sec.db", NULL, DB_BTREE, dbFlags, 0 );
    if (error != 0)
    m_bdbLongKeysSec.err( error, "Db::open() failed (%s:%d).",
    __THIS_FILE__, __LINE__ );
    return -1;
    error = m_bdbLongKeys.associate( NULL, &m_bdbLongKeysSec, bdb_sec_callback, DB_AUTO_COMMIT );
    if (error != 0)
    m_bdbLongKeys.err( error, "Db::associate() failed (%s:%d).",
    __THIS_FILE__, __LINE__ );
    return -1;
    return 0;
    int close( void )
    m_bdbLongKeysSec.close(0);
    m_bdbLongKeys.close(0);
    m_bdbEnv.close(0);
    return 0;
    int put( long key, long data )
    Dbt dbtKey, dbtData;
    dbtKey.set_data( (void*) &key );
    dbtKey.set_size( sizeof(key) );
    dbtData.set_data( (void*) &data );
    dbtData.set_size( sizeof(data) );
    int error = m_bdbLongKeys.put( NULL, &dbtKey, &dbtData, DB_NOOVERWRITE );
    if (error != 0)
    m_bdbLongKeys.err( error, "Db::put() failed (%s:%d)", __THIS_FILE__, __LINE__ );
    return -1;
    return 0;
    int del( long key )
    Dbt dbtKey;
    dbtKey.set_data( (void*) &key );
    dbtKey.set_size( sizeof(key) );
    int error = m_bdbLongKeys.del( NULL, &dbtKey, 0 );
    if (error != 0)
    m_bdbLongKeys.err( error, "Db::del() failed (%s:%d)", __THIS_FILE__, __LINE__ );
    return -1; }
    return 0;
    Storage *g_storage = NULL;
    static long g_numberTotal = 1000;
    static long g_numberToRead = g_numberTotal/2;
    static std::set<long> g_toRead;
    static std::set<long> g_toWrite;
    extern "C" void reading_thread_func( void arg );
    extern "C" void writing_thread_func( void arg );
    void reading_thread_func( void arg )
    std::set<long>::const_iterator it = g_toRead.begin();
    std::set<long>::const_iterator it_end = g_toRead.end();
    for (int j = 2*g_numberTotal+1; it != it_end; ++it) {
    ++j;
    if (g_storage->put(j, j) != 0)
    printf( "put() failed (%s:%d).\n", __THIS_FILE__, __LINE__ );
    return NULL;
    void writing_thread_func( void arg )
    std::set<long>::const_iterator it = g_toWrite.begin();
    std::set<long>::const_iterator it_end = g_toWrite.end();
    for (; it != it_end; it++) {
    if (g_storage->del(*it) == 0)
    printf( "Deleted key %d\n", *it );
    else
    printf( "Failed to delete key %d\n", *it );
    return NULL;
    int main( int argc, char *argv[] )
    pthread_t read_tid, write_tid;
    if (g_numberToRead > g_numberTotal)
    return 1;
    g_storage = new Storage;
    if (g_storage->open("test_storage") != 0)
    return 3;
    for (int i = 0; i < g_numberTotal; ++i) {
    if (g_storage->put(i, i) != 0)
    std::cout << "Failed to add key '" << i << "'" << std::endl;
    if (i <= g_numberToRead)
    g_toRead.insert(i);
    else
    g_toWrite.insert(i);
    pthread_create( &read_tid, NULL, reading_thread_func, NULL );
    pthread_create( &write_tid, NULL, writing_thread_func, NULL );
    pthread_join( read_tid, NULL );
    pthread_join( write_tid, NULL );
    if (g_storage != NULL) {
    g_storage->close();
    delete g_storage;
    return 0;
    }

    Hi,
    Thank you for you answer, but I still not happywith
    it.
    I attentively read the documents you providedbefore
    posted the message on the forum. Ok. Let me explain again.
    I could enclose these calls in each owntransaction
    (and I tried it, but had the same result) but itdoes
    not make a sence if DB_AUTO_COMMIT flag wasspecified
    for the Db::open()Using transaction does not necessarily eliminate the
    chance of deadlock. Practically any application that
    uses locking may deadlock. Can you post here the
    example in which you are trying it transactionally?
    And maybe I will try to correct it.The example is in the my first message. It would be nice if you could suggest a good solution to workaround the deadlock.
    There is only ONE OPERATION from the BerkeleyDBAPI
    point of view in each thread under the transaction
    and I would expect that the one single Db::put()or
    Db::del() can not cause the deadlock. Why it
    happens?Because "With the exception of the Queue access
    method, the Berkeley DB access methods do page-level
    locking." (Locking granularity:
    http://www.oracle.com/technology/documentation/berkele
    y-db/db/ref/lock/page.html)
    The only solution I see now is use
    DbEnv::set_lk_detect() and handle the
    DB_LOCK_DEADLOCK error code on each DB operationand
    retry the operation on the deadlock, but it is the
    last thing I would like to use.
    The conclusion:
    - why single API call of Db::put() or Db::del()under
    transaction made in the same time cause adeadlock?
    Because both of them will require write locks on the
    same page.
    "The first component of the infrastructure, deadlock
    detection, is not so much a requirement specific to
    transaction-protected applications, but instead is
    necessary for almost all applications in which more
    than a single thread of control will be accessing the
    database at one time. Even when Berkeley DB
    automatically handles database locking, it is
    normally possible for deadlock to occur. Because the
    underlying database access methods may update
    multiple pages during a single Berkeley DB API call,
    deadlock is possible even when threads of control are
    making only single update calls into the database."
    (Deadlock detection:
    http://www.oracle.com/technology/documentation/berkele
    y-db/db/ref/transapp/deadlock.html)
    Please let me know if this time I was clear enough.
    Bogdan Coman

  • Oracle Transaction Hanging

    A transaction from a packaged application is hanging and has to be aborted - no other sessions are active. It was working fine a week ago. There are no errrors in the Alert log. What is the best way to troubleshoot this without access to source code ? Is it possible to identify the SQL that is invovled and any locked objects ? I see a table v$locked_object but do not know if it would be useful
    thanks for any pointers

    you can creat a script like this one(it will not work properly due to need create some tables) to see what the application doing when it is hang:
    set lines 200
    set pages 1000
    set verify off
    set feedback off
    accept the_sid prompt "SID= "
    delete from temp_sql_hash_address where id_str='SIDINFO';
    set head off
    select 'SID(' || &the_sid || ')info' from dual;
    select '---------------' from dual;
    set head on
    column machine format a30
    column terminal format a30
    column program format a30
    select username,status,
    decode(command, 1,'CRE TAB',2,'INSERT',3,'SELECT',4,'CRE CLUSTER',5,'ALT CLUSTER',
    6,'UPDATE',7,'DELETE',8,'DRP CLUSTER',9,'CRE INDEX',10,'DROP INDEX',11,'ALT INDEX',
    12,'DROP TABLE',13,'CRE SEQ',14,'ALT SEQ',15,'ALT TABLE',16,'DROP SEQ',17,'GRANT',
    18,'REVOKE',19,'CRE SYN',20,'DROP SYN',21,'CRE VIEW',22,'DROP VIEW',23,'VAL INDEX',
    24,'CRE PROC',25,'ALT PROC',26,'LOCK TABLE',28,'RENAME',29,'COMMENT',30,'AUDIT',31,'NOAUDIT',
    32,'CRE DBLINK',33,'DROP DBLINK',34,'CRE DB',35,'ALTER DB',36,'CRE RBS',37,'ALT RBS',
    38,'DROP RBS',39,'CRE TBLSPC',40,'ALT TBLSPC',41,'DROP TBLSPC',42,'ALT SESSION',43,'ALT USER',
    44,'COMMIT',45,'ROLLBACK',46,'SAVEPOINT',47,'PL/SQL EXEC',48,'SET XACTN',49,'SWITCH LOG',
    50,'EXPLAIN',51,'CRE USER',52,'CRE ROLE',53,'DROP USER',54,'DROP ROLE',
    55,'SET ROLE',56,'CRE SCHEMA',57,'CRE CTLFILE',58,'ALTER TRACING',59,'CRE TRIGGER',
    60,'ALT TRIGGER',61,'DRP TRIGGER',62,'ANALYZE TAB',63,'ANALYZE IX',64,'ANALYZE CLUS',
    65,'CRE PROFILE',66,'DRP PROFILE',67,'ALT PROFILE',68,'DRP PROC',69,'DRP PROC',70,'ALT RESOURCE',
    71,'CRE SNPLOG',72,'ALT SNPLOG',73,'DROP SNPLOG',74,'CREATE SNAP',75,'ALT SNAP',76,'DROP SNAP',
    79,'ALTER ROLE',85,'TRUNC TAB',86,'TRUNC CLUST',88,'ALT VIEW',91,'CRE FUNC',92,'ALT FUNC',
    93,'DROP FUNC',94,'CRE PKG',95,'ALT PKG',96,'DROP PKG',97,'CRE PKG BODY',98,'ALT PKG BODY',99,'DRP PKG BODY',
    to_char(command)) command
    from v$session where sid=&the_sid;
    select osuser,machine,terminal,program
    from v$session where sid=&the_sid;
    select TADDR,lockwait,sql_address,sql_hash_value,
    row_wait_obj#,row_wait_block#,row_wait_row#
    from v$session where sid=&the_sid;
    column "blocker info" format a100
    select find_blocker(&the_sid) "blocker info" from dual;
    insert into temp_sql_hash_address
    select 'SIDINFO',sql_address,sql_hash_value from v$session where sid=&the_sid;
    commit;
    select 'ALTER SYSTEM KILL SESSION '''||sid||','||serial#||''';' from v$session where sid=&the_sid;
    select p.username "Proc username", p.USERNAME "username",p.PROGRAM "proc program",p.LATCHWAIT,p.LATCHSPIN,p.pid,p.spid
    from v$process p,v$session s
    where s.paddr=p.addr
    and s.sid=&the_sid;
    select addr,xidusn,xidslot,xidsqn,t.status,start_time
    from v$transaction t,v$session s
    where s.taddr=t.addr
    and s.sid=&the_sid;
    select used_ublk,used_urec,log_io,phy_io,cr_get,cr_change
    from v$transaction t,v$session s
    where s.taddr=t.addr
    and s.sid=&the_sid;
    select
    substr(a.os_user_name,1,12) "OS User"
    , substr(a.oracle_username,1,12) "DB User"
    , substr(b.owner,1,12) "Schema"
    , substr(b.object_name,1,30) "Object Name"
    , substr(b.object_type,1,10) "Type"
    , substr(c.segment_name,1,12) "RBS"
    , substr(d.used_urec,1,12) "# of Records"
    from v$locked_object a
    , dba_objects b
    , dba_rollback_segs c
    , v$transaction d
    , v$session e
    where a.object_id = b.object_id
    and a.xidusn = c.segment_id
    and a.xidusn = d.xidusn
    and a.xidslot = d.xidslot
    and d.addr = e.taddr
    and e.sid=&the_sid
    column message format a60
    select ELAPSED_SECONDS,TIME_REMAINING,message,sql_address,SQL_HASH_VALUE
    from v$session_longops where sid=&the_sid;
    insert into temp_sql_hash_address
    select 'SIDINFO',sql_address,sql_hash_value from v$session_longops where sid=&the_sid;
    select BLOCK_GETS,CONSISTENT_GETS,PHYSICAL_READS,BLOCK_CHANGES,CONSISTENT_CHANGES
    from v$sess_io where sid=&the_sid;
    break on address
    column event format a30
    select address,sql_text from v$sqltext
    where (address,hash_value) in (select address,hash_value
    from temp_sql_hash_address where id_str='SIDINFO')
    order by address,piece;
    select event,p1,p1raw,p2,p2raw,p3,p3raw,wait_time,seconds_in_wait
    from v$session_wait where sid=&the_sid;
    select n.name,s.value from v$sesstat s,v$statname n
    where sid=&the_sid and
    n.statistic#=s.statistic# and value>0
    and s.statistic# in (select statistic# from monitor_statistic);
    select EVENT,TOTAL_WAITS,TOTAL_TIMEOUTS,TIME_WAITED,AVERAGE_WAIT,MAX_WAIT from v$session_event where sid=&the_sid
    and event in (select event from monitor_event);

  • Distributed transaction hangs thread

    Hi,
              I am using WL8.1 sp3,
              And am using a transaction across two servers.
              The first invokes 2 EJBs on the other, one that updates a db (Oracle 9i, thin xa driver), and the other sends a message to a queue.
              The transaction commits cleanly, but a few hours later a see this message in the transaction initiator server:
              <Jul 4, 2005 5:00:50 PM GMT+03:00> <Warning> <WebLogicServer> <BEA-000337> <ExecuteThread: '13' for queue: 'weblogic.kernel.Default' has been busy for "3,638" seconds working on the request "weblogic.transaction.internal.CoordinatorImpl", which is more than the configured time (StuckThreadMaxTime) of "2,000" seconds.>
              And this in the participant server:
              <Jul 4, 2005 5:20:09 PM GMT+03:00> <Warning> <WebLogicServer> <BEA-000337> <ExecuteThread: '13' for queue: 'weblogic.kernel.Default'
              has been busy for "3,991" seconds working on the request "weblogic.transaction.internal.XAResourceDescriptor$1@43c9da8", which is m
              ore than the configured time (StuckThreadMaxTime) of "2,000" seconds.>
              A thread dump showed both servers are stuck on some oracle xa resource.
              Has anyone expirienced such an issue before?
              Thanks,
              Uri

    Does any one have any idea why its hanging like this?ORA-01691: unable to extend lob segment AK.LOB_CLOB_COL by 128 in tablespace LOB_01
    01691, 00000, "unable to extend lob segment %s.%s by %s in tablespace %s"
    // *Cause:  Failed to allocate an extent of the required number of blocks for
    //          LOB segment in the tablespace indicated.
    // *Action: Use ALTER TABLESPACE ADD DATAFILE statement to add one or more
    //          files to the tablespace indicated.

Maybe you are looking for

  • Need help with OSx server and profile manager

    I messed up my OS X server and seems like it has stopped working. I cannot access my server remotely or locally and it shows Safari cannot connect to server. I made mistake resetting keychain to default and all certificates were missing.I restored sy

  • Service PO against Acct., Assignment Q/P

    Hi, Can we create Service PO against Account Assignment - Q/P How can we create, Is there any configuration required. Regards, Ravindra

  • No communication between applet - servlet

    hi my applet and my servlet is not at all communicating in the browser.           any body knows how to solve this problem?           in my applet code:Jus i am pasing as name string to invoke the serlvet via URL           String location = "http://c

  • s:VideoElement Error

    When i try to complie my app in flash builder 4 using the flex 4 sdk with flash player 10 i get this error "Could not resolve <s:VideoElement> to a component implementation.    Main.mxml    /1274063869/src    line 106    Flex Problem" How can i fix t

  • QT will not launch on Vista

    When I click my QT short cut I see a flash and the QT thumbnail in my tool bar (as if its running). The restore and maximize from the thumbnail is grayed out. The only way I can get QT to run is to find a saved QT file and open it. I am running the p