请教一个问题,关于数据库锁机的问题

[复制链接]
查看11 | 回复9 | 2005-10-30 17:05:33 | 显示全部楼层 |阅读模式
我用怎么样的语句,可以查询出当前所有锁机和被锁的用户,谢谢
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
查看v$session
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
结合V$SESSION, V$LOCK, V$LOCKED_OBJECT
之间用 SID=SESSION_ID连接。
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
SELECT /*+ rule */ s.sid, s.serial#,

l.type, l.id1, l.id2, l.lmode, l.request,

l.ADDR, l.KADDR, l.CTIME, l.BLOCK,

S.USERNAME, S.OSUSER, S.MACHINE,

DECODE(L.ID2, 0, to_char(o.owner#)||'-'||O.name,

'Trans-'||to_char(L.ID1)||'-'||L.ID2) OBJECT_NAME,

DECODE(L.LMODE,0,'--Waiting--',

1,'Null',

2,'Row Share',

3,'Row Excl',

4,'Share',

5,'Sha Row Exc',

6,'Exclusive',

'Other') Lock_Mode,

DECODE(L.REQUEST,0,' ',

1,'Null',

2,'Row Share',

3,'Row Excl',
4,'Share',
5,'Sha Row Exc',
6,'Exclusive',
'Other') Req_Mode
FROM v$lock l, v$session s, sys.obj$ o
where l.request = 0

and l.sid = s.sid

and l.ID1 = o.OBJ#(+)
and s.USERNAME is not null
order by S.USERNAME, L.SID, L.BLOCK;
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
没有权限看sys.obj$ 表怎么办
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
请求DBA授权或者让DBA去做这些事情
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
我们现在的用户利用oralce的监控工具可以,看到锁机的用户,但是我们想自己作一个监控的软件,权限只能是目前这些,不知有没有其他的方法。请教一下,all_objects是否可用,v$locked_object中lock_mode各值的含义,谢谢!
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
oralce的那个监控工具可以看到锁机的用户???
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
oracle lock manager
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
最初由 zhaosuh_cn 发布
[B]我们现在的用户利用oralce的监控工具可以,看到锁机的用户,但是我们想自己作一个监控的软件,权限只能是目前这些,不知有没有其他的方法。请教一下,all_objects是否可用,v$locked_object中lock_mode各值的含义,谢谢! [/B]

如果你想自己写软件,那么建议你仔细读读Oracle的文档
v$session,v$lock,v$locked_object,all_objects,dba_objects....
都是你需要仔细研究的
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行