| 
ORA-00054 的解決方法(2010-09-21 15:31:29) 
系統(tǒng)有一個(gè)不用的索引,想刪除這個(gè)索引, SQL> drop index GPSTIME_GLOBAL_INDEX2 /
 drop index GPSTIME_GLOBAL_INDEX
 *
 ERROR at line 1:
 ORA-00054: resource busy and acquire with NOWAIT specified
 
 
 
 現(xiàn)現(xiàn)這個(gè)問(wèn)題的原因是正在執(zhí)行的操作請(qǐng)求的資源正被其他事務(wù)鎖定。 
 出現(xiàn)這種問(wèn)題后查V$LOCKED_OBJECT,要么等事務(wù)結(jié)束后再做,要么殺掉持有鎖的會(huì)話(如果不是關(guān)鍵會(huì)話): 1.通過(guò)上句查找出已被鎖定的數(shù)據(jù)庫(kù)表及相關(guān)的sid、serial#及spidselect object_name as 對(duì)象名稱(chēng),s.sid,s.serial#,p.spid as 系統(tǒng)進(jìn)程號(hào)
 from v$locked_object l , dba_objects o , v$session s , v$process p
 where l.object_id=o.object_id and l.session_id=s.sid and s.paddr=p.addr;
 
 2.在數(shù)據(jù)庫(kù)中滅掉相關(guān)session
 alter system kill session 'sid,serial#';--sid及serial#為第一步查出來(lái)的數(shù)據(jù)。
 |