
- Ora 00060 deadlock detected while waiting for resource how to#
- Ora 00060 deadlock detected while waiting for resource update#
Ora 00060 deadlock detected while waiting for resource how to#
Here is an example of how to simulate a deadlock error: session1 lock table: CUSTOMER then CONTACT and in session2: CONATCT then CUSTOMER. In the following example I am demonstrating a dead lock scenario. These multi-table deadlocks can be avoided by locking tables in same order in all applications/transactions, thus preventing a deadlock condition. Most commonly these deadlocks are caused by the applications that involve multi table updates in the same transaction and multiple applications/transactions are acting on the same table at the same time. Oracle will also produce detailed information in a trace file under database's UDUMP directory. The session that is rolled back will observe Oracle error: ORA-00060: deadlock detected while waiting for resource. Oracle automatically detects deadlocks and resolves them by rolling back one of the transactions/statements involved in the deadlock, thus releasing one set of resources/data locked by that transaction. So when this condition occurs these users are stuck (deadly embraced) and cannot continue processing. The users are stuck and they can not proceed as they may end up waiting indefinitely for the resources form each other. What is dead lock, when it occurs and how to fix it?ĭead lock occurs when two or more users waiting for the resources locked by each other. These dead locks can occur in different scenarios: They can occur while doing parallel DML operations, while updating/deleting data from same tables from different sessions, while performing transactions on bitmap index tables and so on but the mentioned scenarios are the most common ones.Īt this point I think we would like to explore more about dead locks, so here are the in depth details on dead locks: Your current sessions rolled backed statements needs to be resubmitted for the execution after the required resources are available. The other session can proceed further as usual. ORA-00060 error indicates that a dead lock occurred due to a resource contention with another session and Oracle rolled back your current statement to resolve the dead lock.
Ora 00060 deadlock detected while waiting for resource update#
13:42:00,696 ERROR : metastore.RetryingHMSHandler (RetryingHMSHandler.java:invokeInternal(195)) - MetaException(message:Unable to update transaction database : ORA-00060: deadlock detected while waiting for resourceĪt 4CTTIoer.processError(T4CTTIoer.java:440)Īt 4CTTIoer.processError(T4CTTIoer.java:396)Īt 4C8Oall.processError(T4C8Oall.java:837)Īt 4CTTIfun.receive(T4CTTIfun.java:445)Īt 4CTTIfun.doRPC(T4CTTIfun.java:191)Īt 4C8Oall.doOALL(T4C8Oall.java:523)Īt 4CStatement.doOall8(T4CStatement.java:193)Īt 4CStatement.executeForRows(T4CStatement.java:999)Īt .doExecuteWithTimeout(OracleStatement.java:1315)Īt .executeUpdateInternal(OracleStatement.java:1822)Īt .executeUpdate(OracleStatement.java:1787)Īt .executeUpdate(OracleStatementWrapper.java:280)Īt .DelegatingStatement.executeUpdate(DelegatingStatement.java:228)Īt .(TxnHandler.ORA-00060: deadlock detected while waiting for resourceĬause: Transactions deadlocked one another while waiting for resources.Īction: Look at the trace file to see the transactions and resources involved. 13:42:00,687 ERROR : txn.TxnHandler (TxnHandler.java:checkRetryable(1952)) - Too many repeated deadlocks in commitTxn(CommitTxnRequest(txnid:293)), giving up.
