close
最近遇到ORA-00054資源被使用的問題,先紀錄下怎麼處理,再後述遇到的原因吧。
1. 登入為DBA
2. SELECT sid, serial#, username, machine, login_time FROM v$session;
3. 找到該被鎖定的sid, serial,此處之username代表的是schema object的名稱(登入資料庫的連線名稱),machine是執行此Session的機器名稱(就是電腦名稱啦)
4. alter system kill session '<sid>,<serial>';
顯示成功的訊息,該Session就中斷囉!
先是SQL Developer當掉,當掉的原因有很多種
其實懶得去測試是SQL developer的問題還是M$,或自己手賤呢!!
因為環境是Windows,習慣就開工作管理員把它結束掉
當然囉,Session仍然存在,此時若之前的Session有對這個Table有任何lock動作,就會造成資源被鎖定
導致後面的指令都無法執行,這個時候會上面的技巧就很好用了。
不過會導致此些原因也可能是某些DML造成Session抓住資源不放(take a LOCK from database)
不過最好還是保持良好的SQL操作習慣!
全站熱搜