AIX 5.2上32位DB2实例碰到SQL1224N错误

来源:岁月联盟 编辑:zhu 时间:2008-02-17
AIX 5.2上32位DB2实例碰到SQL1224N错误内容简介:【aix教程】 环境 产品: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实例在进行数据库操作时,   【aix教程】环境 产品: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个连接数的限制。

图片内容