oracle 锁表语句 oracle for update会触发锁表吗?
oracle for update会触发锁表吗?
当使用select语句查询表时,后面跟着for update ,
当修改表中数据,但是没有commit就关掉PL/SQL,下次再打开,执行带for update的sql语句,就会卡死
oracle数据库锁表怎么解决?
首先你要知道表锁住了是不是正常锁?因为任何DML语句都会对表加锁。你要先查一下是那个会话那个sql锁住了表,有可能这是正常业务需求,不建议随便KILLsession,如果这个锁表是正常业务你把sessionkill掉了会影响业务的。建议先查原因再做决定。(1)锁表查询的代码有以下的形式:selectcount(*)fromv$locked_objectselect*fromv$locked_object(2)查看哪个表被锁selectb.owner,b.object_name,a.session_id,a.locked_modefromv$locked_objecta,dba_objectsbwhereb.object_id=a.object_id(3)查看是哪个session引起的selectb.username,b.sid,b.serial#,logon_timefromv$locked_objecta,v$sessionbwherea.session_id=b.sidorderbyb.logon_time(4)查看是哪个sql引起的selectb.username,b.sid,b.serial#,c.*fromv$locked_objecta,v$sessionb,v$sqlcwherea.session_id=b.sidandb.SQL_ID=c.sql_idandc.sql_id=""orderbyb.logon_time(5)杀掉对应进程执行命令:altersystemkillsession"1025,41"其中1025为sid,41为serial#.
oracle 锁表语句 解锁oracle被锁住的表 查看锁表sql
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。