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 
    
  • 相关阅读:
    vs2012远程调试功能的改进
    【转】SpringBoot处理url中的参数的注解
    通过Maven导出war包时报错:Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war (default-war) on project
    【转载】JAVA生成随机数工具类RandomStringUtils详解
    linux centos7 搭建开发环境
    【转载】idea 使用Tomcat 部署war 和 war exploded的区别
    SSM整合文件
    mybatis 数据库properties
    win10 在服务中找不到mysql的解决办法
    idea 创建springmvc项目
  • 原文地址:https://www.cnblogs.com/DBA-Ivan/p/7929884.html
Copyright © 2011-2022 走看看