Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

207

积分

1

好友

4

主题
1#
发表于 2012-3-20 23:50:51 | 查看: 4510| 回复: 4
刚刚处理了这个么死锁,单独查询dba_blocks dba_lock v$lock v$locked_object都没有看到相关锁信息。发现这个锁是要用表的id作为条件去更新一个字段,接到报错提示:已被其他会话锁之类。。。。。

在单独查询上述视图或字典无果之后,去手工抓了个addm,addm里面确实提到了这个表的相关锁。于是重新把几个相关视图关联起来查询才找到锁的sid serial,这个session的status是inactive,是从应用的tomcat发出的。

问题:
为什么单独查询上述相关视图没有获得我要的锁信息?什么原因造成的?
爱老婆,爱FM,爱音乐;挨踢,爱折腾,爱Oracle
2#
发表于 2012-3-21 10:10:44
addm 走的是后台搜集 和v$  视图不失一回事情吧

回复 只看该作者 道具 举报

3#
发表于 2012-3-21 12:52:37
参考 这个时段的 ASH GV$ACTIVE_SESSION_HISTORY

如果是RAC系统的话, 仅查 V$LOCK 或 V$LOCKED_OBJECT 可能不足以反应锁的信息, 且在RAC中 V$LOCK.BLOCK可能为2  即未知。

回复 只看该作者 道具 举报

4#
发表于 2012-3-21 13:53:38

回复 2# 的帖子

嗯,不是一回事,我想说明的是可能我查询的方向存在问题

回复 只看该作者 道具 举报

5#
发表于 2012-3-21 14:56:13
是RAC吗,如果是RAC也许锁不是在你查的那个节点上,要查gv$lock,gv$locked_object等

回复 只看该作者 道具 举报

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

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-11-15 10:33 , Processed in 0.057288 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569