ORA-04021: timeout occurred while waiting to lock object stringstringstringstringstring
Cause: While waiting to lock a library object, a timeout occurred.
Action: Retry the operation later.
ORA-04021是一个锁超时故障,它是因当一个会话花费了超过等待时间的锁等待而产生的错误。
ORA-04021错误的官方解释是:当等待锁定对象而超时时发生了超时。
通常情况下,此错误是由 Oracle 试图获取LATCH而超时时发生的。结果是,一个会话试图创建一个锁,而另一个会话可能试图释放这个锁。
正常处理方法及步骤:
1.检查超时时间,并将其更改为一个更高的值,以避免此错误发生;
2.检查正在等待锁的会话,以防止其长期占用资源;
3.重新启动实例,以便清除所有未释放的锁;
4.使用SQL语句来确定具体的对象被锁;
5.尝试在锁定对象上添加“dummy”事务,并将其释放,以便将其从死亡会话分离出来。