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操作習慣!

arrow
arrow
    全站熱搜

    Wallace 發表在 痞客邦 留言(0) 人氣()