有没有任何方法可以使用java检查和释放数据库锁



我使用的是java、Spring、oracle数据库。有时我的数据库表被锁定。每次我都要去数据库并关闭会话。有没有什么方法可以检查表或行是否被锁定,并使用java释放对它的锁定?请提出建议。

您可以首先使用以下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#';

最新更新