手机
当前位置:查字典教程网 >编程开发 >Oracle教程 >深入探讨:Oracle中如何查询正锁表的用户以及释放被锁的表的方法
深入探讨:Oracle中如何查询正锁表的用户以及释放被锁的表的方法
摘要:可在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中如何查询正锁表的用户以及释放被锁的表的方法】相关文章:

And,Where使用提示以及用+进行左关联的提示及注意事项

[Oracle] 如何使用触发器实现IP限制用户登录

Oracle中大批量删除数据的方法

Oracle中如何恢复被删掉的存储过程?

oracle增加表空间大小两种实现方法

探讨Oracle中的&号问题

Oracle对于死锁的处理方法

oracle如何恢复被覆盖的存储过程

深入探讨:oracle中row_number() over()分析函数用法

Oracle数据库Decode()函数的使用方法

精品推荐
分类导航