- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle三个配置文件之间的关系Oracle三个配置文件之间的关系
对于ORA-12154报错,本人碰到的错误原因是服务器端tnsnames.ora对应的HOST设置为,这个原因造成客户端远程连接时采用sysdba连接可以连上,采用普通用户则报ORA-12154错误,其他原因则可参见下面说明之前因为安装的是windows server 2008 r2的系统,oracle是11g r2 64bit,因为像很多网友一样,无法使用pl/sql?developer 8连接oracle,今天可算连上了,对listener.orasqlnet.ora?tnsnames.ora三个文件、TNSListener服务的认识也深了一层。先说说我是怎么样连接上的:我先安装了Oracle9i客户端精简版,然后将原来oracle 11g?r2的network文件夹下的tnsnames.ora文件覆盖掉精简客户端下的network文件夹中的tnsnames.ora。下面启动pl/sql developer,在支持信息中便会看到我tnsnames.ora下所编写的相关信息:那么登录时,在pl/sql developer登录框中便会看到tnsnames.ora中定义的tnsname:同时,决定是否登录成功的因素还有listener进程处于可用状态,你可以尝试一下,停止listerner服务(停止了listener进程,与listener.ora联系):那么就会提示错误:最后,恭喜你使用pl/sql developer 8登录oracle 11g r2 64bit成功啦。为了更好理解其背后的原理,我转载一篇很好的文章:一?oracle listener.orasqlnet.oratnsnames.ora 三个文件的关联性首先来说Oracle的网络结构,三个配置文件listener.ora、sqlnet.ora、tnsnames.ora?,都是放在$ORACLE_HOME\network\admin目录下。重点:三个文件的作用和使用1?sqlnet.ora作用类似于linux或者其他unix的nsswitch.conf文件,通过这个文件来决定怎么样找一个连接中出现的连接字符串(service_name),例如我们客户端输入sqlplussys/oracle@demo假如我的sqlnet.ora是下面这个样子SQLNET.AUTHENTICATION_SERVICES= (NTS)NAMES.DIRECTORY_PATH=?(TNSNAMES,HOSTNAME)那么,客户端就会首先在tnsnames.ora文件中找demo的记录.如果没有相应的记录则尝试把demo当作一个主机名,通过网络的途径(hosts文件)去解析它的ip地址然后去连接这个ip地址上GLOBAL_DBNAME=demo这个实例,当然我这里demo并不是一个主机名另一种情况:如果是这样NAMES.DIRECTORY_PATH= (TNSNAMES)那么客户端就只会从tnsnames.ora查找demo的记录,括号中还有其他选项,如LDAP等并不常用。2 Tnsnames.ora这个文件类似于unix?的hosts文件,提供的tnsname到主机名或者ip的对应,只有当sqlnet.ora中类似NAMES.DIRECTORY_PATH=?(TNSNAMES)这样,也就是客户端解析连接字符串的顺序中有TNSNAMES是,才会尝试使用这个文件。下面例子中有两个,demo?对应的本机,SALES对应的另外一个IP地址,里边还定义了使用主用服务器还是共享服务器模式进行连接.#你所要连接的时候输入得TNSNAMEdemo?=(DESCRIPTION =(ADDRESS_LIST =#下面是这个TNSNAME对应的主机,端口,协议(ADDRESS = (PROTOCOL = TCP)(HOST = 76 )(PORT = 1521)))(CONNECT_DATA =#使用专用服务器模式去连接需要跟服务器的模式匹配,如果没有就根据服务器的模式#自动调节(SERVER = DEDICATED)#对应service_name,SQLPLUSshow parameter service_name;#进行查看(SERVICE_NAME = demo)))#下面这个类似SALES =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 76)(PORT = 1521)))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = sales)))客户端完了我们来看服务器端, sqlnet.ora, tnsnames.ora 都是客户端文件.3 listener.oralist
文档评论(0)