深入探讨:Oracle中如何查询正锁表的用户以及释放被锁的表的方法_Oracle教程-查字典教程网
深入探讨:Oracle中如何查询正锁表的用户以及释放被锁的表的方法
深入探讨:Oracle中如何查询正锁表的用户以及释放被锁的表的方法
发布时间:2016-12-28 来源:查字典编辑
摘要:可在PL/SQL中用如下SQL语句来查询当前数据库中哪些表被锁住了,并且是哪些用户来锁的这些表:SELECTA.OWNER,--OBJECT...

可在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, --锁表用户的计算机名称(例如:WORKGROUPUserName)

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

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Oracle教程学习
    热门Oracle教程学习
    编程开发子分类