tnsping是否可以证明Oracle数据库可用?

监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求。Oracle官方对其的定义为:A process that listens for incoming client connection requests and manages network traffic to the database.
​本地服务名是Oracle客户端网络配置的一种,另外还有Oracle名字服务器(Oracle Names Server)等。​​

​​客户端可以通过监听来和数据库服务器进行交互,如果我们是用tnsping来测试,并且返回正常,是否意味着数据库可用?答案是否定的。


1. 如下监听是正常启动:

tnsping是否可以证明Oracle数据库可用?_第1张图片


2. 此时关闭数据库:

tnsping是否可以证明Oracle数据库可用?_第2张图片


3. 从客户端执行tnsping,显示是连接正常。

tnsping是否可以证明Oracle数据库可用?_第3张图片


由此我们可以看到,tnsping只是验证了客户端和数据库服务器的监听端口之间的通路是好的,但并未意味着数据库服务是可用的,因为客户端和Oracle服务器交互是通过Oracle server服务器进程来进行的,私有内存空间即是PGA,所以有时候我们做运维检测,tnsping不能代表Oracle数据库可用,可以用sqlplus真正执行一条语句(select sysdate from dual)才行。

你可能感兴趣的:(技术之我见,个人心得,Oracle,Oracle,监听,tnsping)