ORA-04021等待锁定对象时超时

编译存储过程时候没响应,之后提示 ORA-O4012

解决办法:

1、查出哪个进程占用了对象

dba_ddl_locks 中查询出SID SERIAL#

2、alter system kill session ' sid,serial#'

3、如果第二步失败:需要到服务器端删除相关的进程(UNIX)或线程(windows)

Select spid, osuser, s.program 

From v$session s, v$process p 

Where s.paddr = p.addr 

 And s.sid =(第一步中查出的SID)

4、服务器端(windows):

orakill sid thread(SID是Oracle的实例名,thread是上面查出来的SPID)

原文地址:https://www.cnblogs.com/wangyameng/p/3915012.html