新聞中心
我們今天主要描述的是對(duì)DB2鎖等待的分析,以下就是正文的介紹。以下就是對(duì)DB2鎖等待的分析的相關(guān)內(nèi)容的具體介紹,希望你在瀏覽完此篇文章之后會(huì)有會(huì)所了解。提及鎖,一個(gè)讓人覺得安全又不太方便的技術(shù),在數(shù)據(jù)庫中發(fā)揮著他無可替代的作用。

成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比相城網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式相城網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋相城地區(qū)。費(fèi)用合理售后完善,10余年實(shí)體公司更值得信賴。
但是,不同的數(shù)據(jù)庫對(duì)其有不同的實(shí)現(xiàn)方式。當(dāng)你習(xí)慣一個(gè)數(shù)據(jù)庫的使用方式,去接觸另外一個(gè)數(shù)據(jù)庫時(shí),就會(huì)感覺到諸多的不便。
鎖,一個(gè)讓人覺得安全又不太方便的技術(shù),在數(shù)據(jù)庫中發(fā)揮著他無可替代的作用,但是,不同的數(shù)據(jù)庫對(duì)其有不同的實(shí)現(xiàn)方式。當(dāng)你習(xí)慣一個(gè)數(shù)據(jù)庫的使用方式,去接觸另外一個(gè)數(shù)據(jù)庫時(shí),就會(huì)感覺到諸多的不便。
每個(gè)開始接觸DB2的人,或多或少的都有這樣的感受,數(shù)據(jù)庫中有那么多類型的鎖,S,IS,NS,X,IX,SIX,NX,U,Z….從名字上看,很多差不多,如果你能都弄懂他的含義,并且在設(shè)計(jì)中考慮到,那當(dāng)然是好的。
如果你不是很理解他,沒關(guān)系,大多數(shù)使用DB2數(shù)據(jù)庫開發(fā)的人都不能完全理解他們,所以,你不用擔(dān)心。作為一個(gè)DB2數(shù)據(jù)庫使用比較習(xí)慣的人,這里分享下如何處理DB2鎖等待問題,幫助大家解決使用DB2過程中遇到的鎖問題。
下面,使用一個(gè)簡(jiǎn)單的例子來介紹下如何分析數(shù)據(jù)庫的中的DB2鎖等待問題。
場(chǎng)景,查找數(shù)據(jù)庫鎖等待的根源:
創(chuàng)建一個(gè)簡(jiǎn)單的表:
- db2 "create table test_lock (col int, col2 char(10))"
開3個(gè)命令行的窗口
在窗口一執(zhí)行:
- db2 +c "insert into test_lock values(1,'aaa')"
DB20000I SQL命令成功完成。
在窗口二執(zhí)行:
db2 "select * from test_lock"
我們看到了,很長(zhǎng)時(shí)間沒有返回,這就是很多人曾經(jīng)問的一個(gè)問題,我執(zhí)行了一個(gè)很簡(jiǎn)單的操作,數(shù)據(jù)庫卡死,不返回,為什么?
我們使用窗口三進(jìn)行分析:
db2 list applications show detail
XUXIAOF db2bp.exe 22 *LOCAL.DB2.090817071951 00012 1 0 4764 UOW 正在等待 2009-08-18 10:52:08.685167 IBM-L3F6 SAMPLE C:\DB2\NODE0000\SQL00001\
XUXIAOF db2bp.exe 68 *LOCAL.DB2.090817075736 00003 1 0 4464 鎖定等待 2009-08-18 10:53:24.329893 IBM-L3F6 SAMPLE C:\DB2\NODE0000\SQL00001\
這個(gè)命令永遠(yuǎn)是你看鎖問題最簡(jiǎn)單實(shí)用的一步,數(shù)據(jù)庫中到底現(xiàn)在存在不存在鎖等待,一看就知道,如果有較長(zhǎng)時(shí)間Lock-waiting(英文環(huán)境)狀態(tài)或者鎖定等待(中文環(huán)境)狀態(tài),則數(shù)據(jù)庫存在鎖定等待的應(yīng)用,如上所示,窗口2不返回的原因可能是DB2鎖等待引起的,現(xiàn)在,我們用db2pd這個(gè)工具,來分析下具體鎖在哪兒,也許,這才是我們最關(guān)心的。
db2pd -d sample -locks show detail
- Address TranHdl Lockname Type Mode Sts Owner Dur HoldCount Att ReleaseFlg
- 0x7F8911B0 8 03000500040080020000000052 Row .NS W 2 1 0 0x00 0x00000001 TbspaceID 3 TableID 5 PartitionID 0 Page 640 Slot 4
執(zhí)行這個(gè)命令后,你也許會(huì)看到很多的鎖,我為什么會(huì)找出這條呢?記住,你分析的入手點(diǎn)一定是正在等待的應(yīng)用程序,也就是上面所列,狀態(tài)(Sts)為W(waiting)的應(yīng)用,也許在你的環(huán)境中你看到了很多,可以逐個(gè)分析。
當(dāng)前題目:對(duì)DB2鎖等待的正確闡述
當(dāng)前路徑:http://www.dlmjj.cn/article/dhiispg.html


咨詢
建站咨詢
