Re: What might cause Inactive Transaction Branch waits in a database without any db links?

From: Jonathan Lewis <jonathan_at_jlcomp.demon.co.uk>
Date: Sun, 8 Mar 2020 12:50:07 +0000
Message-ID: <LNXP265MB1562A9980E3C77DC94FCC7C0A5E10_at_LNXP265MB1562.GBRP265.PROD.OUTLOOK.COM>


I agree about the XA.

I think the last time I saw this it was something to do with Hibernate being configured to assume that distributed transactions might be needed - so used XA; then with the connection pool in the middle a hibernate session would pick a second session from the connection pool and get into conflict with itself.

I note you spend a lot of time on checkpoint incomplete - are your log files a bit small ?

Regards
Jonathan Lewis



From: oracle-l-bounce_at_freelists.org <oracle-l-bounce_at_freelists.org> on behalf of Martin Berger <martin.a.berger_at_gmail.com> Sent: 08 March 2020 11:12
To: dmarc-noreply_at_freelists.org
Cc: Oracle-L oracle-l
Subject: Re: What might cause Inactive Transaction Branch waits in a database without any db links?

Hi Jay,

Do you have any application using XA transactions? ( https://en.m.wikipedia.org/wiki/X/Open_XA ). These can cause inactive transaction branch waits.

hth,
 Martin

^∆x

Redacted sender Jay.Miller for DMARC <dmarc-noreply_at_freelists.org<mailto:dmarc-noreply_at_freelists.org>> schrieb am Fr., 6. März 2020, 21:10: I was looking into an unrelated issue on one of our dbs and I saw that it has been experiencing a high level of Inactive Transaction Branch waits. I started researching but the database has no db links and every reference I found indicated that it would be related to a distributed transaction over a db link.

While it doesn't seem to be causing noticeable performance issues for the app I would like to figure out what's going on

Checking p1 and p1text in v$session_wait for sessions experiencing the wait show branch#,0
From what I've read the 0 value should have been the serial# of the session causing this session to wait. But it obviously isn't.

Looking at the session in OEM the wait event shows a blank sql id and SQL Command = UNKNOWN. I ran a trace on a session but couldn’t find it associated with any specific sql there either.

Looking at an AWR report it's the top wait event:

Top 10 Foreground Events by Total Wait Time


                                           Total Wait       Wait   % DB Wait
Event                                Waits Time (sec)    Avg(ms)   time Class
------------------------------ ----------- ---------- ---------- ------ --------
inactive transaction branch         23,881      27.9K    1169.16   56.4 Other
log file switch (checkpoint in       9,045     8493.7     939.05   17.2 Configur
DB CPU                                         8354.9              16.9
db file sequential read          3,185,440     1081.5       0.34    2.2 User I/O
log file sync                      285,783      793.3       2.78    1.6 Commit
enq: TX - row lock contention       10,605      736.9      69.49    1.5 Applicat
direct path read temp              617,178      561.8       0.91    1.1 User I/O
direct path write temp             406,728      520.6       1.28    1.1 User I/O
buffer busy waits                    9,150      472.6      51.65    1.0 Concurre
direct path read                   527,903        355       0.67     .7 User I/O


Anyone have ideas or advice on how to track down what is causing this?

TIA,
Jay Miller
†Ûiÿü0ÁúÞzX¬¶Ê+ƒün– {ú+iÉ^ Received on Sun Mar 08 2020 - 13:50:07 CET

Original text of this message