查询一下v$session,v$lock,看看有什么会话在占用相关的资源。
解决方案 »
- 我现在要在这张表上加一个字段ID设成主键,要怎么给这个ID赋值
- 我用的是oacle 10g,有没有取英文首字母的函数啊!
- 请大家介绍一本关于 oracle 和 SQL 的学习书籍吧 谢谢~
- 关于同时修改两张表的字段内容,用简单SQL
- Oracle SQL Developer 1.0 如何只显示用户表?
- 帮我写一条语句,功能是删除当前用户下的所有表
- 高分求Oracle SQL语句的语法书籍,最好是电子书,谢谢。我以前用SQL server很熟练,现在用Oracle ,写SQL语句好别扭,郁闷ing
- 关于Procedure的一个问题
- 关于PB+ORACLE存储过程的问题
- 为什么我的程序在局域网上能够访问,在广域网上就出现10049错误?
- ◆◆如何恢复我已经删除的数据◆◆
- 为什么我的存储过程不能编译成功?
-- Try this;
select /*+ NO_MERGE(a) NO_MERGE(b) NO_MERGE(c) */ 'Wait' "Status", a.username, a.machine,
a.sid, a.serial#, a.last_call_et "Seconds", b.id1, c.sql_text "SQL"
from v$session a, v$lock b, v$sqltext c
where a.username is not null
and a.lockwait = b.kaddr
and c.hash_value =a.sql_hash_value
union
select /*+ NO_MERGE(a) NO_MERGE(b) NO_MERGE(c) */ 'Lock' "Status", a.username, a.machine,
a.sid, a.serial#, a.last_call_et "Seconds", b.id1, c.sql_text "SQL"
from v$session a, v$lock b, v$sqltext c
where b.id1 in
(select /*+ NO_MERGE(d) NO_MERGE(e) */ distinct e.id1
from v$session d, v$lock e
where d.lockwait = e.kaddr)
and a.username is not null
and a.sid = b.sid
and b.request=0
and c.hash_value =a.sql_hash_value;
decode(L.LMODE, 1,'No Lock', 2,'Row Share', 3,'Row Exclusive', 4,'Share',
5,'Share Row Exclusive', 6,'Exclusive',null) lmode,
decode(L.REQUEST,1,'No Lock', 2,'Row Share', 3,'Row Exclusive', 4,'Share',
5,'Share Row Exclusive', 6,'Exclusive',null) request
from V$LOCK L, V$SESSION S, SYS.USER$ U1, SYS.OBJ$ T1
where L.SID = S.SID and T1.OBJ# = decode(L.ID2,0,L.ID1,L.ID2) and U1.USER# = T1.OWNER# and S.TYPE != 'BACKGROUND'
order by 1,2,5;