操作步骤:
1) 首先查出哪些进程锁住了这个对象,语句如下:
Select b.SID,b.SERIAL#
From dba_ddl_locks a, v$session b
Where a.session_id= b.SID
And a.name ='PKP_JT_MONITOR_REPORT';
2) 执行如下语句杀进程:
alter system kill session 'sid,serial#'
--ALTER SYSTEM KILL SESSION '1950,59786'
Select 'alter system kill session '''|| b.SID||','||b.SERIAL#||''';'
From dba_ddl_locks a, v$session b
Where a.session_id= b.SID
And a.name ='PKP_JT_REPORT_RUN';
3) 执行了以上的语句后,有的时候不一定能够将进程杀掉。这个时候就需要连到数据库服务器上杀掉服务器端的进程了,查询语句:
Select spid, osuser, s.program From v$session s, v$process p Where s.paddr= p.addr And s.sid =1950
4) 在服务器上执行如下语句:
#kill -9 spid(UNIX平台)
orakill sid thread(Windows平台SID是Oracle的实例名,thread是上面查出来的SID)
5) 执行完4步以后基本上就可以杀掉这些锁死的进程了,不放心的话可以再执行第一步确认下。