Posted on 2009-08-06 19:25
Prayer 閱讀(4609)
評論(0) 編輯 收藏 引用 所屬分類:
DB2
C:\>db2 get snapshot for locks on js
數據庫鎖定快照
數據庫名稱 = JS
數據庫路徑 = D:\DB2\NODE0000\SQL00001\
輸入數據庫別名 = JS
掛起的鎖定 = 5
當前已連接的應用程序 = 1
當前正等待鎖定的代理程序數 = 0
快照時間戳記 = 2007-09-04 12:54:33.121513
應用程序句柄 = 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上,則可以使用“控制中心”->實例->右鍵“應用程序”,可以看到當前的鎖定情況,并且可以強行關閉某個進程,也可以顯示“鎖定鏈”。
1.DB2表鎖定怎么解鎖
http://www.chinaunix.net/jh/22/20020.html
2.DB2中怎么知道表的鎖定情況:
http://www.chinaunix.net/jh/22/16766.html