利用jdbc进行数据库操作时,有时可能在执行statement.executeUpdate方法时,程序卡死在那,执行不过去,这可能是因为数据库的锁的问题,可能其他人在进行删改的操作,或者是你自己在利用数据库客户端工具在在操作,这是你可以查看自己的客户端工具之前进行删改操作有没有提交事务commit,因为没有提交事务,可能使程序在执行statement.executeUpdate执行不过去。
查看锁:SELECT sn.username, m.SID,sn.SERIAL#, m.TYPE,
DECODE (m.lmode,
0, "None",
1, "Null",
2, "Row Share",
3, "Row Excl.",
4, "Share",
5, "S/Row Excl.",
6, "Exclusive",
lmode, LTRIM (TO_CHAR (lmode, "990"))
) lmode,
DECODE (m.request,
0, "None",
1, "Null",
2, "Row Share",
3, "Row Excl.",
4, "Share",
5, "S/Row Excl.",
6, "Exclusive",
request, LTRIM (TO_CHAR (m.request, "990"))
) request,
m.id1, m.id2
FROM v$session sn, v$lock m
WHERE (sn.SID = m.SID AND m.request != 0)
OR ( sn.SID = m.SID
AND m.request = 0
AND lmode != 4
AND (id1, id2) IN (
SELECT s.id1, s.id2
FROM v$lock s
WHERE request != 0 AND s.id1 = m.id1
AND s.id2 = m.id2)
)
ORDER BY id1, id2, m.request;
解除锁:Alter system kill session "SID,SERIAL#" RAC环境下序列缓存导致数据库序列不同步Oracle进程无法KILL处理方案相关资讯 Oracle教程
- Oracle中纯数字的varchar2类型和 (07/29/2015 07:20:43)
- Oracle教程:Oracle中查看DBLink密 (07/29/2015 07:16:55)
- [Oracle] SQL*Loader 详细使用教程 (08/11/2013 21:30:36)
| - Oracle教程:Oracle中kill死锁进程 (07/29/2015 07:18:28)
- Oracle教程:ORA-25153 临时表空间 (07/29/2015 07:13:37)
- Oracle教程之管理安全和资源 (04/08/2013 11:39:32)
|
本文评论 查看全部评论 (0)