如何理解sqlnet.ora文件中EZCONNECT参数与Easy Connect Naming Method方法,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
如果对tnsnames.ora文件没有做充分的配置,也可以使用Oracle的Easy Connect Naming Method方法测试数据库是否可以访问。
这里不对这种方法的原理和详细用法展开描述,这方面的信息可以通过以下Oracle连接获得。
http://download.oracle.com/docs/cd/B19306_01/network.102/b14212/naming.htm#i498306
或直接访问下属文章进行参考。
Net Services Administrator's Guide - 2 Quick Start to Oracle Net Connections - Task 3: Configure the Client for Connection to a Database
Net Services Administrator's Guide - 8 Configuring Naming Methods - Using the Easy Connect Naming Method
简单列一下该方法的使用语法,供参考。
CONNECT username/password@host[:port][/service_name][/instance_name]
CONNECT username/password@[//]host[:port][/service_name]
本文想要强调指出的是,如果想要使用Easy Connect Naming Method方法测试数据库的连通性,需要在sqlnet.ora文件中增加“NAMES.DIRECTORY_PATH= (EZCONNECT)”信息,否则该功能将无法使用。
1.sqlnet.ora文件的位置
该文件与listener.ora和tnsnames.ora文件处于同一目录,具体目录为:$ORACLE_HOME/network/admin。
2.体验报错,以此为鉴
如果是Windows客户端没有配置相应的参数,会收到如下报错:
C:\Users\secooler>sqlplus sec/sec@10.17.193.211:1521/ora10g
SQL*Plus: Release 10.2.0.3.0 - Production on 星期一 8月 2 21:19:01 2010
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
ERROR:
ORA-12154: TNS: 无法解析指定的连接标识符
请输入用户名:
ERROR:
ORA-12560: TNS: 协议适配器错误
请输入用户名:
ERROR:
ORA-12560: TNS: 协议适配器错误
SP2-0157: 在 3 次尝试之后无法连接到 ORACLE, 退出 SQL*Plus
C:\Users\secooler>
如Linux服务器端的sqlnet.ora文件没有设置相应的参数,将会收到如下错误:
sec@secdb /home/oracle$ sqlplus sec/sec@10.17.193.211:1521/ora10g
SQL*Plus: Release 10.2.0.3.0 - Production on Mon Aug 2 21:21:34 2010
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified
Enter user-name:
ERROR:
ORA-01017: invalid username/password; logon denied
Enter user-name:
ERROR:
ORA-01017: invalid username/password; logon denied
SP2-0157: unable to CONNECT to ORACLE after 3 attempts, exiting SQL*Plus
两种错误内容是一样的,从错误提示上看,很难直接定位是由于sqlnet.ora文件配置问题导致的。这就需要我们对Easy Connect Naming Method的原理深入了解。
3.向sqlnet.ora文件中添加“EZCONNECT”信息,解决该问题
“EZCONNECT”这个单词很好理解,从发音上即可等同于“Easy Connect”。从此,该参数将不再陌生。
sec@secdb /home/oracle$ cat $ORACLE_HOME/network/admin/sqlnet.ora
# sqlnet.ora Network Configuration File: /oracle/app/oracle/product/10.2.0/db_1/network/admin/sqlnet.ora
# Generated by Oracle configuration tools.
NAMES.DIRECTORY_PATH= (TNSNAMES,EZCONNECT)
在添加完参数后尝试连接,成功。
sec@secdb /oracle$ sqlplus sec/sec@10.17.193.211:1521/ora10g
SQL*Plus: Release 10.2.0.3.0 - Production on Mon Aug 2 21:31:50 2010
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring Engine options
sec@ora10g>
Oracle提供了很多类似文中提到的Easy Connect Naming Method小技巧。建议在使用这些便捷方法之前充分了解工具使用的前提和约束,这样可以在提高效率的同时不至于带来太多的障碍。
关于如何理解sqlnet.ora文件中EZCONNECT参数与Easy Connect Naming Method方法问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。