前言
今天就整理了一下简单的Oracle解锁和查询锁表的方法;
一、步骤
一、首先PLSQL以管理员的账号(system/admin等)登录
二、查看被锁表信息
SELECT L.SESSION_ID SID,
S.SERIAL#,
L.LOCKED_MODE,
L.ORACLE_USERNAME,
S.USER#,
L.OS_USER_NAME,
S.MACHINE,
S.TERMINAL,
A.SQL_TEXT,
A.ACTION
FROM V$SQLAREA A, V$SESSION S, V$LOCKED_OBJECT L
WHERE L.SESSION_ID = S.SID
AND S.PREV_SQL_ADDR = A.ADDRESS
ORDER BY SID, S.SERIAL#;
三、杀掉锁表进程文章来源:https://www.toymoban.com/news/detail-537120.html
ALTER SYSTEM KILL SESSION'210,11562';/*KILL SESSION 两个值要换掉 分别为SID和SERIAL#号*/
四、查看数据库引起锁表的语句文章来源地址https://www.toymoban.com/news/detail-537120.html
SELECT A.USERNAME,
A.MACHINE,
A.PROGRAM,
A.SID,
A.SERIAL#,
A.STATUS,
C.PIECE,
C.SQL_TEXT
FROM V$SESSION A, V$SQLTEXT C
WHERE A.SID IN (SELECT DISTINCT T2.SID
FROM V$LOCKED_OBJECT T1, V$SESSION T2
WHERE T1.SESSION_ID = T2.SID)
AND A.SQL_ADDRESS = C.ADDRESS(+)
ORDER BY C.PIECE;
到了这里,关于Oracle锁表解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!