监听总结之解析问题一:由sqlnet.ora文件寻到TNSNAME适配器程序来解析网络服务名为它的具体配置(×)

由图上可知,
tnsping too时,是在客户端上的,由sqlnet.ora文件寻到TNSNAME适配器程序来解析网络服务名too为它的具体配置。当然配置里的host为主机名或localhost时,该tnsname适配器会调用了oracle底层一个解析函数(应该操作系统本身自带的解析函数吧,操作系统自己有了,oracle自己还开发一个重复功能的解析函数,有点多余了),将主机名(或localhost)解析为ip地址。EZCONNECT适配器应该也是调用了这个解析函数的。
假设在客户端的tnsname适配器里,主机名没有被解析为ip地址,那么服务端以host=本机ip地址配置的监听程序来监听时,由于客户端的网络服务名(配置)里的host为主机名,主机名并不是ip地址,所以不会走网络这条路,结果就是提示“无监听程序”。
注释:这里的客户端和在、服务端在同一个主机上。强调这一点,主要是为了在实验时,tnsping 127.0.0.1时能连接上服务端的监听程序。
           另外,服务端也有自己的解析程序,可以将监听配置的host为主机名和localhost解析为ip地址。

注意:
       TNSNAME适配器程序主要用来解释(或说是翻译)tnsname.ora文件里的网络服务名里的配置为连接描述符,即用网络服务名里的配置初始化客户端的连接程序里的相应变量的值(就是所谓的连接描述符)。当然,遇到网络服务名里的配置里不是直接ip地址的情况,如主机名或是localhost,则先将主机名或是localhost解析为ip地址,再在将之初始化连接程序里的相应变量的值。
       TNSNAME适配器应该只是一个外壳,里面封装了不同功能函数的接口调用,而且是根据每个网络服务名配置里的protocol(协议)的不同,调用不同功能的函数。如,协议为TCP时,就调用域名解析函数;协议为IPC时,就调用另一种解析函数。
       EZCONNECT适配器应该只是用于协议为TCP的情况吧。
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值