Free性欧美Hd另类_精品亚洲欧美视频在线观看_freesex欧美喷水_字幕av在线_久久久久久国产免费_伊人5566

中培偉業IT資訊頻道
您現在的位置:首頁 > IT資訊 > 數據庫 > 如何解決DB2數據庫死鎖問題的?

如何解決DB2數據庫死鎖問題的?

2020-07-22 15:09:16 | 來源:中培企業IT培訓網

在眾多數據庫當中,DB2數據庫是大家很少見到的,因此很多關于DB2數據庫的問題,大家都不清楚。就好比如何解決DB2數據庫死鎖問題的?下面我們將通過解決DB2數據庫死鎖過程記錄來為大家詳細介紹解決這個問題的方法。具體包括8個階段,相信通過這8個階段的學習,您就知道如何解決這個問題了。

大家可以想象,在沒有快照等功能下,分析死鎖就只能靠分析代碼了。但是這個處理非常復雜,單憑分析代碼,沒有任何頭緒。

  階段1:我們懷疑是數據量的原因

由于生產環境的數據量特別大,這個處理還有很多其他表的處理。所以我們懷疑是不是大數據量導致系統負荷過高,導致了死鎖?

于是我們取得了發生死鎖時CPU,硬盤,網絡等等負載信息。沒有找到任何線索。

  階段2:做一個測試程序,在測試環境中用多線程模擬多用戶去做這個處理。

為了能夠在開發環境再現出這個死鎖,我們做了一個多線程的測試程序,模擬多用戶運行。可惜,還是沒有再現出來。

  階段3:分析測試環境數據庫和產品環境數據庫的差異

此時我們懷疑還是數據量導致的問題。于是我們盡可能的將開發環境的數據弄得和產品環境一樣多。之后在運行測試,還是沒有再現出來。

  階段4:分析用戶的操作log

沒有任何辦法的情況下,我們只好分析用戶的操作log,希望從中找到一點線索。功夫不負有心人,我們發現,當兩個人同時;

進行這個操作的時候,基本都會發生死鎖。所以,我們判斷還是兩個人同時操作導致的問題。但是,為什么開發環境上模擬了。

很多人的操作,卻沒有發生死鎖呢?

  階段5:發現數據庫設置的問題

我們又修改了測試程序,將模擬的用戶數量提高,但是很不幸,仍然沒有再現這個問題。此時我們注意到了:是不是開發環境的;

數據庫設置和產品環境的數據庫設置不同?我們對比了一下兩個數據庫的設置:發現好多參數不同。但是我們僅僅關注了和鎖有關的設置,也就是包含 LOCK關鍵字的設置。

  階段6:將測試環境數據庫和產品環境數據庫的設置保持一致

我們將所有和lock有關的設置都改成了和產品環境一直。但是仍然沒有再現這個死鎖。終于,一個人發現,"cur_commit"這個設置不同。于是查詢文檔,發現了 cur_commit的特點。

當cur_commit = false的時候,下列情況會造成死鎖:

線程1插入數據A,然后線程2插入數據B。

  在線程2還沒有提交事物之前,線程1查詢數據A,就會造成死鎖了。

開發環境中,cur_commit = true,所以我們一直也模擬不出來這個現象。

于是,我們把cur_commit也改成了 false。

  階段7:使用測試程序去模擬

我們修改了測試程序,模擬上面兩個線程的操作,成功地再現了這個死鎖。錯誤的log信息和產品環境上也是一致的。

  階段8:使用畫面操作去模擬

然后我們修改了程序,使用畫面去操作,也成功地再現了這個死鎖。

  解決方案:

解決方案很簡單,就是把查詢語句中的條件加為索引,就不會出現死鎖了。由于這個表數據量不大,所以性能幾乎沒有任何影響。

以上就是關于如何解決DB2數據庫死鎖問題的全部內容,想了解更多關于DB2數據庫的信息,請繼續關注中培偉業。

標簽: DB2 數據庫
主站蜘蛛池模板: 黄色一级视 | 国产成人性色生活片 | 亚洲精品影片 | 久久精品看 | 97色视| AV无码专区亚洲AV极速版 | 欧美精品福利在线 | 羞羞答答xxdd.tv| 99精品偷自拍 | 成人影片免费观看 | 日韩精品久久理论片 | 亚洲色无码综合图区手机 | 精品一区二区久久久久 | 情侣偷拍久久 | 国产亚洲精品一区二区在线观看 | 免费视频专区一国产盗摄 | 亚洲一区二区精彩视频 | 国产伦久视频免费观看视频 | 国产高清乱理伦片中文 | 亚洲欧美v国产一区二区 | 国产欧美久久久久 | 成人性生交片无码免费看 | 日韩在线成年视频人网站观看 | 亚洲精品沙发午睡系列 | 国产精品一级大片 | 91久久精品国产一区二区三区 | 久久精品15 | 欧美亚一区 | 美女mm131爽爽爽作爱视频 | 日日夜夜操天天干 | 国产1级视频 | 999国产精品视频免费 | 日本欧美一区二区三区在线观看 | 欧美视频裸体精品 | 日一区二区三区 | 伊人视频在线观看 | 四虎影视1515www | 嫩草视频91| 中文字幕无码免费久久91 | 国产精品偷伦视频免费还看的 | 色综合伊人色综合网站中国 |