使用表查詢監控DB2的死鎖
db2 connect to xxxxxx
db2 "create event monitor dlmon for tables,statements,deadlocks with details write to table"
db2 "set event monitor dlmon state 1"
db2 "select evmonname, event_mon_state(evmonname) as enabled from syscat.eventmonitors"
####Executions applications
db2 "set event monitor dlmon state 0"
####獲取監控的時間範圍內發生的死鎖情況
SELECT AGENT_ID,APPL_ID,APPL_ID_HOLDING_LK,CURSOR_NAME,DEADLOCK_ID,TABLE_SCHEMA,TABLE_NAME,CAST(STMT_TEXT AS VARCHAR(4000)) STMT_TEXT FROM DB2INST1.DLCONN_DLMON WHERE START_TIME > CURRENT_TIMESTAMP - X HOURS ORDER BY DEADLOCK_ID WITH UR;
####用下面的SQL獲取全部相關應用的SQL資訊
SELECT DISTINCT AGENT_ID,APPL_ID,CURSOR_NAME,CAST(STMT_TEXT AS VARCHAR(4000)) STMT_TEXT FROM DB2INST1.STMT_DLMON WHERE
AGENT_ID IN (39890,39874) AND APPL_ID IN ('9.109.122.174.46936.160329112130','9.109.122.174.46934.160329112129')
AND CURSOR_NAME IN ('SQL_CURSN300C45','SQL_CURSN300C25')
ORDER BY AGENT_ID WITH UR;
在開發環境和測試環境使用這種方法快速找到死鎖的SQL,進行SQL效能最佳化,或者聯絡開發人員對SQL的執行順序做調整。
在生產環境下,不要寫到表中,寫到檔案中。
db2 "create event monitor dlmon for tables,statements,deadlocks with details write to table"
db2 "set event monitor dlmon state 1"
db2 "select evmonname, event_mon_state(evmonname) as enabled from syscat.eventmonitors"
####Executions applications
db2 "set event monitor dlmon state 0"
####獲取監控的時間範圍內發生的死鎖情況
SELECT AGENT_ID,APPL_ID,APPL_ID_HOLDING_LK,CURSOR_NAME,DEADLOCK_ID,TABLE_SCHEMA,TABLE_NAME,CAST(STMT_TEXT AS VARCHAR(4000)) STMT_TEXT FROM DB2INST1.DLCONN_DLMON WHERE START_TIME > CURRENT_TIMESTAMP - X HOURS ORDER BY DEADLOCK_ID WITH UR;
####用下面的SQL獲取全部相關應用的SQL資訊
SELECT DISTINCT AGENT_ID,APPL_ID,CURSOR_NAME,CAST(STMT_TEXT AS VARCHAR(4000)) STMT_TEXT FROM DB2INST1.STMT_DLMON WHERE
AGENT_ID IN (39890,39874) AND APPL_ID IN ('9.109.122.174.46936.160329112130','9.109.122.174.46934.160329112129')
AND CURSOR_NAME IN ('SQL_CURSN300C45','SQL_CURSN300C25')
ORDER BY AGENT_ID WITH UR;
在開發環境和測試環境使用這種方法快速找到死鎖的SQL,進行SQL效能最佳化,或者聯絡開發人員對SQL的執行順序做調整。
在生產環境下,不要寫到表中,寫到檔案中。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/725820/viewspace-2072055/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- db2死鎖監視器的使用(好用)DB2
- DB2 鎖的監控DB2
- db2查殺死鎖DB2
- 表死鎖查詢及處理辦法
- 查詢並解除oracle的死鎖Oracle
- oracle 死鎖查詢處理Oracle
- 從trc查詢死鎖的問題
- 查詢鎖表 - 誰鎖住了我的表
- Oracle死鎖查詢及處理Oracle
- 索引監控-查詢從未被使用過的索引索引
- [zt] Sql Server死鎖的查詢和解除SQLServer
- mysql鎖表查詢MySql
- mysql慢查詢,死鎖解決方案MySql
- 查詢鎖表記錄
- MySql 鎖表 查詢 命令MySql
- 鎖表的相關資訊查詢
- 【原創】查詢原始MySQL死鎖ID薦MySql
- DB2監控DB2
- sybase空間監控和死鎖檢測語句
- 系統監控&JVM監控指標資料查詢JVM指標
- 誰在死鎖Mutex——用Windbg查詢Mutex死鎖所有者執行緒Mutex執行緒
- MySQL 5.7 查詢InnoDB鎖表MySql
- DB2資料庫物化檢視:MQT物化查詢表的使用DB2資料庫MQQT
- 在 SQL Server 中查詢活動連線和死鎖SQLServer
- Oracle-監控使用者鎖Oracle
- 監控oracle效能的一些常用查詢Oracle
- 查詢處理死鎖會話的sql語句(轉貼)會話SQL
- SQL Server 資料庫查詢死鎖的處理步驟SQLServer資料庫
- DB2 Event Monitor使用與查詢DB2
- ORACLE SQL的查詢表的鎖的情況OracleSQL
- 監控長時間執行的查詢(監控資料庫效能的SQL ) -- 轉資料庫SQL
- oracle殺死鎖表的程式Oracle
- 如何透過sid查詢造成死鎖的sql語句,並殺死會話SQL會話
- 如何通過sid查詢造成死鎖的sql語句,並殺死會話SQL會話
- DB2 死鎖無沒有反應DB2
- db2 常見監控DB2
- ORACLE 鎖表的解決方法及查詢引起鎖表SQL語句[轉]OracleSQL
- ORACLE 鎖表的解決方法及查詢引起鎖表SQL語句方法OracleSQL