Oracle锁表比较简单,查询锁表的session杀掉就能够了。html
一、如下几个为相关表数据库
SELECT * FROM V$LOCK; SELECT * FROM V$SQLAREA; SELECT * FROM V$SESSION; SELECT * FROM V$PROCESS; SELECT * FROM V$LOCKED_OBJECT; SELECT * FROM ALL_OBJECTS; SELECT * FROM V$SESSION_WAIT;
二、查看被锁的表session
SELECT B.OWNER, B.OBJECT_NAME, A.SESSION_ID, A.LOCKED_MODE FROM V$LOCKED_OBJECT A, DBA_OBJECTS B WHERE B.OBJECT_ID = A.OBJECT_ID;
三、查看那个用户那个进程形成死锁oracle
SELECT B.USERNAME, B.SID, B.SERIAL#, LOGON_TIME FROM V$LOCKED_OBJECT A, V$SESSION B WHERE A.SESSION_ID = B.SID ORDER BY B.LOGON_TIME;
四、查看链接的进程测试
SELECT SID, SERIAL#, USERNAME, OSUSER FROM V$SESSION;
五、查出锁定表的sid, serial#,os_user_name, machine_name, terminal,锁的type,modespa
SELECT S.SID, S.SERIAL#, S.USERNAME, S.SCHEMANAME, S.OSUSER, S.PROCESS, S.MACHINE, S.TERMINAL, S.LOGON_TIME, L.TYPE FROM V$SESSION S, V$LOCK L WHERE S.SID = L.SID AND S.USERNAME IS NOT NULL ORDER BY SID;
六、 这个语句将查找到数据库中全部的DML语句产生的锁,还能够发现,任何DML语句其实产生了两个锁,一个是表锁,一个是行锁。.net
七、杀掉进程 sid,serial#code
ALTER SYSTEM KILL SESSION'210,11562';
有时候部分技术人员在更新记录时会忘记提交事务,形成锁表。故引出此内容。htm
一、Oracle 更新表的方式经常使用的几种:blog
(1)、update 表名 set 字段1=值1,字段2=值2 ... where 过滤条件;
(2)、select * from 表名 where 过滤条件 for update ;--锁定某行记录或整张表,一直等待,直到提交或回滚。
拓展:
select * from 表名 where 过滤条件 for update of 列名 ;(用在多表链接锁定时,能够指定要锁定的是哪几张表,而若是表中的列没有在for update of 后面出现的话,就意味着这张表其实并无被锁定,其余用户是能够对这些表的数据进行update操做的。这种状况常常会出如今用户对带有链接查询的视图进行操做场景下。用户只锁定相关表的数据,其余用户仍然能够对视图中其余原始表的数据来进行操做。 )
select * from 表名 where 过滤条件 for update 【of 列名】 wait 时间;--等待n秒后返回错误提示
select * from 表名 where 过滤条件 for update【of 列名】 nowait ;--立刻返回错误提示
(3)、select 要更新的字段,rowid from 表名 where 过滤条件;
(4)、merge语句(用的相对比较少)
二、for update与rowid区别
for update :当语句运行时,会在对应行(where子句)加上行级锁,无where子句等于全表上锁。若遇到客户端断网、测试人员忘记提交\回滚事务,则会发生锁表。
rowid: 运行后并未给数据加上行级锁(经过物理地址去肯定某一行数据),但能够编辑数据,提交事务的瞬间完成上锁、提交、解锁等动做,不易发生锁表。
参考:
http://www.javashuo.com/article/p-fiiafgwu-eo.html
oracle for update和for update nowait的区别 - 全威儒 - 博客园 https://www.cnblogs.com/quanweiru/archive/2012/11/09/2762223.html
【Oracle】-for update 与 rowid - zhaizhai的博客 - CSDN博客 http://blog.csdn.net/zhailihua/article/details/78716347