inactive transaction branch

inactive transaction branch等待事件是由于dblink连接超时导致的,当多个dblink同时连接远程数据库做相同的工作时,等待的dblink如果等待时间过长就会触发此等待事件。

解决方法:

select spid from v$process where addr in (select paddr from v$session where sid=<session_id>);

使用SQL查出session的进程ID,并杀掉进程

kill -9 <process_id>
文档 ID 1983151.1

The wait event "inactive transaction branch" are related to externally  coordinated transaction branches, typically from XA clients.

 A wait on this event typically means that the XA client/s have  asked different sessions to work on the same transaction  branch concurrently.
 eg:   Session 1 starts a transaction TX branch B1
       session 1 attaches to TX B1 and does some work
       Concurrently session 2 asks to attach to TX B1
          - session 2 cannot attach to TX B1 as it is
            still attached to session 1 so session 2
            waits on "inactive transaction branch"
 Usually the steps would either be serialized by the  clients OR would be using separate transaction branches
You should check the client application logic for concurrent operations issued  on the same transaction branch

文档 ID 21354456.8

This bug is only relevant when using Real Application Clusters (RAC)
A distributed transaction in a RAC database could wait forever for 'inactive transaction branch'.
Rediscovery Notes
If the wait event is 'inactive transaction branch' and the stack shows the wating session is in k2gInsert, it is this bug.
Workaround
Kill the waiting process and restart it.

Priestess©版权所有,禁止转载
原文地址:https://www.cnblogs.com/priestess-zhao/p/8267803.html