zoukankan      html  css  js  c++  java
  • 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 
    
  • 相关阅读:
    加法的位运算实现
    C++装饰器模式
    字符串类型的相互转换
    手算CRC及其实现
    Linux下搭建C/C++编程环境
    Deepin Linux 实体机安装
    Atom + Texlive 配置 Latex 环境
    有关字符串的算法(KMP,Manacher,BM)陆续补充
    Linux 下大文件分割与合并
    Ubuntu /目录满,发现是docker image 太多解决办法
  • 原文地址:https://www.cnblogs.com/DBA-Ivan/p/7929884.html
Copyright © 2011-2022 走看看