

There are a number of reasons that a TX lock may be requested in Lock ModeĪvoid by recoding the application to ensure rows are always locked in It is the lock type and modes which help determine what situation has caused the deadlock. These may appear held / requested in a number of modes. The most common lock types seen in deadlock graphs are TX and TM locks. Other deadlock scenarios are discussed below. Hence it is important to place rules on the order in which tables are updated as well as the order of the rows within each table.

Note that the deadlock need not be between rows of the same table – it could be between rows in different tables. This is the simplest deadlock scenario to identify and resolve. The strict ordering of the updates ensures that a deadly embrace cannot occur.
#Ora 00060 deadlock detected while waiting for resource update#
> Session #2 is released as it is no longer waiting for this TX Session #2: update eg_60 set txt='ses2' where num=2 Session #1: update eg_60 set txt='ses1' where num=2 The important things to note here are the LOCK TYPE, the MODE HELD and the MODE REQUESTED for each resource as these give a clue as to the reason for the deadlock.

Session 132: obj - rowid = 00012B82 - AAASuCAAEAAAAinAAA Resource Name process session holds waits process session holds waits Information may aid in determining the deadlock: It is aĭeadlock due to user error in the design of an application The following deadlock is not an ORACLE error.
