DBAtlas · 数据库运维图谱

ORA-02049: Timeout: distributed transaction waiting for lock(超时:分布式事务正在等待锁)

Oracle

含义

分布式事务在等待远程数据库上的锁时超出了 DISTRIBUTED_LOCK_TIMEOUT。事务已超时。

原因

通过数据库链接运行的事务在等待远端被锁定的行;远程会话中的长事务、网络延迟,或两端持有相互冲突的锁。

解决方法

在远程数据库上找到并解决阻塞的锁和会话(v$lock、v$session)。保持分布式事务简短,并尽可能晚地获取所需的锁。必要时针对工作负载增大 DISTRIBUTED_LOCK_TIMEOUT(SPFILE,需要重启)。对于 in-doubt 分布式事务,检查 DBA_2PC_PENDING 视图,必要时手动处理。

在 DBAtlas 中打开 →

同一数据库的其他条目