デッドロックを解決するには、Oracle

最近、正式なシステムは、多くの不可解な質問は、ビジネスプロセスを実行するためにどこにも、実行されません突然タイマーが発生しました。人々は非常に崩壊作られた、今日は最終的に作品の多くは、データベースのデッドロックであり、その理由を発見しました。100以上のは、おそらくあります。(悪魔は何が起こったのかを知っている)、その後、すぐに次の殺します。ここではSQLがあり、それを記録します。(DBA権限が必要)

----- クエリテーブルロック処理
  SELECT sess.sid、
        sess.serial#、
        lo.oracle_username、
        lo.os_user_name、
        ao.object_name、
        lo.locked_mode 
   から五$ LOCKED_OBJECT LOは、セッションSESのAO、五$ DBA_OBJECTS
   WHERE AOを。 = OBJECT_ID lo.object_id 
    とlo.session_id = sess.sid;

 ------ ビューLOCK TABLE文
SELECTはなOracleID、b.sid 
       b.username Oracleユーザーのログイン名、
       b.serial#、
       SPIDオペレーティングシステムのID、
       PADDRを、
       SQLが実行されてSQL_TEXT、
       b.machineコンピュータ名
  五$プロセスA、V $のFROMセッションB、五$ SQLAREAのC
 WHERE a.addr = b.paddr
   AND b.sql_hash_value = c.hash_value 
  -とb.usernameは = ' SMS ' 
---- 杀锁
ALTER SYSTEMのkillセッション' sidの、シリアル#' ;

 

おすすめ

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