用户锁,数据库的锁有的时候是比较耗费资源的,特别是发生锁等待的时候,我们必须找到发生等待的锁,有可能的话,杀掉该进程。
这个语句将查找到数据库中所有的DML语句产生的锁,还可以发现,任何DML语句其实产生了两个锁,一个是表锁,一个是行锁。
第一:通过如下语句获取锁定表的sid,serial#
SELECT /*+ rule */ s.username,
decode(l.type,'TM','TABLE LOCK',
'TX','ROW LOCK',
NULL) LOCK_LEVEL,
o.owner,o.object_name,o.object_type,
s.sid,s.serial#,s.terminal,s.machine,s.program,s.osuser
FROM v$session s,v$lock l,dba_objects o
WHERE l.sid = s.sid
AND l.id1 = o.object_id(+)
AND s.username is NOT NULL

第二:在sqlplus下可以通过语句alter system kill session ‘sid,serial#’来杀掉会话

SQL> alter system kill session ‘127,31478’ immediate;

更多相关文章

  1. 求SQL语句,有没有周末上班的高手,给帮个忙吧!
  2. 求一条sql语句:计算两列的差值,以及各个差值占差值总和的比例
  3. 我应该如何选择一列与另一列相关的语句?
  4. 条件复杂的sql语句查询
  5. Sql Server系列:Insert语句
  6. SQL Server中存储过程比直接运行SQL语句慢的原因
  7. Mysql order by语句未使用索引的思考
  8. SQL语句练习(1)
  9. 存款日均额计算的SQL语句如何书写

随机推荐

  1. 详解Android JS相互调用
  2. Android(安卓)遍历文件夹,搜索指定扩展名
  3. Android 版权介绍
  4. Android中Handler的使用
  5. Android View相关文章精选
  6. Android各版本对照及版本差异 (版本一)
  7. USB开发------android AOA开发
  8. [笔记]2012年移动大趋势(上)
  9. Android加载Gif和ImageView的通用解决方
  10. android之switch控件的用法