AIX小型机上,所有DB2的命令行、脚本都报错,提示都是 DB21015E

AIX小型机上,所有DB2的命令行、脚本都报错,提示都是:
DB21015E  The Command Line Processor backend process request queue or input queue was not created within the timeout period.

 

检查sqllib/db2dump/db2diag.log,发现从5月2号上午9点开始出现类似的错误信息:
2011-05-02-09.16.01.224315+480 I123462706A383     LEVEL: Error
PID     : 304372               TID  : 1           PROC : db2
INSTANCE: db2inst1             NODE : 000
FUNCTION: DB2 UDB, command line process, clp_start_bp, probe:3
MESSAGE : CLP frontend unable to get REQUEST queue handle
DATA #1 : Hexdump, 4 bytes
0x0FFFFFFFFFFFD708 : 870F 0042                                  ...B


其他客户端通过网络访问AIX上的DB2数据库就没有任何报错。

使用db2diag.log的错误数据“870F 0042”,以及出错提示的错误编号“DB21015E”,查找到一个帖子,原文如下:http://forums.sdn.sap.com/thread.jspa?threadID=745327

 

情况描述:
DB21015E The Command Line Processor error  

All our DB2 9.1 databases are showing the error "DB21015E The Command Line Processor backend process request queue or input queue was not created within the timeout period" after we changed file /etc/netsvc.conf on all LPARs (AIX virtualized OS) from default blank to contain the entry "local,bind" to ensure that the OS would first look in the local host file before checking addresses at the DNS server. This was done after we experienced major problems with the DNS server itself. This is the only change we are aware of that has been done on the systems before the error occurred.

We've tried to change this value back to default (blank) on one of our systems, but the error still persists.

I've performed the following steps:
db2 terminate
db2stop (this often hangs for a long time, so I've had to kill the processes on OS level)
ipclean (both as sidadm and db2sid)

Then I've tried running the db2iupdt command, but this fails with the following error:

DBI1250E Applications are still using instance db2xq1.

Command ps -ef | grep db2 returns nothing, so no DB2 processes seem to be active. db2diag.log contains the following entry:

INSTANCE: db2xd1 NODE : 000
FUNCTION: DB2 UDB, command line process, clp_start_bp, probe:3
MESSAGE : CLP frontend unable to get REQUEST queue handle
DATA #1 : Hexdump, 4 bytes
0x0FFFFFFFFFFFD4E8 : 870F 0042


跟帖的解答是:
I'm wondering if this issue could be caused by IPv6 DNS slow resolution. Can you update your netsvc.conf as

following:

hosts=local4,bind4


Then, recycle the instance and check if the problem still happens.


情况和我这里基本相似,之前启用了通过DNS服务器查找主机名,所有的主机名格式都是:hostname.local。使用了两个DNS服务器

,分别是 192.168.0.11 和 192.168.0.10 。

立即用命令行 nslookup 测试,发现使用 192.168.0.11 解释的时候,等待10秒钟都不能正常的返回,使用 192.168.0.10 就能正常的返回解释结果。 问题确定就是首选的DNS服务器出了问题,服务器在超时之后再使用后备的DNS服务器做解释,导致DB2服务器为db2 命令请求建立后端 db2bp 进程也超时。

 

处理方法:

1、修改 /etc/netsvc.conf ,首选使用/etc/hosts ,其次使用DNS服务器 进行IPV4的DNS解释
tail -5 /etc/netsvc.conf
# nis     Uses NIS services for resolving alias
# Example:
# aliases = nis, files
#
hosts = local4, bind4

 

2、修改 /etc/hosts ,增加两台AIX小型机的IP和DNS记录
tail -5 /etc/hosts
172.20.16.60    db28.local
172.20.16.46    db27.local

 

3、修改 /etc/resolv.conf ,调整两台DNS服务器的顺序,选择更稳定的服务器作为首选服务器
tail -5 /etc/resolv.conf
nameserver 192.168.0.10
nameserver 192.168.0.11

 

注意:IBM的信息中心有关 DB21015E 的说明,提到“需要增加 DB2BQTRY 和 DB2BQTIME 环境变量的值”。 DB2BQTIME 默认设置值为1秒,已经是最大值, DB2BQTRY 默认设置值是60次,已经比较大,无需要进行额外的调整。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10990946/viewspace-694277/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10990946/viewspace-694277/

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值