本地服务名是Oracle客户端网络配置的一种,另外还有Oracle名字服务器(Oracle Names Server)等。
客户端可以通过监听来和数据库服务器进行交互,如果我们是用tnsping来测试,并且返回正常,是否意味着数据库可用?答案是否定的。
1. 如下监听是正常启动:
2. 此时关闭数据库:
3. 从客户端执行tnsping,显示是连接正常。
由此我们可以看到,tnsping只是验证了客户端和数据库服务器的监听端口之间的通路是好的,但并未意味着数据库服务是可用的,因为客户端和Oracle服务器交互是通过Oracle server服务器进程来进行的,私有内存空间即是PGA,所以有时候我们做运维检测,tnsping不能代表Oracle数据库可用,可以用sqlplus真正执行一条语句(select sysdate from dual)才行。