精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

DB2鎖等待的工作原理與相關問題的描述

數據庫
以下的文章主要向大家講述的是DB2鎖等待的應用原理,以及對DB2數據庫鎖等待在實際操作中出現的相關問題的描述,以下就是文章的主要內容講述。

今天主要向大家講述的是DB2鎖等待,此篇文章主要是通過一個簡單的例子,來對數據庫鎖進行介紹,以及對數據庫的中的鎖等待問題進行詳細分析,鎖,一個讓人覺得安全又不太方便的技術,在數據庫中發揮著他無可替代的作用。

但是,不同的數據庫對其有不同的實現方式。當你習慣一個數據庫的使用方式,去接觸另外一個數據庫時,就會感覺到諸多的不便。每個開始接觸DB2的人,或多或少的都有這樣的感受,數據庫中有那么多類型的鎖,S,IS,NS,X,IX,SIX,NX,U,Z….從名字上看,很多差不多,如果你能都弄懂他的含義.

并且在設計中考慮到,那當然是好的;如果你不是很理解他,沒關系,大多數使用DB2數據庫開發的人都不能完全理解他們,所以,你不用擔心。作為一個DB2數據庫使用比較習慣的人,這里分享下如何處理DB2鎖等待問題,幫助大家解決使用DB2過程中遇到的鎖問題。

下面,使用一個簡單的例子來介紹下如何分析數據庫的中的鎖等待問題。

 

場景,查找數據庫鎖等待的根源:

 

創建一個簡單的表:

 

  1. db2 "create table test_lock (col int, col2 char(10))"  

開3個命令行的窗口

在窗口一執行:

 

  1. db2 +c "insert into test_lock values(1,'aaa')"  

DB20000I SQL命令成功完成。

在窗口二執行:

 

  1. db2 "select * from test_lock"  

我們看到了,很長時間沒有返回,這就是很多人曾經問的一個問題,我執行了一個很簡單的操作,數據庫卡死,不返回,為什么?

我們使用窗口三進行分析:

 

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\

 

這個命令永遠是你看鎖問題最簡單實用的一步,數據庫中到底現在存在不存在鎖等待,一看就知道,如果有較長時間Lock-waiting(英文環境)狀態或者鎖定等待(中文環境)狀態,則數據庫存在鎖定等待的應用,如上所示,窗口2不返回的原因可能是DB2鎖等待引起的,現在,我們用db2pd這個工具,來分析下具體鎖在哪兒,也許,這才是我們最關心的。

 

  1. db2pd -d sample -locks show detail  
  2. Address TranHdl Lockname Type Mode Sts Owner Dur HoldCount Att ReleaseFlg  
  3. 0x7F8911B0 8 03000500040080020000000052 Row .NS W 2 1 0 0x00 0x00000001 TbspaceID 3 TableID 5 PartitionID 0 Page 640 Slot 4  

執行這個命令后,你也許會看到很多的鎖,我為什么會找出這條呢?記住,你分析的入手點一定是正在等待的應用程序,也就是上面所列,狀態(Sts)為W(waiting)的應用,也許在你的環境中你看到了很多,可以逐個分析。

在這一行中,我們可以得到這些有用信息,Transaction handle為8 (TranHdl)的應用正在等待03000500040080020000000052(Lockname)這個鎖,這個鎖正被Transaction handle為2(Owner)的應用占有。請求的鎖類型為行上的NS鎖,請求鎖的行是3號表空間中的5號表上,在表空間的第640頁中的第4個槽位。現在,我們看下誰持有這個鎖。

 

  1. db2pd -d sample -locks show detail |find "03000500040080020000000052"  
  2. 0x7F890AB0 2 03000500040080020000000052 Row ..X G 2 1 0 0x08 0x40000000 TbspaceID 3 TableID 5 PartitionID 0 Page 640 Slot 4  
  3. 0x7F8911B0 8 03000500040080020000000052 Row .NS W 2 1 0 0x00 0x00000001 TbspaceID 3 TableID 5 PartitionID 0 Page 640 Slot 4 

看到如上2行結果,其中一行,是我們剛才看到的正在等待的應用,而另外一個,狀態為G(Granted),Transction handler為2,正是我們要找的,持有鎖沒釋放的根源。如果你看到其他的狀態為W的鎖,是可能的,因為可能很多應用都在等這個鎖,我們要找的是持有鎖的應用,通過上一個命令的分析,是Transction handler為2的應用。

 

到此,我們已經找到了是Transaction handle為2的應用在占用鎖沒有釋放,可以使用下面的命令來查看下,他到底在執行什么。

 

  1. db2pd –d sample –transactions  
  2. Transactions:  
  3. Address AppHandl [nod-index] TranHdl Locks State Tflag Tflag2  
  4. Firstlsn Lastlsn LogSpace SpaceReserved TID AxRegCnt GXID  
  5. 0x7FC21A80 22[000-00022] 2 3 WRITE 0x00000000 0x00000000 0x000002C1D098 0x000002C1D098 110 174 0x00000000185E 1 0  

查找TranHdl為2的應用,我們可以看到這樣的信息,這個應用application handle為22,當前持有3個鎖,狀態為寫。注意,當LogSpace不為0的時候,這個應用一定有未提交的更改操作,這個應用使用日志為110。下面我們查下這個應用在執行什么。

  1. db2pd -d sample -applications  
  2. Address AppHandl [nod-index] NumAgents CoorEDUID Status C-AnchID C-StmtUID L-AnchID L-StmtUID Appid WorkloadID WorkloadOccID  
  3. 0x7AED8080 22[000-00022] 1 4764 UOW-Waiting 0 0 64 1 *LOCAL.DB2.090817071951 1 1  

找application handle為22的應用,然后查找當前語句的句柄標識和上條語句的句柄標識,我們看到,當前這個應用沒有正在執行的語句,執行的上條語句是L-AnchID為64, L-StmtUID為1的語句。我們看下這個語句是什么?

  1. db2pd -d sample –dyn  
  2. Address AnchID StmtUID NumEnv NumVar NumRef NumExe Text  
  3. 0x7EAF4370 64 1 0 0 1 1 insert into test_lock values(1,'aaa')。 

通過動態語句的對應(AnchID StmtUID分別為64和1),我們已經找到了鎖定的根源,正式上面的語句占用了鎖沒有釋放,導致你執行的查詢語句沒有返回,中間,我們也理解的一些db2pd的輸出,并會利用這些信息分析問。

如果你使用的是9.5或以上的版本,還可以利用更簡單的方法知道,這個鎖到底在哪一行上,如上面所分析,請求的鎖在3號表空間中的5號表上,在表空間的第640頁中的第4個槽位。現在我們看下,是鎖了哪個對象的哪行記錄:

 

  1. db2 "select tabname from syscat.tables where tbspaceid = 3 and tableid = 5"  
  2. TABNAME  
  3. TEST_LOCK  

鎖在TEST_LOCK這個表上,具體是在這個表上的哪行記錄呢?根據數據庫ROWID的組成,pages為640和slot為4,如果是large tablespace,則rowid轉換為整數為:640*65536+4,如果是regular tablespace,則rowid轉換為整數為640*256+4,我使用的是large表空間,所以rowid為640*65536+4=41943044。

根據表和rowid可以直接找到這條記錄:

 

  1. db2 "select * from test_lock where rid(test_lock)= 41943044 with ur"  
  2. COL COL2  
  3. 1 aaa  

結果和上面分析的一樣,在TEST_LOCK表上的1’aaa’這行記錄上產生的DB2鎖等待。注意,上面的語句要使用with ur來執行,否則,你也同樣鎖等待了。。。。。

補充一點:

 

很多情況下知道數據庫的applications handle后,需要知道到底是業務的哪個進程連接過來執行的,可以使用下面的方法來查:

 

  1. db2pd -d smaple –agents  
  2. Address AppHandl [nod-index] AgentEDUID Priority Type State ClientPid Userid ClientNm Rowsread Rowswrtn LkTmOt DBName  
  3. 0x7AB97A90 22[000-00022] 4764 0 Coord Inst-Active 5120  
  4. XUXIAOF db2bp.exe 245 48 NotSet SAMPLE  

查找application handle為22的應用,對應的ClientPid為5120,就是你連接到數據庫上執行這個操作的應用的進程,應用程序的名字(ClientNm)為db2bp.exe。

【編輯推薦】

  1. DB2 9.7自治事務的定義與相關事務背景
  2. DB2歸檔日志的管理方案從哪幾點入手?
  3. 對DB2取得當前時間的正確解析
  4. DB2性能調優中存在哪些問題,如何破解?
  5. DB2 數據類型如何才能輕松接觸?
責任編輯:佚名 來源: 萬國數據
相關推薦

2010-08-19 09:54:42

DB2死鎖

2010-08-02 17:30:30

DB2鎖等待

2010-08-06 13:20:00

DB2鎖等待

2010-08-04 13:30:49

2010-08-17 13:47:09

DB2還原

2010-08-10 13:36:00

2010-08-18 09:50:29

DB2緩沖池

2010-08-09 10:00:25

DB2數據移動

2010-07-30 10:24:18

2010-08-13 14:46:08

DB2 -964

2010-08-17 16:24:32

IBM DB2數據庫

2010-11-02 16:31:59

DB2鎖的屬性

2010-07-28 11:13:04

DB2 Resotre

2009-05-19 09:10:26

代理工作代理DB2

2010-08-04 09:45:30

2010-08-06 14:52:13

DB2 9.7武器

2010-08-04 10:44:32

2010-07-28 09:21:25

DB2鎖等待

2010-08-04 17:10:37

DB2數據庫

2010-09-07 09:31:03

DB2數據庫鎖表
點贊
收藏

51CTO技術棧公眾號

国产视频久久久| caoporm超碰国产精品| 按摩亚洲人久久| 精品人妻一区二区乱码| 日本不卡网站| 亚洲婷婷国产精品电影人久久| 日韩在线高清视频| 精品国产aⅴ一区二区三区东京热| 涩涩视频在线观看免费| 免费高清视频精品| 97视频com| 又色又爽的视频| 日韩成人av在线资源| 91福利精品视频| 久久亚洲a v| jizz在线观看视频| 99久久精品国产一区二区三区 | 91精品啪在线观看国产81旧版| 婷婷综合久久一区二区三区| 亚洲国产精品视频一区| www.av网站| 日韩avvvv在线播放| 欧美超级免费视 在线| 国产一区二区三区四区五区六区| 88xx成人永久免费观看| 亚洲自拍偷拍麻豆| 一区二区三区欧美在线| 亚洲人成色777777精品音频| 国产一区二区按摩在线观看| 国产精品高潮粉嫩av| 国产网友自拍视频| 亚洲成人日韩| 日韩中文字幕久久| 亚洲自拍偷拍图| 天天躁日日躁狠狠躁欧美巨大小说| 亚洲午夜一二三区视频| 曰韩不卡视频| 黄色免费在线播放| 99在线精品视频| 成人一区二区三区四区| 国产乱子伦精品无码码专区| 欧美aaa在线| 国产999精品久久久影片官网| 性欧美精品男男| 女优一区二区三区| 日韩精品久久久久| 好吊色视频一区二区三区| 日韩免费高清视频网站| 67194成人在线观看| 黄色一级免费大片| 日韩精品专区| 色婷婷精品大视频在线蜜桃视频| 亚洲精品在线视频观看| 国内精品一区视频| 久久免费电影网| 欧美日韩精品免费看| 日本福利片在线| 91亚洲男人天堂| 久久综合久久久| 可以在线观看的黄色| 久久久精品综合| 日韩中文字幕一区二区| 99视频在线观看地址| 国产精品美女久久福利网站| 一区中文字幕在线观看| 国内精品不卡| 亚洲一区二区av电影| 福利视频一区二区三区四区| heyzo在线| 色系网站成人免费| 蜜臀av免费观看| 4438五月综合| 欧美大片拔萝卜| www国产视频| 九色精品91| 久久精品最新地址| 久久免费播放视频| 国产精品三上| 国产精品视频公开费视频| 亚洲午夜激情视频| 国产成人av在线影院| 国产亚洲精品自在久久| 精品三级久久久久久久电影聊斋| 豆国产96在线|亚洲| 国产精品视频福利| 国产人成在线视频| 亚洲欧洲av另类| 97碰在线视频| 成人国产精品入口免费视频| 欧美人与z0zoxxxx视频| 日韩精品视频一区二区| 久久99免费视频| 久久伊人免费视频| 日韩 欧美 中文| 韩国一区二区三区| 精品一卡二卡三卡四卡日本乱码 | 国产成人自拍网站| 在线免费高清一区二区三区| 国产成人精品电影| 午夜免费福利视频| 26uuu亚洲婷婷狠狠天堂| 中文字幕中文字幕99| 成人三级高清视频在线看| 欧美性极品少妇| 男人添女人荫蒂国产| 欧美久久精品一级c片| 欧美激情在线播放| 国产精品午夜一区二区| 成人黄页在线观看| 中文字幕一区二区三区在线乱码| 成人jjav| 精品女同一区二区三区在线播放| 成人免费视频91| 日韩一级特黄| 亚洲国产精品字幕| 成人小视频在线| 国产精品电影在线观看| 亚洲av综合色区无码一二三区| 先锋亚洲精品| 91久久精品国产91性色| 天堂中文在线视频| 玉足女爽爽91| 日韩中文字幕a| 在线日本制服中文欧美| 欧美激情国产精品| 国产剧情久久久| 国产女人aaa级久久久级| 少妇人妻无码专区视频| 色妞ww精品视频7777| 色噜噜狠狠色综合网图区| 天天干在线播放| 成人国产精品视频| 女女百合国产免费网站| 日韩毛片一区| 亚洲人午夜色婷婷| 久久一区二区三区视频| 成人高清视频在线| 成人在线免费高清视频| 成人一级视频| 亚洲欧洲午夜一线一品| 欧美女人性生活视频| 国产永久免费视频| 99久久国产综合精品女不卡| 水蜜桃在线免费观看| 精品176极品一区| 国产一区二区三区欧美| 青青草成人av| 91色婷婷久久久久合中文| 拔插拔插海外华人免费| 91麻豆精品激情在线观看最新 | 97碰在线观看| www香蕉视频| 亚洲国产精品久久久久秋霞影院| 国产亚洲精品网站| 亚州综合一区| 91av免费观看91av精品在线| 日韩电影网址| 在线一区二区视频| 粉嫩精品久久99综合一区| 强制捆绑调教一区二区| 亚洲精品日韩在线观看| 国产精品亚洲成在人线| 国产一区二区三区在线免费观看| 欧美精品一区二区蜜桃| 国产精品一卡二卡在线观看| 国产亚洲精品久久久久久久| 亚洲国产aⅴ精品一区二区| 久久精品在线视频| 精品人妻一区二区三区麻豆91| 久久亚洲精品小早川怜子| 毛片av免费在线观看| 日韩在线观看| 91精品黄色| 天堂а√在线最新版中文在线| 欧美久久久久中文字幕| 午夜免费激情视频| 99久久精品免费看| 天天干在线影院| 亚洲成人三区| 噜噜噜噜噜久久久久久91| 成人网ww555视频免费看| 少妇精69xxtheporn| 亚洲黄色小说网| 欧美视频在线视频| 成人精品一二三区| 懂色av一区二区三区免费观看| 亚洲欧洲日韩综合二区| 国产成人视屏| 2018日韩中文字幕| 天堂аⅴ在线地址8| 欧美一区二区日韩| 韩国av中文字幕| 一区在线播放视频| 中文字幕一区三区久久女搜查官| 欧美在线免费一级片| 精品一区日韩成人| 欧美黄页在线免费观看| 午夜精品美女自拍福到在线| 成人三级黄色免费网站| 欧美精品视频www在线观看| 日韩精品久久久久久久| 国产精品久久久久一区二区三区共| 看欧美ab黄色大片视频免费| 中文字幕一区二区三区久久网站 | 中文字幕一区2区3区| 一区二区三区四区在线| 在线观看国产精品一区| 国产福利一区在线观看| 91在线视频观看免费| 一区免费在线| 一区二区视频在线免费| 亚洲第一论坛sis| 99影视tv| 伊人久久综合网另类网站| 81精品国产乱码久久久久久| 成人黄色在线电影| 最近2019中文字幕大全第二页| 伊人22222| 婷婷中文字幕综合| 国内偷拍精品视频| 中文字幕中文在线不卡住| 国产精品福利导航| 成人精品电影在线观看| 日韩精品aaa| 麻豆免费看一区二区三区| 玩弄japan白嫩少妇hd| 亚洲国产电影| 精品国产一区二区三区在线| 色综合咪咪久久网| 久久久久久九九| 国产精品对白| 999精品在线观看| 国产999精品在线观看| 国产日韩欧美成人| 国产经典一区| 国产精品99久久久久久人| 手机在线理论片| 午夜精品一区二区三区视频免费看| 久久免费看视频| 日韩av网址在线| 亚洲黄色小说网| 精品日韩在线观看| 丰满少妇在线观看bd| 日韩欧美在线1卡| 国产免费叼嘿网站免费| 欧美一区永久视频免费观看| 一个人看的www日本高清视频| 一个色妞综合视频在线观看| 黄色a级片在线观看| 亚洲欧美日韩中文字幕一区二区三区 | 麻豆传媒在线观看| 中文字幕日韩在线观看| 黄色在线观看网| 亚洲欧美一区二区激情| 青青草视频在线观看| 亚洲精品在线观看www| 三级黄视频在线观看| 亚洲情综合五月天| lutube成人福利在线观看| 日韩小视频网址| 影音先锋男人在线资源| 欧美极品少妇xxxxⅹ免费视频| av资源种子在线观看| 色婷婷综合久久久久| 黄网站免费在线观看| 久久99久国产精品黄毛片入口| 青青色在线视频| 亚洲欧美日韩爽爽影院| 毛片网站在线观看| www.亚洲男人天堂| 欧洲性视频在线播放| 97在线视频精品| 最新欧美电影| 91欧美日韩一区| 九九热播视频在线精品6 | 亚洲网一区二区三区| 国产另类自拍| 国产精品一区二区三区av麻 | 青青草久久爱| 欧美日韩亚洲在线| 999国产精品永久免费视频app| 久久精品一区二区三区不卡免费视频| 一区二区三区| 国产精品区一区二区三在线播放| 欧美大片网站| 国产欧美亚洲日本| 精品黄色一级片| 丁香六月激情网| 日本aⅴ亚洲精品中文乱码| 91免费视频污| 久久色.com| 免费精品在线视频| 午夜视频一区二区| 中国一级特黄视频| 精品国产污污免费网站入口| 四虎电影院在线观看| 久久精品成人欧美大片古装| 97人澡人人添人人爽欧美| 国产精品久久久久久av福利软件| 成人福利av| 1区1区3区4区产品乱码芒果精品| 国产成人77亚洲精品www| 成人免费在线看片| 久久激情电影| 国产精品裸体瑜伽视频| 久久99久久99小草精品免视看| 国产3p在线播放| 91丨九色丨黑人外教| 日本中文字幕免费在线观看| 色偷偷成人一区二区三区91| 国产高清视频免费| 国产亚洲精品久久久久久牛牛| 日韩电影免费| 九九久久国产精品| 日韩毛片一区| 欧美激情视频一区二区三区| 欧美日韩国产在线一区| 国产精品v日韩精品v在线观看| 精品无人区卡一卡二卡三乱码免费卡| 成年网站免费在线观看| 久久新电视剧免费观看| 国产午夜精品一区二区理论影院 | 色噜噜亚洲精品中文字幕| 1区2区在线| 成人动漫视频在线观看完整版| 一本色道69色精品综合久久| 一区二区冒白浆视频| 久久久久在线| aa片在线观看视频在线播放| 一区二区三区四区亚洲| 99久久久国产精品无码网爆 | 91免费欧美精品| 国产乱码精品一区二区亚洲| 黄色av网址在线播放| 国产成人在线免费| 国产va在线播放| 日韩一区二区在线免费观看| 久久99精品久久| 91精品久久久久久久久久久| 欧美另类69xxxxx| 三级a在线观看| 国产免费成人在线视频| 国产女主播喷水视频在线观看| 欧美高清性hdvideosex| 色的视频在线免费看| 国产精品v日韩精品| 亚洲系列另类av| 日韩 欧美 高清| 国产欧美视频一区二区| jizz国产在线| 最近2019免费中文字幕视频三| 国产白丝在线观看| 99中文字幕| 亚洲国产高清视频| 给我看免费高清在线观看| 日韩欧美亚洲成人| 黄视频在线观看免费| 国产精品成人在线| 99热国内精品永久免费观看| √天堂资源在线| 一区二区欧美在线观看| 成人免费一级视频| 欧美孕妇性xx| av亚洲免费| 99精品视频国产| 亚洲.国产.中文慕字在线| 日韩精品123| 国产乱肥老妇国产一区二| 亚洲天堂免费| 精品无码国产一区二区三区51安| 国产精品对白交换视频| 国产片高清在线观看| 欧美激情手机在线视频| 亚洲宅男一区| 亚洲午夜精品一区| 亚洲国产一区视频| 日本啊v在线| 成人福利在线观看| 亚洲大胆av| 国产传媒在线看| 精品日本一线二线三线不卡| 亚洲女同av| 国产av不卡一区二区| 9l国产精品久久久久麻豆| 亚洲一区中文字幕永久在线| 久久精品中文字幕一区| 日韩av影院| 亚洲视频在线不卡| 欧美日韩中文在线| 国产成人l区| 欧美日韩一区二区三区在线视频 | 午夜久久久影院| 九色在线免费| 亚洲影视九九影院在线观看| 国产欧美在线| 黄色片在线观看网站| 一夜七次郎国产精品亚洲| www.国产精品一区| 中文字幕线观看| 色综合久久久久久久久久久|