/*PLSQL程序登录:
用户名/密码:sys/change_on_install 登录身份:SYSDBA或SYSOPER,不能以NORMAL登录;
用户名/密码:system/manager 登录身份:SYSDBA或NORMAL,不能以SYSOPER登录;*/
/*1、查出所有被锁住的表,SQL参考如下:*/
SELECT s.username,decode(l.type,'TM','TABLE LOCK','TX','ROW LOCK',NULL) LOCK_LEVEL,o.owner,o.object_name,o.object_type,
s.sid,s.serial#,s.sid ||','|| s.serial# 删除号,s.terminal,s.machine,s.program,s.osuser
FROM v$session s, v$lock l, dba_objects o
WHERE l.sid = s.sid AND l.id1 = o.object_id(+) AND s.username is NOT NULL
ORDER BY 2,3,o.object_name
/*2、通过第一步的操作查询到相应表的锁定记录,将“删除号”结果为“286,2184”替换,SQL参考如下:*/
alter system kill session '286,2184'; (其中286,2184为锁住的进程号S.SID, S.SERIAL#)
Oracle 解除数据库表锁定
最新推荐文章于 2024-12-31 15:45:34 发布
本文介绍了一种在Oracle数据库中检查并解除表锁定的方法。首先提供了查询被锁定表的SQL语句,接着给出了如何根据查询结果杀死锁定进程的具体操作。
671

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



