通过PLSQL Developer进行数据操作
1,select * from table1 检索正常
2,select * from table1 for update 表直接死锁,无数据被检索出来请问这是为什么,有何原因为造成这样的情况,
在执行步骤2前,查询sessions并未发现有锁表现象.
1,select * from table1 检索正常
2,select * from table1 for update 表直接死锁,无数据被检索出来请问这是为什么,有何原因为造成这样的情况,
在执行步骤2前,查询sessions并未发现有锁表现象.
解决方案 »
- 基础,oracle绑定变量,怎么会报错呢?
- 多结果返回
- Oracle Transaction 控制
- 各位大哥帮忙看看这个怎么错了!加班呢!!!着急啊
- 关于ORACLE存储过程,对于你们应该很简单
- 请教一个关于数据库保存的问题
- 表中有一个字段是Blob型的,如何将文件插入到此字段里面呢?!9i数据库... 谢谢!
- 急求oracle8i或9i的数据库下载?
- 如何登陆数据库?我安装时没有叫我输入用户名和密码啊!!我刚接触Oracle~~!
- 乱改东西犯错了 但不是什么大问题
- 关于SUM(。。。。。。) OVER(ORDER BY 。。。。。。) 我有问题想请教
- 写了一个函数,里面有个优化的问题需要大侠指点。
select a.oracle_username,b.object_name,a.PROCESS,c.TYPE
from v$locked_object a,all_objects b,v$session c
where a.object_id=b.object_id
and a.session_id=c.sid
and b.object_type='TABLE'查看一下
基本上是记录被锁了。你这里说的 在执行步骤2前,查询sessions并未发现有锁表现象.你这里的是怎么查的,发生你这里的情况,应该有至少一个TM锁和TX锁
用语句查select a.oracle_username,b.object_name,a.PROCESS,c.TYPE,c.SERIAL#,c.LOGON_TIME,c.PROGRAM,c.CLIENT_INFO,c.ACTION
from v$locked_object a,all_objects b,v$session c
where a.object_id=b.object_id
and a.session_id=c.sid
and b.object_type='TABLE'
session的locks里是对象锁。你这里有dml的语句,应该有一个TM的记录在那个session里的哟。
不过导致你的sql被挂住的不是这个TM锁,而是你的记录的锁是TX锁,在v$lock表里可以查到的。不过通过相关的lock视图是查不出被hang的记录的,关于lock的具体参考http://www.inthirties.com/thread-216-1-1.html