oracleデッドロック解決

1561 ワード

最近正式なシステムは多くの奇妙な問題に直面して、タイマーは突然走っていないで、業務の流れは走っていません.人を崩壊させ、今日やっと原因を見つけた.データベースにはデッドロックがたくさんある.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#';

 
転載先:https://www.cnblogs.com/anningkang/p/11592435.html