发布网友 发布时间:2022-04-29 16:11
共2个回答
懂视网 时间:2022-04-30 11:55
???客户端可以通过监听来和数据库服务器进行交互,如果我们是用tnsping来测试,并且返回正常,是否意味着数据库可用?答案是否定的。
1. 如下监听是正常启动:
??
2. 此时关闭数据库:
3. 从客户端执行tnsping,显示是连接正常。
由此我们可以看到,tnsping只是验证了客户端和数据库服务器的监听端口之间的通路是好的,但并未意味着数据库服务是可用的,因为客户端和Oracle服务器交互是通过Oracle server服务器进程来进行的,私有内存空间即是PGA,所以有时候我们做运维检测,tnsping不能代表Oracle数据库可用,可以用sqlplus真正执行一条语句(select sysdate from dual)才行。
版权声明:本文为博主原创文章,未经博主允许不得转载。
tnsping是否可以证明Oracle数据库可用?
标签:oracle 监听 tnsping
热心网友 时间:2022-04-30 09:03
tnsping命令:如果能够ping通,则说明客户端能解析listener的机器名,而且listener也已经启动,但是并不能说明数据库已经打开,而且tsnping的过程与真正客户端连接的过程也不一致。但是如果不能用tnsping通,则肯定连接不到数据库。
查看服务配置的tnsnames.ora文件路径
Oracle Net 工具(命令)tnsping,是一个OSI会话层的工具,它用来:
1)验证名字解析(nameresolution,当然是oracle自己的网络服务名)
2)远程的listener是否启动
在验证上面两项功能方面,它是DBA手头上一个比较得心应手的工具。Oracle 网络接口支持不同的网络与传输协议,其中我们最熟悉的就是TCP/IP。这篇文章只描述TCP/IP 协议族,然而,在oracle网络接口支持的其它协议下,tnsping的功能是一样的。