tnsnames.ora是什么文件,具体解释一下

tnsnames.ora是什么文件,具体解释一下,第1张

Oracle客户端的网络服务名配置文件,用于存放该客户端配置的可连接实例的参数。

Tnsnames.ora——这个文件类似于unix 的hosts文件,提供的tnsname到主机名或者ip的对应,只有当sqlnet.ora中类似

NAMES.DIRECTORY_PATH= (TNSNAMES) 这样,也就是客户端解析连接字符串的顺序中有TNSNAMES是,才会尝试使用这个文件。

PROTOCOL:客户端与服务器端通讯的协议,一般为TCP,该内容一般不用改。

HOST:数据库侦听所在的机器的机器名或IP地址,数据库侦听一般与数据库在同一个机器上,所以当我说数据库侦听所在的机器一般也是指数据库所在的机器。

在UNIX或WINDOWS下,可以通过在数据库侦听所在的机器的命令提示符下使用hostname命令得到机器名,或通过ipconfig(for WINDOWS) or ifconfig(for UNIX)命令得到IP地址。

PORT:数据库侦听正在侦听的端口,可以察看服务器端的listener.ora文件或在数据库侦听所在的机器的命令提示符下通过lnsrctl status [listener name]命令察看。此处Port的值一定要与数据库侦听正在侦听的端口一样。

SERVICE_NAME:在服务器端,用system用户登陆后,sqlplus>show parameter service_name命令察看。

ORCL 对应的本机,SALES对应的另外一个IP地址,里边还定义了使用主用服务器还是共享服务器模式进行连接。

扩展资料:

tnsnames.ora使用注意事项:

(1)如果tnsnames中的service_name配置错误,配置成了instance_name了,这个时候会发生tnsping能通,但是 sqlplus连接不上的奇怪情况。

(2)报错ORA-12514: TNS:listener could not resolve SERVICE_NAME given in connect descriptor。这个时候查错的时候,需要检查对应的service_name。

(3)如果远程数据库是rac,而且本地客户端端远程数据库处于不同的网段,通过公网链接,rac对外的ip映射只有一个,即只映射到一个节点。请注意在客户端配置tnsnames的时候按照单机的情况来配置。dba不仅仅要学习oracle,了解一些网络的知识,特别是自己系统的网络架构,也是需要的。

答案如图

这个图是我自己的机器配置,其中orcl和a8都是连接我远程Oracle服务器的网络名字

另外还可以用netca命令(ORACLE_HOME配置正确)调出图形界面,选择“本地NET服务名”来生成该文件(最好不要手动去敲字母改这个文件,即使要手动改这个文件也最好粘贴复制,防止因少一个字母产生各种问题)

文件解压到了D盘,D:\OracleClient下面

最后的文件结构应该如下:

2.配置tnsnames.ora,如果本机上没有安装oracle,可以从安装了oracle的机上拷贝一个(tnsnames.ora文件在%

ORACLE_HOME%\network\admin下)放在上面的目录D:\OracleClient下。tnsnames.ora的内容为:

# tnsnames.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora

# Generated by Oracle configuration tools.

ORCL =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.255.128)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = orcl)

)

)

3,添加一个环境变量,名为TNS_ADMIN,值为tnsnames.ora文件所在路径(如:D:\OracleClient),这是为了能够

找到上面说的tnsnames.ora。如果本机上安装了ORACLE,并且设置了ORACLE_HOME环境变量,那么会自动

在%ORACLE_HOME%/network/admin/位置查找tnsnames.ora文件。

4,设置ORACLE的语言,添加注册表项:逗NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK地,位于

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE。如果本机没有安装ORACLE,在H_L_M\SOFTWARE\下是没

有"ORACLE"这一项的,需要手动创建,然后再在ORACLE项下创建键NLS_LANG,键值为:SIMPLIFIED

CHINESE_CHINA.ZHS16GBK

5,下载并安装PL.SQL.Developer配置应用

配置tools->preferences->connection

找到等号左侧参数填写等号右侧对应的内容

Oracle Home(empty is autodetect)=D:\OracleClient

OCI library(empty is autodetect)=D:\OracleClient\oci.dll

□Check connection的方框要打√

6,再次打开plsql则会在database中有orcl选项,输入用户名密码就可以登陆。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/12101774.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存