前些天碰见这么一个问题,用户的db2版本比较老还是8.1的fp是7.平台为windows.我进系统直接默
认administrator连接db2没有问题.从别的系统连接过去也没啥问题..客户觉的不安全..又建立了一个用户
我也已经让他们加入到db2admin组里.用这个用户连接db2.开始也没啥不正常..当时忙完都快中午了..我
们就去吃饭了..下午回来发现应用挂了..别的系统也连接不上去了..我尝试连接db2 server非常慢.但不是
连接不上去.要等个10分钟才可以.当时以为有可能是网络问题..后来我本地连接这台db2 server也相当慢.
检测防火墙相关的设置也没发现异常..主要是原来连接一直没事情防火墙的设置也从来没改动过..所以
防火墙这类安全软件给屏蔽的可能性不高.很有可能是db2的问题..这太奇怪了.查看db2diag.log日志如下:
2011-10-19-16.40.18.259000+480 I7674552H461 LEVEL: Error
PID : 3348 TID : 136 PROC : db2syscs.exe
INSTANCE: DB2 NODE : 000
APPHDL : 0-7 APPID: *LOCAL.DB2.111019083644
FUNCTION: DB2 UDB, oper system services, sqlo_get_userpw, probe:208
MESSAGE :retry NetUserGetLocalGroups failed, retry count:
DATA #1 : Hexdump, 4 bytes
0x01D6570C : 3C00 0000 <...
红字标出来的才是重点,ibm官方解释如下
DB2 registry variable DB2_GRP_LOOKUP is not set and the user starting the DB2 Service does not have authority to authenticate users at the domain of the user receiving the error.
问题解决很简单.
db2set -g DB2_GRP_LOOKUP=LOCAL,TOKENLOCAL
看来还是要好好看看这方面的知识了..不过我在linux&unix下没有发现这个问题..难道是win独有?
这里给出官方网址:http://www-01.ibm.com/support/docview.wss?uid=swg21420619