询问一个关于死锁的问题!

cowman4 2004-12-03 04:29:54
各位高人,请教一个关于死锁的问题。
我现在正在测试自己的程序,但是有一种情况确是如何都测不到,如下:
相对一个记录测试其被死锁的情况,我用到了
select ....for update
lock table .... in share mode
但是都是出现了timeout的情况,并没有出现死锁的情况,请问如何才能出现,死锁的情况?
非常感谢。
...全文
176 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cowman4 2004-12-03
  • 打赏
  • 举报
回复
个人老大,非常感谢你们的指点,但是我是想让oracle出现死锁的情况,并且sql语句的sqlcode能够得到死锁的sqlcode,我应该如何实现,并不是想看那个进程死锁了
tian00weiwei 2004-12-03
  • 打赏
  • 举报
回复
执行"查找阻塞其它用户的用户进程"的查询语句
select a.username, a.sid, a.serial#, b.id1
from v$session a, v$lock b
where b.id1 in
(select distinct e.id1
from v$session d, v$lock e
where d.lockwait = e.kaddr)
and a.sid = b.sid
and b.request = 0
lialin 2004-12-03
  • 打赏
  • 举报
回复
oracle会自动进行对死锁进行解除的!
它不会一直在死锁的状态!
不过你可以对一张进行更新,在另外一个会话中进行更新时会就处于生产等待状态!
cowman4 2004-12-03
  • 打赏
  • 举报
回复
我现在察看到信息有什么用吗?
tian00weiwei 2004-12-03
  • 打赏
  • 举报
回复
获取正在等待锁资源的用户名"的查询语句

select a.username, a.sid, a.serial#, b.id1
from v$session a, v$lock b
where a.lockwait = b.kaddr
tian00weiwei 2004-12-03
  • 打赏
  • 举报
回复
获取正在等待锁资源的用户名"的查询语句

select a.username, a.sid, a.serial#, b.id1
from v$session a, v$lock b
where a.lockwait = b.kaddr
zmgowin 2004-12-03
  • 打赏
  • 举报
回复
你可以根据
select * from v$locked_object;
获得锁信息;

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧