您的位置:首页 > 理论基础 > 计算机网络

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

2013-10-24 21:47 676 查看




由图上可知,
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地址。

注意:

[b]
TNSNAME适配器
程序主要用来解释(或说是翻译)tnsname.ora文件里的网络服务名里的配置为连接描述符,即用网络服务名里的配置初始化客户端的连接程序里的相应变量的值(就是所谓的连接描述符)。当然,遇到网络服务名里的配置里不是直接ip地址的情况,如主机名或是localhost,则先将主机名或是localhost解析为ip地址,再在将之初始化连接程序里的相应变量的值。

[/b] TNSNAME适配器应该只是一个外壳,里面封装了不同功能函数的接口调用,而且是根据每个网络服务名配置里的protocol(协议)的不同,调用不同功能的函数。如,协议为TCP时,就调用域名解析函数;[b]协议为IPC时,就调用另一种解析函数。

EZCONNECT适配器应该只是用于协议为TCP的情况吧。

[/b]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐