无法在 aix 中创建事件监视器 db2detaildeadlock
Posted
技术标签:
【中文标题】无法在 aix 中创建事件监视器 db2detaildeadlock【英文标题】:fail to create event monitor db2detaildeadlock in aix 【发布时间】:2018-08-09 01:40:02 【问题描述】:基于此链接,http://www-01.ibm.com/support/docview.wss?uid=swg21193054 我正在尝试在我的 db2 数据库中创建事件监视器 db2detaildeadlock。
我正在运行以下命令:
db2 create event monitor db2detaildeadlock for deadlocks with details write to file 'db2detaildeadlock' maxfiles 20 maxfilesize 512 buffersize 17 blocked append autostart
但是打
DB21034E The command was processed as an SQL statement because it was not a
valid Command Line Processor command. During SQL processing it returned:
SQL0104N An unexpected token "DB2DETAILDEADLOCK" was found following "etails
write to file". Expected tokens may include: "CHAR_STRING_LITERAL".
我在 AIX 服务器上运行我的 db2 数据库,此命令是否有任何其他语法更改?
My database server : DB2/AIX64 10.5.9
有什么方法可以检查我的事件监视器db2detaildeadlock
是激活还是停用?因为遇到死锁后我看不到任何死锁日志。
【问题讨论】:
尝试使用不同的名称 - 有一个具有相同名称的默认监视器。当您创建显示器时,请摆脱旧显示器,避免使用两台具有相同任务的显示器。就我个人而言,我建议不要写入文件而是写入表,这大大简化了分析部分。 如果我成功运行这个命令,那么死锁日志会记录到db2detaildeadlock文件吗?还是那些 0000001.evt 文件? 如果您使用的是 10.5 版,则不应使用 v9 和 v8 的信息(您可以在 SWG21193054 中看到)。有关最新语法,请参阅正确版本的知识中心。如果您还没有删除预先提供的 db2detaildeadlock 监视器,那么为什么还要尝试创建它呢?为了确保激活事件监视器,然后使用db2 set event monitor db2detaildeadlock state=1
显式激活它(命令行操作示例)。这要么成功,要么报警告 SQL1615W(已激活)。
看起来你的引号正在被shell解释;尝试`db2“为死锁创建事件监视器evmon_dl,并将详细信息写入文件'db2detaildeadlock' maxfiles 20 maxfilesize 512 buffersize 17 blocked append autostart”
【参考方案1】:
此 SQL 将显示事件监视器的状态
SELECT SUBSTR(EVMONNAME,1,40) AS EVMON_NAME
, TARGET_TYPE
, SUBSTR(OWNER,1,8) AS OWNER
, CASE EVENT_MON_STATE(EVMONNAME)
WHEN 0 THEN '0 Inactive'
WHEN 1 THEN '1 Active'
END AS STATE
FROM SYSCAT.EVENTMONITORS
【讨论】:
以上是关于无法在 aix 中创建事件监视器 db2detaildeadlock的主要内容,如果未能解决你的问题,请参考以下文章