DB2 鎖問題的監控和解決


 

常見的鎖問題包括:

鎖等待

鎖超時

鎖升級

死鎖

而根據問題的特性通常分為兩種:

實時事件:問題正在發生

歷史事件:問題已經過去

如果實時事件,DBA 可以通過查看表信息、GET SNAPSHOT 或者 db2pd/db2top 查看數據庫當前的鎖狀況;這畢竟少數,往往鎖問題都是歷史事件,應用通過查看日志才發現存在鎖問題,這種情況下,需要數據庫本身對鎖事件進行監控,如果發生收集相關的信息,方便DBA去分析。

 
數據庫版本 實時事件監控工具 歷史事件監控工具
V9 之前的版本 表函數 SNAP_GET_LOCKWAIT/GET SNAPSHOT FOR LOCKS db2cos
V9.1 新增管理視圖 SYSIBMADM. SNAPLOCKWAIT db2cos
V9.5   db2cos
V9.7   事件監控/db2cos
     

 

 

 

 

 

 

通過事件監控抓取鎖信息

配置方法

1. 創建事件監控(create event monitor)

1.1 創建bufferpool

1.2 創建臨時表空間

1.3 創建事件監控

 

2. 配置數據庫相關參數

事件監控類型 相關數據庫參數
鎖等待事件監控 MON_LOCKWAIT,MON_LW_THRESH                                                                                                                                       
鎖超時事件監控 MON_LOCKTIMEOUT,LOCKTIMEOUT
死鎖事件監控 MON_DEADLOCK,DLCHKTIME

 

數據庫參數 參數詳解
MON_LOCKWAIT 設置鎖事件監控對鎖信息收集的詳細程度,值包括:NONE,WITHOUT_HIST, WITH_HIST,HIST_AND_VALUES;
MON_LOCKTIMEOUT 同MON_LOCKWAIT, 同時參數LOCKTIMEOUT
MON_DEADLOCK 同MON_LOCKWAIT
MON_LW_THRESH 設置鎖等待發生的時間閥值,超過該值將會觸發鎖等待事件監控,單位微妙

 

參數配置命令:

db2 update db cfg using MON_LOCKTIMEOUT HIST_AND_VALUES 
 MON_DEADLOCK HIST_AND_VALUES MON_LOCKWAIT HIST_AND_VALUES 
 MON_LW_THRESH 5000000 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM