我知道如何解决问题,但我不知道如何找到问题的原因/来源(f.e. which statement)。在哪里(表,工具,命令)。
我可以在db2diag.log的摘录中看到一些内容吗?
2015-06-24-09.23.29.190320+120 ExxxxxxxxxE530 LEVEL: Error
PID : 15972 TID : 1 PROC : db2agent (XXX) 0
INSTANCE: db2inst2 NODE : 000 DB : XXX
APPHDL : 0-4078 APPID: xxxxxxxx.xxxx.xxxxxxxxxxxx
AUTHID : XXX
FUNCTION: DB2 UDB, data protection services, sqlpgResSpace, probe:2860
MESSAGE : ADM1823E The active log is full and is held by application handle
"3308". Terminate this application by COMMIT, ROLLBACK or FORCE
APPLICATION.
答案 0 :(得分:5)
db2diag.log
显示导致问题的应用程序的代理ID(应用程序句柄)(3308
)。
如果您实时看到这一点(而不是事后查看db2diag.log
),您可以:
db2top
查看有关此连接的信息sysibmadm.snapstmt
(查看stmt_text
和agent_id
)db2pd -activestatements
和db2pd -dynamic
(键入AnchID
和StmtUID
get snapshot for application
还有许多第三方工具也可以为您提供所需的信息。