【DB笔试面试844】在Oracle中,tnsnames.ora文件的作用是什么?

时间:2022-07-22
本文章向大家介绍【DB笔试面试844】在Oracle中,tnsnames.ora文件的作用是什么?,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

问题

在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相同。

本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗