package编译不过如何处理

操作步骤:

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步以后基本上就可以杀掉这些锁死的进程了,不放心的话可以再执行第一步确认下。


你可能感兴趣的:(plsql包编译)