怎样看oracle锁,深入探讨:Oracle中如何查询正锁表的用户以及释放被锁的表的方法...

本文介绍了如何在PL/SQL中使用SQL查询找出被锁定的数据库表及其锁定用户信息,包括用户会话ID、Oracle用户名、操作系统用户名等。同时提供了杀死锁表会话的ALTER SYSTEM KILL SESSION命令示例,帮助数据库管理员解决锁表问题。
摘要由CSDN通过智能技术生成

可在PL/SQL中用如下SQL语句来查询当前数据库中哪些表被锁住了,并且是哪些用户来锁的这些表:

SELECT

A.OWNER,

--OBJECT所属用户

A.OBJECT_NAME,

--OBJECT名称(表名)

B.XIDUSN,

B.XIDSLOT,

B.XIDSQN,

B.SESSION_ID,

--锁表用户的session

B.ORACLE_USERNAME,

--锁表用户的Oracle用户名

B.OS_USER_NAME,

--锁表用户的操作系统登陆用户名

B.PROCESS,

B.LOCKED_MODE,

C.MACHINE,

--锁表用户的计算机名称(例如:WORKGROUP\UserName)

C.STATUS,

--锁表状态

C.SERVER,

C.SID,

C.SERIAL#,

C.PROGRAM

--锁表用户所用的数据库管理工具(例如:ob9.exe)

FROM

ALL_OBJECTS A,

V$LOCKED_OBJECT B,

SYS.GV_$SESSION C

WHERE

A.OBJECT_ID = B.OBJECT_ID

AND B.PROCESS = C.PROCESS

ORDER BY 1,2 同时可用如下命令来kill掉当前锁表的项:

alter system kill session 'sid, serial#'

--例如:alter system kill session '57, 10325

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值