请问这是什么锁?是死锁吗?

[复制链接]
查看11 | 回复9 | 2016-3-26 13:35:40 | 显示全部楼层 |阅读模式
今天在查询dba_waiters的时候发现有两个会话在互相等待,锁都是基于事务的,也就是TX的,现象有点象死锁,但ORACLE并没有报但警告日志里没有记录,ORACLE也不去自动清除,手工清掉了一个就解开了,在这请教一下各位了,这是什么锁呢?
回复

使用道具 举报

千问 | 2016-3-26 13:35:40 | 显示全部楼层
如果没有警报日志那多半就不是死锁,只是一个session在等待另一个session释放锁
另外最好把你的查询结果贴出来,不然大家很难分析
回复

使用道具 举报

千问 | 2016-3-26 13:35:40 | 显示全部楼层
A dead lock will not cause a wait.
回复

使用道具 举报

千问 | 2016-3-26 13:35:40 | 显示全部楼层
你怎么知道它们是在相互等待?
回复

使用道具 举报

千问 | 2016-3-26 13:35:40 | 显示全部楼层
最初由 ZALBB 发布
[B]你怎么知道它们是在相互等待? [/B]

就是在DBA_WAITERS中看到各自的WAITING_SESSION和HOLDING_SESSION互为对方
回复

使用道具 举报

千问 | 2016-3-26 13:35:40 | 显示全部楼层
SQL> select WAITING_SESSION,HOLDING_SESSION,LOCK_TYPE,MODE_HELD,MODE_REQUESTED from dba_waiters;
WAITING_SESSION HOLDING_SESSION LOCK_TYPE
MODE_HELD
MODE_REQUESTED
--------------- --------------- -------------------------- ---------------------------------------- ----------------------------------------

307
49 Transaction
None
Share

49
49 Transaction
None
Share

307
181 Transaction
Exclusive
Share

49
181 Transaction
Exclusive
Share

307
307 Transaction
None
Share

49
307 Transaction
None
Share
6 rows selected.
就是这个样子,307和49号会话之间,哪位帮我分析分析
回复

使用道具 举报

千问 | 2016-3-26 13:35:40 | 显示全部楼层
死锁不用管的,oracle会发现自动处理的,手工可以commit或者rollback
回复

使用道具 举报

千问 | 2016-3-26 13:35:40 | 显示全部楼层
默认是60秒
回复

使用道具 举报

千问 | 2016-3-26 13:35:40 | 显示全部楼层
最初由 tgm78 发布
[B]默认是60秒 [/B]

什么60秒?
回复

使用道具 举报

千问 | 2016-3-26 13:35:40 | 显示全部楼层
释放死锁
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行