Oracle删除死锁进程

步骤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 '

删除后不会马上生效一般,要过一会

你可能感兴趣的:(oracle)