最近正式系统遇到了许多莫名奇妙的问题,定时器突然不跑了,业务流程跑不通。搞得人很崩溃,今天终于找到了原因,数据库中有好多条死锁。大概有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#';