select * from zk_jjxx where dw_dm='253454322112'
for update ;
-----------------------------------
select *from v$locked_object; -- 被锁对象 产生锁的会话sid
select * from all_objects where object_id = &object_id; -- 查看被锁表的详细信息 被锁的对象的object_id及产生锁的会话sid
select sid, serial# from v$session where sid = &sid; ---130 8955 产生锁的会话sid
alter system kill session '130,8955'; --'sid,serial#'; 清除锁
--oracle:
--LOCK TABLE 表 IN EXCLUSIVE MODE ;
--加锁后其它人不可操作,直到加锁用户解锁,用commit或rollback解锁
锁的概述 一. 为什么要引入锁 多个用户同时对数据库的并发操作时会带来以下数据不一致的问题: 丢失更新 A,B两个用户读同一数据并进行修改,都返回修改成功,但其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统 脏读 A用户修改了数据,随后B用户又读出该数据,但A用户因为某些原因取消了对数据的修改,数据恢复原值,此时B得到的数据就与数据库内的数据产生了不一致 不可重复读 A用户读取数据,随后B用户读出该数据并修改,此时A用户再读取数据时发现前后两次的值不一致 并发控制的主要方法是封锁,锁就是在一段时间内禁止用户做某些操作以避免产生数据不一致
更多关于读一致问题请访问:http://www.blogjava.net/hitlang/archive/2009/04/13/265256.html