我用的是java,Spring,oracle数据库。有时我的数据库表会被锁定。每次我去数据库并关闭会话的时候。有没有办法检查表或行是否被锁定,并使用java解除它的锁定?请提个建议。
发布于 2018-11-13 20:01:37
您可以首先使用以下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#';https://stackoverflow.com/questions/53280291
复制相似问题