从Oracle Database 10g开始,一种称为Easy Connect Naming Method被引入到数据库中来,通过在客户端和数据库服务器端的sqlnet.ora文件中设置NAMES.DIRECTORY_PATH命名方法可以启用这个特性。
例如如下设置,指定数据库可以接受EZCONNECT方式的连接:
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
进行了这样的设定之后,可以在客户端使用如下方式进行数据库连接:
[oracle@drac1 admin]$ sqlplus eygle/eygle@172.16.3.248:1521/rac
SQL*Plus: Release 10.2.0.4.0 - Production on Tue Feb 8 19:08:42 2011
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Data Mining and Real Application Testing options
SQL>
在不存在TNSNAMES命名设置时,客户端连接会自动尝试EZCONNECT方式,如果可能就据此建立连接,这里EZ是Easy的含义。这一特性的连接语法如下:
CONNECT username/password@[//]host[:port][/service_name]
其中Host既可以是可解析的域名也可以是具体的IP地址,以下命令可以和前面的测试语句达到同样的效果sqlplus eygle/eygle@rac1:1521/rac :
[oracle@rac1 admin]$ sqlplus eygle/eygle@rac1:1521/rac
SQL*Plus: Release 10.2.0.4.0 - Production on Tue Feb 8 19:10:03 2011
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Data Mining and Real Application Testing options
SQL>
使用tnsping工具可以看出以上连接的创建过程:
[oracle@rac1 admin]$ tnsping rac.eygle.com
TNS Ping Utility for Solaris: Version 10.2.0.4.0 - Production on 08-FEB-2011 19:06:30
Copyright (c) 1997, 2007, Oracle. All rights reserved.
Used parameter files:
/opt/oracle/product/10.2.0/db10g/network/admin/sqlnet.ora
Used EZCONNECT adapter to resolve the alias
Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=rac1.eygle.com))
(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.3.248)(PORT=1521)))
OK (10 msec)
结合sqlnet.ora文件的设置,客户端和服务器端的连接可以设定很多内容,选项是极其丰富的。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。