<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    淺談數據庫死鎖

        最近碰到了一個死鎖的問題,查了一天才查出為什么會發生,查的過程中對死鎖也有點簡單的認識,下面談談我對死鎖的理解。
        1、死鎖是如何產生的呢?
        如果事務T1封鎖了數據R1,T2封鎖了數據R2,然后T1又請求封鎖R2,因為T2已經封鎖了R2,于是T1只能等待T2釋放R2上的鎖。接著T2又請求封鎖R1,因T1已經封鎖了R1,T2也只能等待T1釋放R2上的鎖。這樣就出現了T1在等待T2,而T2又在等待T1的局面,T1和T2兩個事務永遠不能結束,形成死鎖。如下圖所示:

        2、如何預防和處理死鎖?
        目前在數據庫中解決死鎖問題主要有兩類方法,一類是采取一定的措施來預防死鎖,另一類是允許發生死鎖,采用一定的手段定期診斷系統中有無死鎖,有則解除之。
        防止死鎖其實就是要破壞產生死鎖的條件,預防死鎖通常有兩種方法:
        (1)一次封鎖法
        一次封鎖法要求每個事務必須一次將所有要使用的數據加上鎖,否則就不能執行。雖然這樣能有效防止死鎖,但也存在問題。第一,對全部數據加鎖,擴大了封鎖的范圍,從而降低了系統的并發度。第二,數據庫中的數據是不斷變化的,原來不要封鎖的數據,在執行的過程中可能成為封鎖的對象,所以很難事先精確確定每個事務要封鎖的數據對象,為此只能擴大封鎖范圍,進一步降低了并發度。
        (2)順序封鎖發
        順序封鎖法是預先對數據排定一個封鎖順序,所有的事務都按照這個順序實行封鎖。這樣也能有效防止死鎖,但也存在問題。第一,數據庫系統中封鎖的數據對象極多,并且隨著數據的變化,要維護這樣的封鎖順序是很困難的,成本很高。第二,事務的封鎖請求可能隨著事務的執行而動態的決定,很難事先要確定封鎖哪一個對象。
        基于以上的分析,在目前我們采用的預防死鎖的策略不是很適合數據庫的特點,因此在解決死鎖的問題上采用的是診斷并解除死鎖的方法。
        3、死鎖的診斷
        診斷死鎖一般是采用超時法或事務等待圖法。超時法是一個事務等待的時間超過規定的時限,就認為發生了死鎖,但這樣有個明顯的缺點是容易產生誤判。等待圖法是一個有向圖 G=(T,U)。T為節點的集合,每個節點表示正在運行的事務;U為邊的集合,每條邊表示等待的情況,若T1等待T2,則T1到T2間劃一條有向邊,如果發現有回路,則表示發生了死鎖。

        更多數據庫死鎖的解決可以參見文章:http://tech.ccidnet.com/zt/sisuo/

       


    posted on 2008-05-13 18:36 云淡風清 閱讀(860) 評論(0)  編輯  收藏 所屬分類: DB


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    <2008年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統計

    常用鏈接

    留言簿(1)

    隨筆分類(15)

    隨筆檔案(15)

    收藏夾(1)

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 无码日韩精品一区二区免费暖暖| 狠狠入ady亚洲精品| 人妻无码一区二区三区免费| 亚洲人成网77777色在线播放| 国产精品九九久久免费视频| 亚洲一区无码精品色| 亚洲免费日韩无码系列| 中文字幕亚洲一区| 麻豆精品不卡国产免费看| 久久亚洲精品中文字幕无码| 少妇太爽了在线观看免费视频| 亚洲天堂男人天堂| 美女视频黄的全免费视频网站| 亚洲成a人片在线观看播放| 成人黄色免费网址| 亚洲日韩乱码中文字幕| 免费在线观看一级毛片| 成人自慰女黄网站免费大全| 亚洲av无码国产精品夜色午夜| 一级毛片免费播放| 亚洲 欧洲 日韩 综合在线| 在线观看免费国产视频| 国产亚洲精品免费视频播放| 中文字幕亚洲免费无线观看日本| 国产情侣激情在线视频免费看| 亚洲成AV人片在WWW| 国产亚洲情侣一区二区无码AV| 日本免费久久久久久久网站| 亚洲成人网在线播放| 日韩精品亚洲专区在线观看| 四虎国产精品免费永久在线| 亚洲精品视频免费在线观看| 日本一道本高清免费| 中文字幕免费在线看电影大全| 亚洲欧洲精品久久| www亚洲一级视频com| 十九岁在线观看免费完整版电影| 亚洲AV无码一区二区三区电影 | 久草视频免费在线观看| 亚洲国产成人久久精品软件| 亚洲国产一二三精品无码|