内容阅读
在知识库中专注阅读,并随时返回相关工具与课程
ORA-04021警告锁
等待锁定对象时发生超时
Timeout occurred while waiting to lock object
错误描述
等待获取数据库对象的库缓存锁时发生超时。
可能原因
- 另一个会话持有该对象的库缓存锁
- 同一对象上的并发 DDL 或编译
- 长时间运行的 PL/SQL 编译阻塞访问
解决方案
- 1短暂等待后重试操作
- 2识别并解决阻塞会话
- 3使用 DDL_LOCK_TIMEOUT 设置等待超时:ALTER SESSION SET DDL_LOCK_TIMEOUT=30;
诊断命令
SELECT sid, serial#, event, seconds_in_wait FROM v$session WHERE event LIKE '%library cache lock%';#lock#timeout#library-cache#object