升级AIX 5.2补丁包后32位DB2实例碰到SQL1224N错误

王朝mssql·作者佚名  2006-11-23
宽屏版  字体: |||超大  

环境 产品:DB2 UDB

平台:AIX 5.2 和5.3

版本:V7.1, V7.2, V8.1, V8.2

问题 安装完包含APAR IY62223 (5.2) 或 IY62462 (5.3)的补丁包后,启用了EXTSHM的32位DB2实例在进行数据库操作时,会碰到SQL1224N错误,导致DB2实例异常中止,不能继续操作。

解答 该问题是由于APAR IY62223或IY62462更改了AIX对于扩展内存使用的行为导致的。带有文件集bos.up/mp/mp64 5.2.0.50 的AIX 5.2 或者带有文件集bos.up/mp/mp64 5.3.0.10 的 AIX 5.3 容易出现该问题。这个问题影响到所有启用了EXTSHM的32位DB2实例,不会影响到64位DB2实例。

在db2diag.log中会看到类似信息:

2004-11-30-14.08.05.290383 Instance:db2i81 Node:000

PID:753818(db2pclnr 0) TID:1 Appid:none

oper system services sqloDispatchNBlocks Probe:30

Unexpected system error 0xE has occurred.

This has been mapped to ZRC 0x8300000E.

PID:753818 TID:1 Node:000 Title: SYSTEM ERROR DESCRIPTION

Bad address

2004-11-30-14.08.05.382395 Instance:db2i81 Node:000

PID:753818(db2pclnr 0) TID:1 Appid:none

buffer pool services sqlbClnrDispatchSomeAIO Probe:100

writeStatus =

0x2FF21840 : 0x0000000000000001 ........

2004-11-30-14.08.05.453307 Instance:db2i81 Node:000

PID:753818(db2pclnr 0) TID:1 Appid:none

buffer pool services sqlbClnrDispatchSomeAIO Probe:110

Dispatch Error - IOReq to be written:

0x2003E068 : 0000 0002 0000 0006 0000 0000 0000 0000 ................

0x2003E078 : 4086 B000 FFFF FFFF 0000 000E 0000 1000 @...............

0x2003E088 : 0000 0000 0000 0000 0000 0000 0000 0000 ................

0x2003E098 : 0000 0000 2003 E070 0000 0000 0000 0000 .... ..p........

0x2003E0A8 : 0000 0000 0000 0000 F053 31E4 4035 AA08 .........S1.@5..

0x2003E0B8 : 2003 E040 0000 0000 0000 0000 0100 0000 ..@............

0x2003E0C8 : FFFF FFFF 0000 0018 FFFF FFFF 0000 0000 ................

2004-11-30-14.08.05.794267 Instance:db2i81 Node:000

PID:753818(db2pclnr 0) TID:1 Appid:none

buffer pool services sqlbClnrDispatchSomeAIO Probe:120

Dispatch Error - gatheredPage to be written:

0x2003E040 : 4084 C190 0000 0000 0000 0B50 0000 0000 @..........P....

0x2003E050 : 0000 0000 0000 0002 0000 0000 0000 0000 ................

0x2003E060 : 0000 0001 0000 0000 0000 0002 0000 0006 ................

0x2003E070 : 0000 0000 0000 0000 4086 B000 FFFF FFFF ........@.......

0x2003E080 : 0000 000E 0000 1000 0000 0000 0000 0000 ................

0x2003E090 : 0000 0000 0000 0000 0000 0000 2003 E070 ............ ..p

0x2003E0A0 : 0000 0000 0000 0000 0000 0000 0000 0000 ................

0x2003E0B0 : F053 31E4 4035 AA08 2003 E040 0000 0000 .S1.@5.. ..@....

0x2003E0C0 : 0000 0000 0100 0000 FFFF FFFF 0000 0018 ................

0x2003E0D0 : FFFF FFFF 0000 0000 0000 0000 0000 0000 ................

0x2003E0E0 : 2003 A520 0000 0000 0000 0000 0000 0003 .. ............

0x2003E0F0 : 0000 0000 0000 0000 ........

我们强烈建议碰到这个问题的客户安装HIPER APAR IY66127(AIX 5.2)或者IY66147(AIX 5.3),这个APAR会把EXTSHM的机制更改回以前的机制。

作为一个规避措施,您可以将EXTSHM设置为1SEG(请参照DB2信息中心中关于EXTSHM的设置说明)。

请注意:“1SEG”设置只对引起这个问题的AIX补丁级别有效。

另外,如果可能的话,您可以使用64位DB2实例,因为64位DB2实例不受这个问题的影响。或者使用TCP/IP编目的方式编目您的数据库,避免使用EXTSHM扩展一个应用程序使用IPC连接方式在AIX只有11个连接数的限制。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有