zoukankan      html  css  js  c++  java
  • 实例讲解如安在DB2 UDB中正确的监控弃世锁2

     

    若何监控弃世锁

    为了详尽申明事情监控器在弃世锁监控中的用途,我引入了一个简单的弃世锁场景来触发一个弃世锁,在随后的章节,我会申报读者若何答理监控结果以及凭证结果来克制弃世锁的爆发。

    这里我们需要至少三个使用法式来调用DB2 CLI,一个用来监控弃世锁的爆发,其它两个用来孕育爆发弃世锁。我们可以运用DB2 UDB 安装时附带的SAMPLE数据库。

    1. 首先创立一个弃世锁事情监控器

    Session Monitor
    db2 connect to sampledb2 "create event monitor
    dlmon for tables, deadlocks with details write
     to file 'C:\dlmon'"mkdir C:\dlmondb2 "
    set event monitor dlmon state 1"
     
     
     
     
    2. 用其它两个使用法式来孕育爆发一个弃世锁

    Session A
    db2 connect to sampledb2  c "insert into employee values('000350', 'Truman', 'I', 'Jiang',
    'B00', '5892','1999-02-21', 'Engineer', 19, 'M',
    '1978-06-17', 60000, 2000, 6000)"

    目前使用法式A就拥有了一个EMPLOYEE表的行级另外排他锁

    (注: c 代表不自动提交SQL语句,DB2 中 autocommit 是缺省设置,也可以经由进程 db2 update command options using c off 封锁该缺省选项。)

    Session B
    db2 connect to sampledb2  c "insert into project
    values('AD3300', 'Dead Lock Monitor', 'B00', '000350',
     7.00, '1982-07-21', '1983-02-03', 'AD3111')"
    目前使用法式B就拥有了一个PROJECT表的行级另外排他锁

    Session A
    db2  c "select projname from project"

    使用法式A需要PROJECT表上全部行的共享锁,但是由于PROJECT表正在被使用法式B以排他锁的体例独有,这时分使用法式1就进入一个锁期待的形态。

    Session B
    db2  c "select firstnme from employee"
    使用法式B也进入一个锁期待的形态。此时就出现了一个弃世锁形态。

    3. 两个自身处于锁期待并且占有资源的使用法式互相期待其它一方所持有的资源,这时分Session A和Session B就出现了弃世锁形态,这种形态不休会继承直到弃世锁反省器(凌驾DLCHKTIME工夫以后)反省出一个弃世锁并且回滚此中的一个事务。
    Session B
    SQLN0991N 由于弃世锁可能超时,以后事务已经被回滚。缘由码为 "2". SQLSTATE=40001这时分弃世锁事情监控器就会记实这个弃世锁,同时使用法式A可以完成他的任务。

    Session A
    PROJNAME----------……20 条记实已选择
    Session A
    db2 connect reset
    Session B
    db2 connect reset

    4. 经由进程 db2evmon 器材可以获得弃世锁信息的日记,并且把日记文件导入到本地凝滞的文件琐屑傍边。在上面一节,我们将详尽答理导出的日记文件。

    Session Monitordb2 connect resetdb2evmon
    -path c:\dlmon > c:\dlmon\dllog1.txt
     
     
    来自: 新客网(www.xker.com) 详文参考:http://www.xker.com/page/e2008/0128/46637_2.html


    版权声明: 原创作品,承诺转载,转载时请务必以超链接体例标明文章 原始情由 、作者信息和本声明。否则将深究轨则责任。

  • 相关阅读:
    [Linux] crontab和shell每天定时备份数据库
    [Go] 实战项目在线客服GO-FLY -在gin框架使用IP识别库转换IP为城市
    [javascript] elementui和vue下复制粘贴上传图片
    [Go] GO-FLY客服项目被公众号 "转角遇到GitHub " 推荐
    [javascript] cdn模式下vue和vue-router实现路由
    [Go] Golang发送http GET请求
    [MySQL] 利用explain查看sql语句中使用的哪个索引
    [Go]GO语言实战-小程序或公众号接口gin框架验证微信服务器消息签名-开源WEB客服
    [Go]GO语言实战-开源WEB客服GO-FLY-gorm下分页的实现
    [前端] 设定为disabled的表单域值不能被提交
  • 原文地址:https://www.cnblogs.com/zgqjymx/p/1975419.html
Copyright © 2011-2022 走看看