Oracle锁表查询,杀掉进程需要有对应的权限。
--查看是否存在锁表(有记录就证明已经存在锁表记录)
SELECT * FROM V$LOCKED_OBJECT;
--产看对应进程的 SESSION_ID
SELECT VS.SID, VS.SERIAL#, VS.OSUSER,vsa.SQL_TEXT
FROM V$LOCKED_OBJECT VL, V$SESSION VS, V$SQLAREA VSA
WHERE VL.SESSION_ID = VS.SID
AND VS.PREV_SQL_ID = VSA.SQL_ID;
--杀掉对应SESSION(杀掉对应的锁表进程)
ALTER SYSTEM KILL SESSION 'SID,SERIAL#';
--例如:
ALTER SYSTEM KILL SESSION '197,38';
本文详细介绍了如何使用Oracle数据库的V$LOCKED_OBJECT视图来检查是否存在锁表记录,以及通过V$SESSION和V$SQLAREA视图来获取对应锁表进程的详细信息。进一步,文章提供了杀掉特定锁表进程的SQL命令,确保数据库运行效率不受阻塞。
290

被折叠的 条评论
为什么被折叠?



