- 论坛徽章:
- 0
|
本帖最后由 3sane 于 2010-08-24 15:48 编辑
我用db2pdcfg -catch locktimeout测试没有问题,能看到db2cos文件和内容,但是换成db2pdcfg -catch 911,68就没有反应了,实在不解。
db2level:
DB21085I Instance "db2inst1" uses "32" bits and DB2 code release "SQL09013"
with level identifier "01040107".
Informational tokens are "DB2 v9.1.0.3", "s070719", "MI00202", and Fix Pack
"3".
db2pdcfg -cos:
db2cos is enabled for engine traps.
PD Bitmap: 0x1800
Sleep Time: 3
Timeout: 30
db2pdcfg -catch status:
Error Catch #1
Sqlcode: 911
ReasonCode: 68
ZRC: 0
ECF: 0
Component ID: 0
LockName: Not Set
LockType: Not Set
Current Count: 0
Max Count: 255
Bitmap: 0x661
Action: Error code catch flag enabled
Action: Execute sqllib/db2cos callout script
Action: Produce stack trace in db2diag.log
和用db2pdcfg -catch locktimeout,还是有区别。
配置好,db2diag.log也显示:
2010-08-24-15.10.35.605971+000 I51857G287 LEVEL: Event
PID : 31897 TID : 3086191456 PROC : db2pdcfg
INSTANCE: db2inst1 NODE : 000
FUNCTION: DB2 UDB, RAS/PD component, pdErrorCatch, probe:30
START : Error catch set for sqlCode 911 reasonCode 68
使用同样的测试方法,如设置locktimeout,访问被锁的记录:
db2 "select * from t1"
SQL0911N The current transaction has been rolled back because of a deadlock
or timeout. Reason code "68". SQLSTATE=40001
日志db2diag.log没有任何提示,当然db2dump目录里也没有内容,同样的测试环境,用locktimeout则没有问题,而且使用如204等等简单的测试也是无效,还往指点一番。 |
|