伊人99re_av日韩成人_91高潮精品免费porn_色狠狠色婷婷丁香五月_免费看的av_91亚色网站

中培偉業(yè)IT資訊頻道
您現(xiàn)在的位置:首頁(yè) > IT資訊 > 數(shù)據(jù)庫(kù) > 如何解決DB2數(shù)據(jù)庫(kù)死鎖問(wèn)題的?

如何解決DB2數(shù)據(jù)庫(kù)死鎖問(wèn)題的?

2020-07-22 15:09:16 | 來(lái)源:中培企業(yè)IT培訓(xùn)網(wǎng)

在眾多數(shù)據(jù)庫(kù)當(dāng)中,DB2數(shù)據(jù)庫(kù)是大家很少見(jiàn)到的,因此很多關(guān)于DB2數(shù)據(jù)庫(kù)的問(wèn)題,大家都不清楚。就好比如何解決DB2數(shù)據(jù)庫(kù)死鎖問(wèn)題的?下面我們將通過(guò)解決DB2數(shù)據(jù)庫(kù)死鎖過(guò)程記錄來(lái)為大家詳細(xì)介紹解決這個(gè)問(wèn)題的方法。具體包括8個(gè)階段,相信通過(guò)這8個(gè)階段的學(xué)習(xí),您就知道如何解決這個(gè)問(wèn)題了。

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

  階段1:我們懷疑是數(shù)據(jù)量的原因

由于生產(chǎn)環(huán)境的數(shù)據(jù)量特別大,這個(gè)處理還有很多其他表的處理。所以我們懷疑是不是大數(shù)據(jù)量導(dǎo)致系統(tǒng)負(fù)荷過(guò)高,導(dǎo)致了死鎖?

于是我們?nèi)〉昧税l(fā)生死鎖時(shí)CPU,硬盤(pán),網(wǎng)絡(luò)等等負(fù)載信息。沒(méi)有找到任何線(xiàn)索。

  階段2:做一個(gè)測(cè)試程序,在測(cè)試環(huán)境中用多線(xiàn)程模擬多用戶(hù)去做這個(gè)處理。

為了能夠在開(kāi)發(fā)環(huán)境再現(xiàn)出這個(gè)死鎖,我們做了一個(gè)多線(xiàn)程的測(cè)試程序,模擬多用戶(hù)運(yùn)行。可惜,還是沒(méi)有再現(xiàn)出來(lái)。

  階段3:分析測(cè)試環(huán)境數(shù)據(jù)庫(kù)和產(chǎn)品環(huán)境數(shù)據(jù)庫(kù)的差異

此時(shí)我們懷疑還是數(shù)據(jù)量導(dǎo)致的問(wèn)題。于是我們盡可能的將開(kāi)發(fā)環(huán)境的數(shù)據(jù)弄得和產(chǎn)品環(huán)境一樣多。之后在運(yùn)行測(cè)試,還是沒(méi)有再現(xiàn)出來(lái)。

  階段4:分析用戶(hù)的操作log

沒(méi)有任何辦法的情況下,我們只好分析用戶(hù)的操作log,希望從中找到一點(diǎn)線(xiàn)索。功夫不負(fù)有心人,我們發(fā)現(xiàn),當(dāng)兩個(gè)人同時(shí);

進(jìn)行這個(gè)操作的時(shí)候,基本都會(huì)發(fā)生死鎖。所以,我們判斷還是兩個(gè)人同時(shí)操作導(dǎo)致的問(wèn)題。但是,為什么開(kāi)發(fā)環(huán)境上模擬了。

很多人的操作,卻沒(méi)有發(fā)生死鎖呢?

  階段5:發(fā)現(xiàn)數(shù)據(jù)庫(kù)設(shè)置的問(wèn)題

我們又修改了測(cè)試程序,將模擬的用戶(hù)數(shù)量提高,但是很不幸,仍然沒(méi)有再現(xiàn)這個(gè)問(wèn)題。此時(shí)我們注意到了:是不是開(kāi)發(fā)環(huán)境的;

數(shù)據(jù)庫(kù)設(shè)置和產(chǎn)品環(huán)境的數(shù)據(jù)庫(kù)設(shè)置不同?我們對(duì)比了一下兩個(gè)數(shù)據(jù)庫(kù)的設(shè)置:發(fā)現(xiàn)好多參數(shù)不同。但是我們僅僅關(guān)注了和鎖有關(guān)的設(shè)置,也就是包含 LOCK關(guān)鍵字的設(shè)置。

  階段6:將測(cè)試環(huán)境數(shù)據(jù)庫(kù)和產(chǎn)品環(huán)境數(shù)據(jù)庫(kù)的設(shè)置保持一致

我們將所有和lock有關(guān)的設(shè)置都改成了和產(chǎn)品環(huán)境一直。但是仍然沒(méi)有再現(xiàn)這個(gè)死鎖。終于,一個(gè)人發(fā)現(xiàn),"cur_commit"這個(gè)設(shè)置不同。于是查詢(xún)文檔,發(fā)現(xiàn)了 cur_commit的特點(diǎn)。

當(dāng)cur_commit = false的時(shí)候,下列情況會(huì)造成死鎖:

線(xiàn)程1插入數(shù)據(jù)A,然后線(xiàn)程2插入數(shù)據(jù)B。

  在線(xiàn)程2還沒(méi)有提交事物之前,線(xiàn)程1查詢(xún)數(shù)據(jù)A,就會(huì)造成死鎖了。

開(kāi)發(fā)環(huán)境中,cur_commit = true,所以我們一直也模擬不出來(lái)這個(gè)現(xiàn)象。

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

  階段7:使用測(cè)試程序去模擬

我們修改了測(cè)試程序,模擬上面兩個(gè)線(xiàn)程的操作,成功地再現(xiàn)了這個(gè)死鎖。錯(cuò)誤的log信息和產(chǎn)品環(huán)境上也是一致的。

  階段8:使用畫(huà)面操作去模擬

然后我們修改了程序,使用畫(huà)面去操作,也成功地再現(xiàn)了這個(gè)死鎖。

  解決方案:

解決方案很簡(jiǎn)單,就是把查詢(xún)語(yǔ)句中的條件加為索引,就不會(huì)出現(xiàn)死鎖了。由于這個(gè)表數(shù)據(jù)量不大,所以性能幾乎沒(méi)有任何影響。

以上就是關(guān)于如何解決DB2數(shù)據(jù)庫(kù)死鎖問(wèn)題的全部?jī)?nèi)容,想了解更多關(guān)于DB2數(shù)據(jù)庫(kù)的信息,請(qǐng)繼續(xù)關(guān)注中培偉業(yè)。

標(biāo)簽: DB2 數(shù)據(jù)庫(kù)
近期開(kāi)班
主站蜘蛛池模板: 国产高潮好爽受不了了夜夜做 | 色欲人妻综合aaaaa网 | 成人欧美一区二区三区黑人动态图 | 午夜刺激爽爽视频免费观看 | 日本午夜精品理论片 | 波多野结衣中文AV无码专区 | 国产A级毛片色咪味 | 99视频在线观看视频 | 国产肥熟女视频一区二区三区 | 成年在线播放小视频 | 日本午夜在线亚洲.国产 | 免费看p | 亚洲成人1区2区 | 一级高清黄色片 | 五月丁香六月激情综合在线视频 | 69av导航| 国产精品大陆在线观看 | 国产一区二区精品久 | 最新版天堂中文在线官网 | 亚洲我射av | 最近中文字幕在线mv视频在线 | 玖玖精品| 国产成人久久精品流白浆黑豹 | 伊人久久大香线蕉aⅴ色 | 欧美高清二区 | 久久亚洲精中文字幕西条琉璃 | 69福利| 无码永久免费AV网站 | 国产精品玖玖玖 | 亚洲激情国产精品 | 3p国产| 免费看欧美黑人毛片 | caoporn国产| 国精产品999永久中国有限 | 婷婷激情综合色五月久久竹菊影视 | 国产亚洲综合专区在线在线观看 | 色av吧 | 午夜av一区| 亚洲成国产人片在线观看 | 欧美日韩视频观看 | 99久99|