乌托邦博客

You see? Even death has a heart

« Install Oracle RAC 10g on Oracle Enterprise Linux Using VMware2009 »

The connection was refused or the RPC daemon is not running (81016)

     又碰到了这个问题The connection was refused or the RPC daemon is not running (81016)。

     这个错误似乎很常见,今天又碰到了,整了很久,慢后搞定了,下面简单整理下过程。

     场景是这样的,系统崩溃了,/下的所有文件丢失,其它用户,dsadm,ods等用户有备份。安装操作系统,建立相关用户,赋权限等,后发现datastage起不来。

     报错如下:

    /.dshome or DSHOME environment variable is invalid or missing

     这个应该很简单,是环境变量问题,原因是root的环境变量丢失了。正确地设置了环境变量和dsenv后,启动服务没有问题,但是连接不上,报错如下:

    The connection was refused or the RPC daemon is not running (81016)

     查了很久没查出原因来,我建议做如下操作检查问题:

     cd $DSHOME
     bin/uv

     在执行bin/uv的时候报错,缺少了一些链接文件,原因也很简单,没有打相应的rpm。打上相应rpm后,重启问题依旧,不过可以进去bin/uv。

     网上查找一个方法检查dsprc起不来的方法:

     ./bin dsrpcd -d9 >/tmp/dsrpcd.log 2>&1 &

     然后查看dsrpcd.log来查看出错原因,如果是端口被 占用,可以释放。我这里是找不到报务名,原因很简单,因为这个DataStage不是安装的,只是原来备份的文件,没有把dsrpc服务写到/etc/services中去,其实就是因为丢失了配置。

     添加上去以后,重启,正常连接。

     下面总结一下检查解决问题方法:

     第一步:直接重启,看下是否能连接,如果报错,先检查权限,环境变量 、dsenv等文件;

    第二步:使用bin/uv进去,看下是否正常,如果不正常,很按提示打相应的rpm。

    第三步:使用./bin dsrpcd -d9 >/tmp/dsrpcd.log 2>&1 &去启动dsrpcd,查看log文件,根据具体提示,具体解决。

     希望以上思路能给大家一些帮助!!!

     水平有限,多多拍砖!!!

     如有DataStage,银行业务方面问题,欢迎加我QQ讨论:94424751

     2010年4月8日 UPDATE:

     近来发现大多数DSRPC启动不起来的情况,是因为有僵死进程,也就是有客户端连接上以后,意外断开所致,只要查询dsrpc所关联的端口进程,再kill掉即可,清理方法如下:

     netstat -p|grep dsrpc
     tcp        0      0 localhost.localdomain:dsrpc localhost.localdomain:54550 CLOSE_WAIT  23794/phantom
    kill -9 23794

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Spirit Build 80710 Code detection by Codefense

Copyright 2005-2007 Bootad.cn. Some Rights Reserved
.粤ICP备07062332号 QQ:94424751