1. 程式人生 > >Oracle ORA-04021 等待鎖定物件時發生超時

Oracle ORA-04021 等待鎖定物件時發生超時

ORA-04021:等待鎖定物件時發生超時
select * from dba_ddl_locks where name= 'PROJECT';
alter system kill session 'sid,serial#';
如果session無法kill,則kill執行緒:

 select 'kill -9 '|| p.spid
   from v$session s, v$process p
  where s.paddr = p.addr
  and s.SID= and s.SERIAL#=;

本次遇到的問題是有儲存過程正在執行project表的操作。
要想知道是什麼原因造成的,總體思路是:
1.dba_ddl_locks定位到是哪個session 
2.查詢v$session找到sql_id
3.最後通過v$sql找到是那個sql