项目期间,总有人用
锁住我们要操作的业务表,针对这种情况,可以按如下方式解决:
1. 查询出死锁对象
2. 取死锁对象session基本信息
3. 用kill命令厮杀
[b]注:数据库为ORACLE10I,仅针对PLSQLDEV客户端死锁[/b]
SELECT * FROM TABLE FOR UPDATE
锁住我们要操作的业务表,针对这种情况,可以按如下方式解决:
1. 查询出死锁对象
select p.spid,c.object_name,b.session_id,b.oracle_username,b.os_user_name from v$process p,v$session a,v$locked_object b,all_objects c
where p.addr=a.paddr
and a.process=b.process
and c.object_id=b.object_id
2. 取死锁对象session基本信息
SELECT sid, serial#, username, osuser FROM v$session t where sid='1081【参数对应死锁对象中的session_id】'
3. 用kill命令厮杀
alter system kill session '654【参数1:session基本信息对应的sid字段】,2000【参数2:session基本信息对应的serial#字段】'
[b]注:数据库为ORACLE10I,仅针对PLSQLDEV客户端死锁[/b]