步驟1:用以下sql檢視程序列表,判斷出被鎖定的表
select dob.object_name table_name,lo.session_id||', '||vss.serial# 刪除號,
lo.locked_mode,lo.session_id, vss.serial#,vss.action action,vss.osuser osuser, vss.logon_time,
vss.process ap_pid, vps.spid db_pid ,vss.*
fromv$locked_object lo, dba_objects dob, v$session vss, v$process vps
where lo.object_id = dob.object_id
and lo.session_id = vss.sid
and vss.paddr = vps.addr
order by 2,3,dob.object_name
或者select /*+ rule */ lpad(' ',decode(l.xidusn ,0,3,0))||l.oracle_username user_name,
o.owner,o.object_name,o.object_type,s.sid,s.serial#
from v$locked_object l,dba_objects o,v$session s
where l.object_id=o.object_id
and l.session_id=s.sid
order by o.object_id,xidusn desc
--查詢被鎖表
步驟2 刪除程序,如之前的「刪除號」查詢出的結果為「286, 2184」,則執行以下sql
alter system kill session '286, 2184'
PL SQL 關於鎖表 !!
最近,同事們總在談論鎖表 讓俺很費解,這調程式,操作oracle怎麼會這樣,原來,他們用pl sql edit date 時,再那個視窗中寫sql update 然後excute這個sql 也就是工具條坐邊象螺絲那個,也就是commit按鈕邊上 原來,他們忘了commit,導致的鎖表,cry 看來還...
pl sql查詢鎖表使用者
select a.owner,object所屬使用者 a.object name,object名稱 表名 b.xidusn,b.xidslot,b.xidsqn,b.session id,鎖表使用者的session b.oracle username,鎖表使用者的oracle使用者名稱 b.os u...
plsql表鎖被占用 解決Oracle鎖表
概述 鎖表是很容易發生的現象,當有多人對錶進行操作時就容易發生。如下是解決鎖表的步驟 鎖表原因 由於oracle資料庫具有保持資料的一致性,所以當乙個人對錶進行操作,沒有提交,另乙個人在需要操作的時候,就不能操作,必須等表提交,就一直處於等待狀態,就導致鎖表。鎖表報錯資訊 如果發現修改乙個表資料時不...