扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
oracle数据库分行级锁和表级锁。用select * from table-name for update完成行级锁。用delete或update完成表级锁。你锁定的资源 别人会等待你的提交语句或回退语句完成以后再继续进行。
沁水网站建设公司成都创新互联公司,沁水网站设计制作,有大型网站制作公司丰富经验。已为沁水上1000+提供企业网站建设服务。企业网站搭建\外贸网站建设要多少钱,请找那个售后服务好的沁水做网站的公司定做!
查询锁表:SELECT l.session_id sid,
s.serial#,
l.locked_mode,
l.oracle_username,
l.os_user_name,
s.machine,
s.terminal,
o.object_name,
s.logon_time FROM v$locked_object l,
all_objects o,
v$session s WHERE l.object_id = o.object_id ANd l.session_id = s.sid ORDER BY sid,
s.serial#;
解锁:ALTER system KILL session 'sid,serial#';
查询锁住原因:SELECT b.sid oracleID,b.username 登录Oracle用户名,b.serial#,spid 操作系统ID,paddr,
sql_text 正在执行的SQL,b.machine 计算机名 FROM v$process a, v$session b, v$sqlarea c
WHERE a.addr = b.paddr AND b.sql_hash_value = c.hash_value and b.USERNAME='FKPHIS24';
通过查询系统表,获取被锁进程号,然后kill锁住的进程,这个需要管理员权限才可以操作。
一般先查询并找到被锁定的表,解锁代码如下:
--释放SESSION SQL:
--alter system kill session 'sid, serial#';
ALTER system kill session '23, 1647';
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流