oracle数据库锁表
Posted dongyaotou
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle数据库锁表相关的知识,希望对你有一定的参考价值。
在团队开发一个项目的时候,避免不了两个或两个以上的人同时操作某一数据库中的同一张表,这时候,如果一个用户没有提交事务,或者忘记提交事务,那么其他用户就不能对这张表进行操作了,这是很烦人的事情,下面是查询是哪个用户将表锁住了,并且生成解表语句的sql:
Select O.OWNER,
O.OBJECT_NAME,
O.OBJECT_TYPE,
(SELECT C.MACHINE FROM V$SESSION C WHERE C.SID = S.SID),
(SELECT C.PROGRAM FROM V$SESSION C WHERE C.SID = S.SID),
S.SID,
S.SERIAL#,
‘alter system kill session ‘‘‘ || S.SID || ‘,‘ || S.SERIAL# || ‘‘‘;‘ Kill_Sql
FROM V$LOCKED_OBJECT L, DBA_OBJECTS O, V$SESSION S
WHERE L.OBJECT_ID = O.OBJECT_ID
AND L.SESSION_ID = S.SID
ORDER BY O.OBJECT_ID, XIDUSN DESC;
如果某个数据库被锁定了,下面是解锁sql:
alter user oraikes account unlock;
以上是关于oracle数据库锁表的主要内容,如果未能解决你的问题,请参考以下文章