oracle 死锁问题
来源:互联网 发布:spss数据录入 编辑:程序博客网 时间:2024/05/19 05:04
想了解更多可以看看文档或是TOM的9I&10G编程艺术这本书,我也是从上面摘下的一点。
当表或者进程被某一程序死锁之后,就无法对其进行操作,只有等待,有时等待session超时也可以进行操作,可有时session无法释放,就不能说,等一会可以解决问题的。
具体来说,解决办法有以下几点:
1、 首先使用system用户用plsql进行登陆,在tool->session,你就可以看到是那个程序锁定了那些表。
2、 或者使用以下语句进行查询也可(必须使用system用户)
以下的语句可以查询到谁锁了表,而谁在等待。
SELECT /*+ rule */ lpad(' ',decode(l.xidusn ,0,3,0))||l.oracle_username User_name,
o.owner,o.object_name,o.object_type,s.sid,s.serial#
FROM v$locked_object l,dba_objects o,v$session s
WHERE l.object_id=o.object_id
AND l.session_id=s.sid
ORDER BY o.object_id,xidusn DESC
在查询结果里面,我们可以看到sid和serial#。
我们回到第一个步骤,对应sid和serial#就可以查询到那个session,点击右键选择kill即可。
3、 如果按上两个步骤还是不能解决死锁,则需要从操作系统级别上解决。
使用一下语句,查看操作系统级的进程id(即spid)
select b.logon_time,b.program,b.username,b.osuser,a.spid,b.sid,
b.serial#,b.logon_time,b.machine
from v$process a,v$session b
where a.addr=b.paddr
and b.sid=14
将b.sid=14换成在步骤2里面查询到的sid即可查询到该session的进程号,进入操作系统
使用 kill –9 spid 杀死进程,这样,死锁问题就很快解决了。
- oracle 死锁问题
- oracle 死锁问题
- oracle 死锁问题
- 解决ORACLE死锁问题
- 浅谈Oracle死锁问题
- oracle 死锁问题
- 解决Oracle死锁问题
- oracle数据库死锁问题
- ORACLE 死锁问题剖析
- ORACLE死锁问题
- ORACLE 解决死锁问题
- 如何解决oracle死锁问题
- Oracle死锁问题分析解决
- Oracle死锁、数据库链接问题
- Oracle死锁问题分析解决
- Oracle死锁问题分析解决
- [Oracle] Oracle死锁问题跟踪处理
- Oracle数据库死锁问题探讨与处理
- oracle sql 优化-索引(摘二)
- connectFactory.java
- 在 Javascript 中读取自定义类(实例)
- Oracle入门心得
- ASP.NET两个页面之间传递值的几种方式
- oracle 死锁问题
- GIS地图基础知识--入门教程
- 使用DOM模拟inserAfter函数
- BaseDao.java
- asp.net
- RO07 - Smart Services
- SessionSet.java
- Oracle入门知识——转载
- 如何查看在某个表上建立的触发器和约束?