欢迎来到天天文库
浏览记录
ID:34724910
大小:70.57 KB
页数:17页
时间:2019-03-10
《oracle三个配置文件之间的关系》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、对于ORA-12154报错,本人碰到的错误原因是服务器端tnsnames.ora对应的HOST设置为127.0.0.1,这个原因造成客户端远程连接时采用sysdba连接可以连上,采用普通用户则报ORA-12154错误,其他原因则可参见下面说明之前因为安装的是windowsserver2008r2的系统,oracle是11gr264bit,因为像很多网友一样,无法使用pl/sql developer8连接oracle,今天可算连上了,对listener.orasqlnet.ora tnsnames.o
2、ra三个文件、TNSListener服务的认识也深了一层。先说说我是怎么样连接上的:我先安装了Oracle9i客户端精简版,然后将原来oracle11g r2的network文件夹下的tnsnames.ora文件覆盖掉精简客户端下的network文件夹中的tnsnames.ora。下面启动pl/sqldeveloper,在支持信息中便会看到我tnsnames.ora下所编写的相关信息:那么登录时,在pl/sqldeveloper登录框中便会看到tnsnames.ora中定义的tnsname:同时,决
3、定是否登录成功的因素还有listener进程处于可用状态,你可以尝试一下,停止listerner服务(停止了listener进程,与listener.ora联系):那么就会提示错误:最后,恭喜你使用pl/sqldeveloper8登录oracle11gr264bit成功啦。为了更好理解其背后的原理,我转载一篇很好的文章:一 oraclelistener.orasqlnet.oratnsnames.ora三个文件的关联性首先来说Oracle的网络结构,三个配置文件listener.ora、sqlnet
4、.ora、tnsnames.ora ,都是放在$ORACLE_HOMEetworkadmin目录下。重点:三个文件的作用和使用1 sqlnet.ora作用类似于linux或者其他unix的nsswitch.conf文件,通过这个文件来决定怎么样找一个连接中出现的连接字符串(service_name),例如我们客户端输入sqlplussys/oracle@demo假如我的sqlnet.ora是下面这个样子SQLNET.AUTHENTICATION_SERVICES=(NTS)NAMES.DIRE
5、CTORY_PATH= (TNSNAMES,HOSTNAME)那么,客户端就会首先在tnsnames.ora文件中找demo的记录.如果没有相应的记录则尝试把demo当作一个主机名,通过网络的途径(hosts文件)去解析它的ip地址然后去连接这个ip地址上GLOBAL_DBNAME=demo这个实例,当然我这里demo并不是一个主机名另一种情况:如果是这样NAMES.DIRECTORY_PATH=(TNSNAMES)那么客户端就只会从tnsnames.ora查找demo的记录,括号中还有其他选项,如
6、LDAP等并不常用。2Tnsnames.ora这个文件类似于unix 的hosts文件,提供的tnsname到主机名或者ip的对应,只有当sqlnet.ora中类似NAMES.DIRECTORY_PATH= (TNSNAMES)这样,也就是客户端解析连接字符串的顺序中有TNSNAMES是,才会尝试使用这个文件。下面例子中有两个,demo 对应的本机,SALES对应的另外一个IP地址,里边还定义了使用主用服务器还是共享服务器模式进行连接.#你所要连接的时候输入得TNSNAMEdemo =(DESCRI
7、PTION=(ADDRESS_LIST=#下面是这个TNSNAME对应的主机,端口,协议(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.176)(PORT=1521)))(CONNECT_DATA=#使用专用服务器模式去连接需要跟服务器的模式匹配,如果没有就根据服务器的模式#自动调节(SERVER=DEDICATED)#对应service_name,SQLPLUS>showparameterservice_name;#进行查看(SERVICE_NAME=demo)))#
8、下面这个类似SALES=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.176)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=sales)))客户端完了我们来看服务器端,sqlnet.ora,tnsnames.ora都是客户端文件.3listener.oralistener监听器进程的配置文件关于listener进
此文档下载收益归作者所有