db2查殺死鎖

guyuanli發表於2012-09-14

C:>db2 get snapshot for locks on js

資料庫鎖定快照 JS是資料名稱

資料庫名稱 = JS
資料庫路徑 = D:DB2NODE0000SQL00001
輸入資料庫別名 = JS
掛起的鎖定 = 5
當前已連線的應用程式 = 1
當前正等待鎖定的代理程式數 = 0
快照時間戳記 = 2007-09-04 12:54:33.121513

[@more@]

應用程式控制程式碼 = 10
應用程式標識 = *LOCAL.DB2.070904045330
序號 = 00001
應用程式名 = db2taskd
CONNECT 授權標識 = ADMINISTRATOR
應用程式狀態 = 連線已完成
狀態更改時間 = 未收集
應用程式內碼表 = 1208
掛起的鎖定 = 0
總計等待時間(毫秒) = 未收集


應用程式控制程式碼 = 9
應用程式標識 = *LOCAL.DB2.070904045329
序號 = 00001
應用程式名 = db2stmm
CONNECT 授權標識 = ADMINISTRATOR
應用程式狀態 = 連線已完成
狀態更改時間 = 未收集
應用程式內碼表 = 1208
掛起的鎖定 = 0
總計等待時間(毫秒) = 未收集


應用程式控制程式碼 = 8
應用程式標識 = *LOCAL.DB2.070904045327
序號 = 00011
應用程式名 = javaw.exe
CONNECT 授權標識 = ADMINISTRATOR
應用程式狀態 = UOW 正在等待
狀態更改時間 = 未收集
應用程式內碼表 = 1208
掛起的鎖定 = 5
總計等待時間(毫秒) = 未收集

鎖定列表
鎖定名稱 = 0x020010000D0080080000000052
鎖定屬性 = 0x00000000
發行版標誌 = 0x40000000
鎖定計數 = 1
掛起計數 = 0
鎖定物件名 = 142606349
物件型別 = 行
表空間名 = USERSPACE1
表模式 = JS
表名 = US_CATALOG
方式 = X

鎖定名稱 = 0x02001000090080080000000052
鎖定屬性 = 0x00000000
發行版標誌 = 0x40000000
鎖定計數 = 1
掛起計數 = 0
鎖定物件名 = 142606345
物件型別 = 行
表空間名 = USERSPACE1
表模式 = JS
表名 = US_CATALOG
方式 = X

鎖定名稱 = 0x01000000010000000100EA0056
鎖定屬性 = 0x00000000
發行版標誌 = 0x40000000
鎖定計數 = 1
掛起計數 = 0
鎖定物件名 = 0
物件型別 = 內部變化鎖定
方式 = S

鎖定名稱 = 0x5359535348323030DDECEF2841
鎖定屬性 = 0x00000000
發行版標誌 = 0x40000000
鎖定計數 = 1
掛起計數 = 0
鎖定物件名 = 0
物件型別 = 內部方案鎖定
方式 = S

鎖定名稱 = 0x02001000000000000000000054
鎖定屬性 = 0x00000000
發行版標誌 = 0x40000000
鎖定計數 = 2
掛起計數 = 0
鎖定物件名 = 16
物件型別 = 表
表空間名 = USERSPACE1
表模式 = JS
表名 = US_CATALOG
方式 = IX

C:>db2 list applications

授權標識程式 應用程式名 應用程式控制程式碼 應用程式標識 資料庫名稱 代理序號
------------ -------------- -------------- ------------------------ ------------- ----------
ADMINIST db2taskd 10 *LOCAL.DB2.070904045330 JS 1
ADMINIST db2stmm 9 *LOCAL.DB2.070904045329 JS 1
ADMINIST javaw.exe 8 *LOCAL.DB2.070904045327 JS 1


在snapshot的第四段顯示應用程式控制程式碼為8的應用有鎖存在,在其相應的鎖定列表中顯示鎖定的表是US_CATALOG。
如果您確定是US_CATALOG表上發生了死鎖,可以透過命令db2 "force application(8)"來殺掉該應用在資料庫上
的連線。注意如果force命令導致該應用的事務回滾得話,force命令不能馬上斷開應用在資料庫上的連線,而是
要等到回滾完成後才能斷開該應用的資料庫連線。

C:>db2 list applications show detail
//list applications for database cmsbj3 show detail


如果DB2在Window上,則可以使用“控制中心”->例項->右鍵“應用程式”,可以看到當前的鎖定情況,並且可以強行關閉某個程式,也可以顯示“鎖定鏈”。

注意:可以殺掉所有應用程式:

db2 force applications all

1.DB2表鎖定怎麼解鎖

2.DB2中怎麼知道表的鎖定情況:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7490392/viewspace-1059422/,如需轉載,請註明出處,否則將追究法律責任。

相關文章