Oracle 解除数据库表锁定

本文介绍了一种在Oracle数据库中检查并解除表锁定的方法。首先提供了查询被锁定表的SQL语句,接着给出了如何根据查询结果杀死锁定进程的具体操作。
/*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#)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值