♣问题
在Oracle中,tnsnames.ora文件的作用是什么?
♣答案
这个文件类似于Linux系统的hosts文件,提供tnsname到主机名或者IP的对应关系。只有当sqlnet.ora中有类似“NAMES.DIRECTORY_PATH=(TNSNAMES)”的配置的时候,客户端解析连接字符串时,数据库才会尝试使用这个文件。
下面给出一个配置的例子:
1ORCL =
2 (DESCRIPTION =
3 (ADDRESS = (PROTOCOL = TCP)(HOST = lhr)(PORT = 1521))
4 (CONNECT_DATA =
5 (SERVER = DEDICATED)
6 (SERVICE_NAME = orcl)
7 )
8 )
其中,每个部分的解释如下所示:
l PROTOCOL:客户端与服务器端通讯的协议,一般为TCP,该内容一般不用改。
l HOST:数据库所在的机器的主机名或IP地址。不管用主机名还是IP地址,在客户端一定要用ping命令ping通数据库所在的机器,否则需要在hosts文件中加入数据库所在的机器的主机名和IP地址的对应关系。
l PORT:数据库监听器的端口,可以查看服务器端的listener.ora文件或在数据库服务器中通过lsnrctl status [listener name]命令来查看。一般为1521端口。
l SERVICE_NAME:在数据库中使用“SHOW PARAMETER SERVICE_NAME”命令查看,一般情况下和DBNAME相同。
作者:小麦苗