oracle死锁解决

一世执手 提交于 2019-11-30 13:21:52

最近正式系统遇到了许多莫名奇妙的问题,定时器突然不跑了,业务流程跑不通。搞得人很崩溃,今天终于找到了原因,数据库中有好多条死锁。大概有100多条。(鬼知道发生了什么)然后赶紧杀了下。下面是sql,记录一下。(需要dba权限)

-----查询锁表进程
 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;

------查看锁表语句
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 = 'SMS'
----杀锁
alter system kill session 'sid,serial#';

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!