Errors such as Ora-00054:resource busy and acquire with nowait specified are often present when a database user inserts, updates, deletes data from a table in a database, or increases the primary key of a table or the index of a table.
The main reason is that a transaction is executing (or the transaction has been locked), all of which cause the execution to be unsuccessful.
1. Users with DBA authority to see which locks are in the database
Select T2.username,t2.sid,t2.serial#,t2.logon_time
From V$locked_object t1,v$session T2
where T1.session_id=t2.sid order by T2.logon_time;
Example: TestUser 339 13545 2009-3-5 17:40:05
Know that the locked user TESTUSER,SID for 339,serial# is 13545
2, according to the SID view specific SQL statements, if SQL is not important, you can kill
Select Sql_text from v$session a,v$sqltext_with_newlines b
where DECODE (a.sql_hash_value, 0, Prev_hash_value, sql_hash_value) =b.hash_value
and a.sid=&sid order by piece;
Find out the SQL, such as: begin:id: = sys.dbms_transaction.local_transaction_id; End
3. Kill the transaction
Alter system kill session ' 339,13545 ';
What locks are in the vault and then Kill session?