有什么方法可以使用Java检查和释放数据库锁吗?

时间:2018-11-13 11:42:10

标签: java sql spring oracle

我正在使用java,Spring和oracle数据库。有时我的数据库表被锁定。每次我要进入数据库并关闭会话时。有什么方法可以检查天气表或行是否被锁定并使用Java释放对其的锁定?请提出建议。

1 个答案:

答案 0 :(得分:0)

您可以首先使用下面的SQL查询来识别当前锁定的对象:

SELECT O.OBJECT_NAME, S.SID, S.SERIAL#, P.SPID, S.PROGRAM, SQ.SQL_FULLTEXT, 
S.LOGON_TIME FROM V$LOCKED_OBJECT L, DBA_OBJECTS O, V$SESSION S, V$PROCESS P,
V$SQL SQ WHERE L.OBJECT_ID = O.OBJECT_ID AND L.SESSION_ID = S.SID AND
S.PADDR = P.ADDR AND S.SQL_ADDRESS = SQ.ADDRESS;

您甚至可以通过过滤OBJECT_NAME值来查找特定表。 确定要终止的会话后,可以使用以下命令终止它:

alter system kill session 'SID,SERIAL#';