查看是否锁表

--查看锁表语句数据库

select sess.sid,     sess.serial#,     lo.oracle_username,     lo.os_user_name,     ao.object_name,     lo.locked_mode     from v$locked_object lo,     dba_objects ao,     v$session sess where ao.object_id = lo.object_id and lo.session_id = sess.sid;session

--查看被锁sessionoracle

select * from v$session t1, v$locked_object t2 where t1.sid = t2.SESSION_ID;spa

 

办法一:开发

--若有記錄則表示有lock,記錄下SID和serial# ,將記錄的ID替換下面的738,1429,便可解除LOCKit

alter system kill session '4457,38428';io

办法二:class

oracle_11g才适用的方法object

alter session set ddl_lock_timeout = 600;  select

or

alter system set ddl_lock_timeout = 600;  

这种方法是设置系统或会话的锁定时间。这个办法实际上也不是治本的方法,可是能够减小人工操做罢了,要想治本仍是要求咱们的开发人员和数据库使用人员在操做数据库的时候记得要commit。

相关文章
相关标签/搜索