步骤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.*
From v$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
--查找被锁表
步骤2 删除进程,如之前的“删除号”查找出的结果为“286, 2184”,则运行以下SQL
ALTER system kill session '286, 2184'
本文转自:http://www.oracleapps.cn/articles/tag/%E8%A1%A8%E7%BB%93%E6%9E%84
解锁Oracle表锁方法
本文介绍了一种在Oracle数据库中解决表锁定问题的方法。通过执行特定的SQL查询来定位锁定的表及其对应的会话信息,并提供了如何终止锁定进程的具体步骤。
1059

被折叠的 条评论
为什么被折叠?



