inactive transaction branch等待事件是由于dblink连接超时导致的,当多个dblink同时连接远程数据库做相同的工作时,等待的dblink如果等待时间过长就会触发此等待事件。
解决方法:
select spid from v$process where addr in (select paddr from v$session where sid=);
使用SQL查出session的进程ID,并杀掉进程
kill -9
文档 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 branchesYou 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 NotesIf the wait event is 'inactive transaction branch' and the stack shows the wating session is in k2gInsert, it is this bug.WorkaroundKill the waiting process and restart it.