使用表查詢監控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
- SQL SERVER死鎖查詢,死鎖分析,解鎖,查詢佔用SQLServer
- mysql鎖表查詢MySql
- mysql慢查詢,死鎖解決方案MySql
- 系統監控&JVM監控指標資料查詢JVM指標
- SQL Server 資料庫查詢死鎖的處理步驟SQLServer資料庫
- 鎖的使用與死鎖的避免
- 在 SQL Server 中查詢活動連線和死鎖SQLServer
- 記一次 .NET 某裝置監控系統 死鎖分析
- sql 開發篇一 之 表鎖查詢及解鎖SQL
- oracle 查詢鎖 && 解鎖Oracle
- Oracle查詢鎖、解鎖Oracle
- INSERT...SELECT語句對查詢的表加鎖嗎
- Oracle死鎖一例(ORA-00060),鎖表導致的業務死鎖問題Oracle
- TiDB 查詢優化及調優系列(三)慢查詢診斷監控及排查TiDB優化
- 殺會話之查詢鎖表的物件及相關操作會話物件
- 查詢表空間使用情況
- 表空間使用量查詢
- PostgreSQL之鎖監控指令碼SQL指令碼
- 作業系統(5) 死鎖的概念 死鎖產生的必要條件 死鎖的處理策略 預防死鎖 避免死鎖 死鎖的檢測和解除 銀行家演算法作業系統演算法
- 基於 ELKB 構建 Kylin 查詢時間監控頁面
- MySQL 5.6大查詢和大事務監控指令碼(Python 2)MySql指令碼Python
- Oracle vs PostgreSQL,研發注意事項(1)-查詢鎖表OracleSQL
- 查詢表空間使用情況的指令碼指令碼
- 報表查詢條件的 N 種使用方式
- MySQL/InnoDB中,樂觀鎖、悲觀鎖、共享鎖、排它鎖、行鎖、表鎖、死鎖概念的理解MySql
- oracle表空間使用率查詢Oracle
- 單表查詢
- 監控索引的使用(轉)索引
- 查詢a表中b表沒有的資料,使用not exists
- 死鎖
- upptime:使用GitHub Actions監控你的網站健康監控Github網站
- Mysql建表、索引、函式、查詢使用中的坑!!!MySql索引函式
- SAP RETAIL分配表的查詢報表AI
- 面試:什麼是死鎖,如何避免或解決死鎖;MySQL中的死鎖現象,MySQL死鎖如何解決面試MySql
- 使用Admin監控
- db2 鎖分析 DB2_CAPTURE_LOCKTIMEOUT使用DB2APT
- 表膨脹的查詢方法
- DB2字符集,查詢中文錯誤DB2