步驟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
或者
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'
Oracle 10g 安裝後重啟系統,用PLSQL串連報沒有監聽
ORA-03114 PLSQL過程編譯中斷連線錯誤
PLSQL 串連 Oracle簡單配置
PLSQL批量Forall操作效能提升詳解
使用Oracle SQLDeveloper串連資料庫並建立使用者
Oracle內建的PL/SQL Developer匯入匯出資料
在64位Win7系統下安裝Oracle 11g和Oracle SQL Developer用戶端