亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > DB2 > 正文

DB2死鎖的解決過程全記錄

2020-01-31 14:51:57
字體:
來源:轉載
供稿:網友

生產環境里使用的數據庫是DB2。但是最近頻繁出現一個奇怪的死鎖現象:某一個select sql 語句總是會出現死鎖。

按照以往的經驗,通常都是update/delete之類的更新sql語句會出現死鎖的問題。而且這個 select sql 語句是一個很普通的sql,沒有任何大數據量的處理。

分析這個死鎖,有很多難以處理的地方。

1、因為生產環境數據量大,我們無法把生產環境中關聯表的數據導入到測試環境。也就是說,無法模擬數據量。
2、沒有任何log輸出。因為生產環境的log輸出級別是ERROR。
3、無法在生產環境進行測試,因為客戶不允許。
4、生產環境的數據庫無法開啟快照等功能。因為會影響性能。

大家可以想象,在沒有快照等功能下,分析死鎖就只能靠分析代碼了。但是這個處理非常復雜,單憑分析代碼,沒有任何頭緒。
 
階段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:使用畫面操作去模擬
 
然后我們修改了程序,使用畫面去操作,也成功地再現了這個死鎖。
 
解決方案:
 
解決方案很簡單,就是把查詢語句中的條件加為索引,就不會出現死鎖了。
由于這個表數據量不大,所以性能幾乎沒有任何影響。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文字幕成人精品久久不卡| 欧美夫妻性生活视频| 狠狠躁夜夜躁人人爽天天天天97| 国产性猛交xxxx免费看久久| 日韩美女毛茸茸| 久久影视三级福利片| 日韩欧美在线网址| 91av在线不卡| 96sao精品视频在线观看| 国产精品日韩欧美综合| 久久av在线播放| 欧洲亚洲免费在线| 国产精品一区二区av影院萌芽| 欧美激情xxxx| 欧美激情国产精品| 日韩电影中文字幕在线观看| 日韩女优在线播放| 久久天天躁狠狠躁夜夜av| 国产精品免费一区二区三区都可以| 日本高清视频精品| 成人黄色激情网| 色综合五月天导航| 久久躁狠狠躁夜夜爽| 国产精品嫩草影院久久久| 欧美成人在线影院| 国产伦精品免费视频| 久久亚洲精品一区二区| 中文字幕亚洲图片| 欧洲精品在线视频| 久久精品91久久久久久再现| 欧洲美女7788成人免费视频| 国产精品激情av电影在线观看| 九九热精品在线| 中文字幕在线看视频国产欧美在线看完整| 日韩资源在线观看| 在线观看日韩专区| 亚洲激情电影中文字幕| 欧美电影免费观看网站| 国产成人精品综合| 91午夜理伦私人影院| 欧美精品一区在线播放| 亚洲аv电影天堂网| 不卡av电影院| 欧美激情中文字幕在线| 精品久久久久国产| 国产精品第10页| 亚洲高清久久网| 97在线看免费观看视频在线观看| 国产福利视频一区二区| 精品夜色国产国偷在线| 亚洲九九九在线观看| 亚洲一区二区三区乱码aⅴ| 福利微拍一区二区| 成人国产亚洲精品a区天堂华泰| 91精品91久久久久久| 国产精品免费久久久久影院| 日韩人体视频一二区| 亚洲天天在线日亚洲洲精| 国产在线视频欧美| 亚洲精品永久免费| 国产一区玩具在线观看| 久色乳综合思思在线视频| 91精品国产自产在线老师啪| 久久精品国产v日韩v亚洲| 欧美日本亚洲视频| 久久精品国产亚洲一区二区| 韩曰欧美视频免费观看| 色久欧美在线视频观看| 日本精品一区二区三区在线播放视频| 亚洲人成电影网| 日韩一区二区三区国产| 欧美国产日韩免费| 国产精品精品国产| 九九精品视频在线观看| 亚洲第一视频网站| 97激碰免费视频| 美女扒开尿口让男人操亚洲视频网站| 免费不卡在线观看av| 欧美激情高清视频| 国产精品精品国产| 欧美精品少妇videofree| 亚洲精品按摩视频| 性色av一区二区咪爱| 欧美综合在线第二页| 狠狠躁夜夜躁久久躁别揉| 91网站免费看| 欧美成人小视频| 91亚洲永久免费精品| 色老头一区二区三区在线观看| 亚洲国产日韩一区| 欧美一级高清免费| 国产亚洲视频在线| 日韩精品免费在线视频| 一区二区三区视频免费| 国产精品网址在线| 亚洲无线码在线一区观看| 中文在线不卡视频| 日韩av大片免费看| 亚洲精品一二区| 欧美人在线视频| 国产精品av网站| 日韩美女免费线视频| 日韩人在线观看| 色妞色视频一区二区三区四区| 国产精品亚洲一区二区三区| 久久综合免费视频影院| 亚洲精品午夜精品| 亚洲人成电影网站色| 午夜精品在线视频| 亚洲色图狂野欧美| 91精品国产综合久久香蕉最新版| 欧美黑人极品猛少妇色xxxxx| 欧美激情乱人伦一区| 久久国产精品影视| 粉嫩av一区二区三区免费野| 国产精品久久久久久av下载红粉| 国产精品美女www| 91视频国产高清| 亚洲一区av在线播放| 国产成人精品免高潮在线观看| 亚洲女人天堂色在线7777| 97超级碰在线看视频免费在线看| 亚洲视频欧美视频| 精品日韩中文字幕| 亚洲人a成www在线影院| 成人免费福利在线| 亚洲a区在线视频| 亚洲黄色在线观看| 国产精品久久久久久久久久ktv| 亚洲欧美一区二区三区在线| 亚洲美女在线看| 亚洲精品网站在线播放gif| 国产精品极品美女在线观看免费| 91高潮精品免费porn| 亚洲精品第一国产综合精品| 欧美一区二区影院| 欧美精品电影在线| 亚洲一级一级97网| 狠狠躁天天躁日日躁欧美| 欧美精品在线看| 国产成人精品一区二区三区| 成人a在线观看| 欧美老女人在线视频| 国产精品扒开腿爽爽爽视频| 亚洲一区二区国产| 国产精品尤物福利片在线观看| 日韩高清a**址| 51视频国产精品一区二区| 九九精品视频在线观看| 色先锋资源久久综合5566| 国产九九精品视频| 国产精品久久久久久久久粉嫩av| 69久久夜色精品国产7777| 日韩一区二区三区xxxx| 成人国内精品久久久久一区| 国产欧美最新羞羞视频在线观看| 亚洲国产另类久久精品| 麻豆成人在线看| 成人国内精品久久久久一区| 久久精品国产电影| 欧美第一黄色网| 久久精品久久久久久国产 免费| 欧美特黄级在线| 日本午夜人人精品|