更新或刪除Oracle Table時,出現的錯誤訊息,這是因為還有其它SQL操作鎖定了Table,可以依下列步驟排除 :


1. 查詢所有正在執行的SQL操作
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

2. 用上列的sid查詢正在執行的SQL語法
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


3. 如果該執行的SQL不重要,就可以用sid,serial把它刪除
alter system kill session '<sid>,<serial>'

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 felixhuang 的頭像
    felixhuang

    菲力貓的程式設計

    felixhuang 發表在 痞客邦 留言(2) 人氣()