【发布时间】:2018-08-09 05:08:17
【问题描述】:
我正在关注此链接并尝试模拟死锁问题:
http://www.dba-db2.com/2012/06/how-to-monitor-a-deadlock-in-db2.html
我可以看到我的命令运行成功了。
然后我通过DbVisualiser工具模拟死锁错误。但是我没有看到任何文件被生成到路径中。
有人能指出错误吗?
而且,我尝试回读那些旧的 0000000.evt 文件,它显示如下内容:
EVENT LOG HEADER
Event Monitor name: DB2DETAILDEADLOCK
Server Product ID: SQL10059
Version of event monitor data: 12
Byte order: BIG ENDIAN
Number of nodes in db2 instance: 1
Codepage of database: 1208
Territory code of database: 1
Server instance name: db2inst1
--------------------------------------------------------------------------
--------------------------------------------------------------------------
Database Name: MYDB
Database Path: /db2home/db2inst1/NODE0000/SQL00003/MEMBER0000/
First connection timestamp: 01/29/2018 10:00:17.694784
Event Monitor Start time: 01/29/2018 10:00:18.951331
--------------------------------------------------------------------------
--------------------------------------------------------------------------
Database Name: MYDB
Database Path: /db2home/db2inst1/NODE0000/SQL00003/MEMBER0000/
First connection timestamp: 01/29/2018 10:12:54.382936
Event Monitor Start time: 01/29/2018 10:12:54.697223
--------------------------------------------------------------------------
这意味着没有死锁?
【问题讨论】:
-
是的,这意味着没有死锁。如果有死锁并且当时事件监视器处于活动状态,那么您应该在 db2evmon 输出中看到“死锁事件”节。您还可以使用监控功能来确认是否发生了死锁(但不是它是如何发生的)。以下查询报告自数据库激活以来的累积值:
SELECT deadlocks, lock_timeouts FROM TABLE (MON_GET_DATABASE(-2));