Reputation: 859
I have a multi-user application, which allows many users to perform DML operations on Database tables. Under a particular scenario, 2 users are trying to perform DELETE on one Table through different transactions.
The problem is, transaction 1 is a long running one, and acquires Row Lock on the Table for a long period of time. So transaction 2(attempting to modify the same rows) errors out with ORA-00060. Also, I cannot do an Execute Immediate for DELETE queries on transaction 1, sue to some data integrity issues.
How can I modify DELETE query to mimic something like the behavior of NOLOCK in SQL Server?
Upvotes: 2
Views: 1920
Reputation: 24291
You may have a child table (or perhaps a grandchild table) that has an unindexed foreign key. See How to find out the cause of an Oracle deadlock
Otherwise, the trace file may tell you which rows are involved, see: How can I identify the rows involved in an Oracle deadlock?
Upvotes: 1