暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

oracle tnsping 简单说明

原创 不吃草的牛_Nick 2023-05-18
1034

tnsping <service_name> n, n的意义是可以让tnsping ping多次

Oracle Net 工具(命令)tnsping,是一个OSI会话层的工具,它用来:
1)验证名字解析(name resolution,当然是oracle自己的网络服务名)
2)远程的listener是否启动
3)tnsping命令不检测服务器上的监听的服务名,所以tnsping通,不代表就能连通。

tnsping V817   4
ADDRESS=(PROTOCOL=TCP)(HOST=abadah.us.oracle.com)(PORT=1521)) 
OK (1770 msec) 
OK (10 msec)

上面这个例子显示第一次tnsping需要1770毫秒,这些时间由在tnsnames.ora文件中解析V817网络别名需要的时间、 利用DNS解析listener机器名” abadah”需要的时间,三次TCP/IP握手需要的时间、TNS Connect 和Refuse packets传输需要的时间、断开TCP/IP连接需要的时间。第二次tnsping只花费了10毫秒,这是因为所有的信息 (V817别名与IP地址)都已经在cache中了,然而Tnsping程序仍然做 TCP的连接与断开操作。


Tnsping是Oracle提供的诊断连接动作的重要方法。我们在客户端上使用tnsping,可以快速的定位连接过程中错误,进行问题判断。从功能上看,tnsping能够帮助我们解决几个方面问题:

1)本地Oracle Net配置文件解析:sqlnet.ora、tnsname.ora是我们客户端最重要的两个配置文件。由于历史的原因,Oracle基础配置文件很多是文本格式,Oracle Net三个核心配置文件尤其如此。netca等配置工具也只是一个文本文件写入读取功能。很多朋友进行配置的时候,图简单直接进行文本复制黏贴,容易引起问题故障。tnsping可以模拟连接过程,对配置文件中的名称进行预解析,如果存在格式错误,解析必定失败;

2)服务器端监听器状态诊断:在远程连接数据库服务器的时候,监听器是一个不能回避的组件。tnsping是可以进行网络访问判断的,如果监听器没有运行、或者没有在指定的端口上运行,tnsping是可以做出判断提示信息的;

3)注册服务有限验证:在本地连接名称中,服务名、主机名、监听器伺候端口、连接协议是连接信息的几个要素。服务名是tnsping不能验证的对象,也就是说。如果监听器注册信息(动态注册、静态注册)中不存在连接的服务名,tnsping是不会报错的;

使用方法如下
tnsping 192.168.1.123:1521/oracle11g

tnsping命令:如果能够ping通,则说明客户端能解析listener的机器名,而且listener也已经启动,但是并不能说明数据库已经打开,而且tsnping的过程与真正客户端连接的过程也不一致。但是如果不能用tnsping通,则肯定连接不到数据库。


默认情况下,tnsping跟踪功能是关闭的。我们需要在Oracle Net配置文件sqlnet.ora中进行手工的配置。注意:配置是在客户端,我们执行tnsping命令也是在客户端进行。$ORACLE_HOME/network/admin

客户端sqlnet.ora,位置$ORACLE_HOME/network/admin,使用tnsping连接一个本地连接名oracle,然后在$ORACLE_HOME/network/trace/tnsping.trc中查看跟踪信息

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论