先定位一下是哪個程式控制代碼導致的死鎖。方法一、檢視db2diag.log檔案找到DeadLock or Lock timeout 死鎖或鎖超時資訊db2 force application(控制代碼ID)直接結束程序即可。方法二、DB2快照資訊1、看一下DB2快照資訊db2 get snapshot for locks on sample可以得到類似資訊:資料庫鎖定快照資料庫名稱 = SAMPLE資料庫路徑 = D:\IBM\DB2\NODE0000\SQL00001\輸入資料庫別名 = SAMPLE掛起的鎖定 = 8當前已連線的應用程式 = 2當前正等待鎖定的代理程式數 = 1應用程式控制代碼 = 54應用程式標識 = *LOCAL.DB2.140304192925序號 = 00001應用程式名 = db2bp.exe CONNECT授權標識 = DB2ADMIN應用程式狀態 = 鎖定等待應用程式內碼表 = 1208掛起的鎖定 = 4總計等待時間(毫秒) = 247867鎖定列表鎖定名稱 = 0x5359534C564C3031DDECEF2841鎖定屬性 = 0x00000000發行版標誌 = 0x40000000鎖定計數 = 1掛起計數 = 0鎖定物件名 = 2312物件型別 = 行表空間名 = IBMDB2SAMPLEREL表模式 = DB2ADMIN表名 = TEST方式 = IX檢視鎖定的詳細資訊:db2 get snapshot for locks for application agentid 1728----(1728是控制代碼ID)3、觀察命令db2 list applications的輸出檢視應用程式的狀態是否有鎖定等待(Lock-wait)狀態出現。執行命令 list applications for db sample show detail;4、db2 force application(控制代碼ID)直接結束程序即可。
先定位一下是哪個程式控制代碼導致的死鎖。方法一、檢視db2diag.log檔案找到DeadLock or Lock timeout 死鎖或鎖超時資訊db2 force application(控制代碼ID)直接結束程序即可。方法二、DB2快照資訊1、看一下DB2快照資訊db2 get snapshot for locks on sample可以得到類似資訊:資料庫鎖定快照資料庫名稱 = SAMPLE資料庫路徑 = D:\IBM\DB2\NODE0000\SQL00001\輸入資料庫別名 = SAMPLE掛起的鎖定 = 8當前已連線的應用程式 = 2當前正等待鎖定的代理程式數 = 1應用程式控制代碼 = 54應用程式標識 = *LOCAL.DB2.140304192925序號 = 00001應用程式名 = db2bp.exe CONNECT授權標識 = DB2ADMIN應用程式狀態 = 鎖定等待應用程式內碼表 = 1208掛起的鎖定 = 4總計等待時間(毫秒) = 247867鎖定列表鎖定名稱 = 0x5359534C564C3031DDECEF2841鎖定屬性 = 0x00000000發行版標誌 = 0x40000000鎖定計數 = 1掛起計數 = 0鎖定物件名 = 2312物件型別 = 行表空間名 = IBMDB2SAMPLEREL表模式 = DB2ADMIN表名 = TEST方式 = IX檢視鎖定的詳細資訊:db2 get snapshot for locks for application agentid 1728----(1728是控制代碼ID)3、觀察命令db2 list applications的輸出檢視應用程式的狀態是否有鎖定等待(Lock-wait)狀態出現。執行命令 list applications for db sample show detail;4、db2 force application(控制代碼ID)直接結束程序即可。