Tuxedo域连接错误引出的netstat不同平台参数的区别

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> Tuxedo域连接错误引出的netstat不同平台参数的区别

最近测试同事有一个需求,搭建一套Tuxedo域,连接网关,通过其和其他域交互,搭建过程中配置正确,但域连接报错,模拟过程如下,假设本地域名称为LOCALDOM,网关域名称为GWDOM,主机操作系统是Solaris。

从LOCALDOM本地域执行pd发现无连接的域,connect显示无法连接网关,

Tuxedo域连接错误引出的netstat不同平台参数的区别

使用co强制连接网关域,报错。网关执行pd,显示无法连接LOCALDOM,

Tuxedo域连接错误引出的netstat不同平台参数的区别

本地域重启tmboot,ULOG报错,

Tuxedo域连接错误引出的netstat不同平台参数的区别

找不着一个GWADMIN服务,但实际应该找的不是这服务,因为我们尝试配置这个服务,

Tuxedo域连接错误引出的netstat不同平台参数的区别

重启应用,和预期一致,报了找不着这个可执行文件,

Tuxedo域连接错误引出的netstat不同平台参数的区别

重新检索ULOG日志,提示连接本地域7777端口,Network error,

Tuxedo域连接错误引出的netstat不同平台参数的区别

LIBGWT_CAT-1243错误域连接IP、端口有问题,

Tuxedo域连接错误引出的netstat不同平台参数的区别

本机执行netstat -anp | grep 7777,检索7777端口是否被占用,为空,原因是什么?

其实这块有经验的朋友,应该可以知道了,可能了解判断的方向了。

Solaris下的netstat指令,和Linux下的netstat指令,若干参数含义有一些区别,Linux下netstat的-p参数含义,

-p, –programs             display PID/Program name for sockets

Solaris下netstat的-p参数含义,

-p    Displays the net to media mapping table. For IPv4, the address  resolution  table  is displayed. See arp(1M). For IPv6, the neighbor cache is displayed.

这我们用netstat -anp实际需要看7777端口,目前是否被占用,可Solaris下未按照语义返回占用的进程,我们看下不用-p,Solaris执行返回,

Tuxedo域连接错误引出的netstat不同平台参数的区别

说明7777端口已被占用,处于监听状态,进一步说明是由于本地域7777端口,被占用因而导致GWADM无法连接本地IP的7777端口,进而无法和网关建立连接。

解决方法就是将7777改为空闲端口,例如7000,需要改一下本机,以及网关的domain配置文件,此时本机执行pd,显示连接了网关,connect提示和网关的连接已打开,

Tuxedo域连接错误引出的netstat不同平台参数的区别

网关执行pd,显示连接了LOCALDOM,connect提示和LOCALDOM连接已打开,

Tuxedo域连接错误引出的netstat不同平台参数的区别

总结:

  • Tuxedo的ULOG日志,大部分系统错误,可以有一些提示,虽然可能错误提示信息简略,但往往可以指明方向。
  • netstat指令很有用,可以帮助我们找出,端口是否被占用、以及什么进程占用的,可是Solaris和Linux下netstat的参数略有不同,使用man可以检索详细介绍,不一定要记住所有参数,但需要知道如何检索。判断问题的方向和方法是我需要提高的地方,根据错误提示,是否可以快速定位问题,是否可以了解具体指令、工具的一些区别和用法,快速解决问题,例如文中提到了ULOG,记录了网络错误,无法连接本地IP和端口,直觉上应该首先检索端口,看下是否被占用,用netstat指令,根据当前是Solaris,是否知道-p参数不能用,如果上述两步判断正确,发现问题和解决问题,就易如反掌了。
  • 如果您觉得此篇文章对您有帮助,欢迎关注微信公众号:bisal的个人杂货铺,您的支持是对我最大的鼓励!共同学习,共同进步:)

    Tuxedo域连接错误引出的netstat不同平台参数的区别
    本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

    本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

    原文链接:blog.ouyangsihai.cn >> Tuxedo域连接错误引出的netstat不同平台参数的区别


     上一篇
    经典的print_table学习 经典的print_table学习
    最近上班路上读《Oracle性能优化与诊断案例精选》,发现eygle引用了一个非常方便的工具,原作者是大名鼎鼎的Tom,更加引起了我的关注。 我理解一些工具是方便了我们日常的工作需求,但同时由于其封装了一些细节,因此若只是知道用法,不知道实
    下一篇 
    kill等待session的方法 – 引申自恩墨面试题的一些思考 kill等待session的方法 – 引申自恩墨面试题的一些思考
    Kamus曾在微信公众号发表了一篇文章《删繁就简 - 云和恩墨的一道面试题解析》,恩墨的新书《Oracle性能优化与诊断案例精选》第五章引用了相同的文章,来自恩墨的一道面试题,乍一看其中涉及的知识点,大部分比较眼熟,但开始解决的时候,能否清