在一个基于TCP/IP协议的网络环境中,oracle数据服务器在一台计算机上,客户端在另外一台计算机上,客户端要连接到oracle服务器我们经常会输入:"C:\sqlplus scott/tiger@shanghai",这是oracle客户端连接服务器时使用的连接命令,其中sqlplus是oracle客户端程序,scott/tiger是登陆服务器的用户名和密码,@shanghai是本地网络服务名,它代表了远程数据库服务器的信息,它的另外一种叫法叫做tns服务名称。tns英文全称是transparent network substrate,译作透明网络传输底层,它是内建于oracle客户端的一个程序,它用于进行远程连接并将@shanghai翻译成有用的连接信息。一般来说客户端都有一个名称为tnsnames.ora的文件,这是一个文本文件在[oracle_home]\network\admin下面可以找到,内容如下:
SHANGHAI=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 205.220.98.96)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = Products)
)
)
连接oracle数据库服务器时该程序加载该文件,并将对应的tns服务名称转换成连接信息连接数据库。因此客户端程序知道该如何连接到oracle数据库了,它将打开1521端口到205.220.98.96连接的TCP/IP套接字,此时服务器端的监听程序也在运行,监听到客户端的连接后就会接受在请求,并检查连接信息是否正确及合法。连接正确则接受该请求,否则拒绝。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lincolncaptain/archive/2010/03/01/5336232.aspx