IBM Portal下的LDAP恢复记录

环境:Solaris,IBM Portal 6.0,db2 8.1

今天客户的IBM Portal主机故障了,需要启动备机恢复应用。原来的数据文件大部分都在磁盘阵列中,通过挂接到备机上,大部分的数据都没有丢。

但是启动备机时,LDAP启动不了。总结解决过程,主要是三个阶段:

第一阶段,启动LDAP时报错:

GLPRDB001E Error code -1 from function:" SQLConnect " ldapdb2b .
12/06/2011 12:58:24     0   0   SQL8000N  DB2START processing failed; a valid product license was not found.
SQL1032N  No start database manager command was issued.  SQLSTATE=57019
当时就把焦点集中在了DB2的许可上面了。这里用到了db2的日志,位置是/export/home/idsldap/sqllib/db2dump/db2diag.log

但是发现用db2的用户idsldap登录进去,db2的命令行无法使用了,总是报一个错误:

DB21016E  The Command Line Processor encountered a system error while sending the command to the backend process.

因为看到网上提出的添加license的办法是通过db2licm来添加,就开始致力于解决这个问题,对db2不熟,因此希望通过db2命令行来添加,找了半天也没找到解决办法。最后找到一个直接添加的方法:

/opt/IBM/db2/V8.1/adm/db2licm -a  /mnt/cdrom/db2/license/db2pe.lic

就通过root用户添加了,再次启动,发现这个问题在日志里面变成warning CPU许可的数量的问题了。就不理了。

第二阶段,再次启动LDAP,还是不行,查看db2diag报错:

FUNCTION: DB2 Common, Security, Users and Groups, secLogMessage, probe:20
DATA #1 : String, 44 bytes
check password failed with rc = -2146500507

后来记起来,可能是portal配置文件wpconfig.properties中的idsldap的密码与这个系统的不相符,于是passwd idsldap,再次启动发现不报这个错误了。

第三阶段:再次启动LDAP,查看db2的日志,已经没有错误,但是还是不能启动,启动的地方报错显示:

Failed to initialize be_config.
GLPSRV040E Error encountered. Server starting in configuration only mode.

再次查看LDAP的日志文件:/export/home/idsldap/idsslapd-idsldap/logs/db2cli.log   发现其中提示"SQL1092N  "IDSLDAP " does not have the authority to perform the requested command。同时联想到在db2的命令行里面用idsldap用户来执行db2start也显示没有权限,觉得有可能是idsldap权限不对,也就是所属的用户组不对,于是把他添加到了idsldap用户组里面。执行果然正常启动了。

最后,db2命令行的问题还是没有办法执行,也没有解决,看来不影响db2的使用,先这样吧。这个错误中db2diag中的记录是:

INSTANCE: idsldap              NODE : 000  FUNCTION: DB2 UDB, command line process, clp_send_bpreq, probe:4   MESSAGE : Error returned from SQLOWQUE:
DATA #1 : Hexdump, 4 bytes       0xFFBFE3B4 : 870F 003E   

在命令行中是:DB21016E  The Command Line Processor encountered a system error while sending the command to the backend process.

第四阶段:客户把原来的服务器修好了,需要切换回去。结果LDAP又出错了:

启动ldap时显示:Error code -1 from function:" SQLAllocEnv "
查看db2的日志显示:DB2 UDB, base sys utilities, sqleInitApplicationEnvironment, probe:32

查看相关文章都说是环境文件,可就是找不到问题。hostname和/etc/hosts以及/export/home/idsldap/sqllib/db2nodes.cfg下面的主机名称都一样
抱着试试看的想法,切换到db2管理员用户执行db2命令行提示:SQL6031N  Error in the db2nodes.cfg file at line number "0".  Reason code  "11"。用这个为线索,找到一些文章提示:1)查看DB2端口. db2 get dbm cfg|grep -i svcename 2)然后去/etc/services找上面命令找到服务和对应的端口号。结果我的/etc/services文件里面空空如野,找到问题了!原来/etc/services用了个空的(很少内容),没有db2和ldap需要的端口,用户从北方中恢复了这个文件,正常启动了。

记录下这个过程,希望对后面解决问题的童鞋有所帮助,呵呵。

 

相关参考文档:http://space.itpub.net/6126/viewspace-700890

http://www.ibm.com/developerworks/cn/aix/library/au-ldapconfg/

http://dbaspot.com/db2-udb/203214-sql1092n-user-does-not-have-authority-perform-therequested-command.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值