4种名称解析方法easy connect、本地命名、目录命名以及外部命名。在实际运用中,大多数Oracle站点都使用了本地命名的解析方法。
简易连接 Easy Connect
Easy Connect名称解析方法的用法非常简单,并且不需要进行任何配置。不过,它只能使用TCP协议。其他名称解析方法可以使用Oracle支持的任何协议,例如带有安全套接字的TCP或命名管道协议。Easy Connect的另一个限制是不能与Oracle Net的高级性能(如负载平衡或者跨不同网络路由的连接时故障转移)一起使用。客观地说,DBA认为Easy Connect是使用最方便的名称解析方法,但是终端用户很少使用这种方法。Easy Connect在默认情况下处于启用状态。使用与下面的连接字符串相似的语法可以调用Easy Connect:
在这个示例中,SQL*Plus会使用TCP协议到达主机名jwvaio解析的IP地址的1521端口。如果一个侦听器在这个端口和地址上运行,那么就要求该侦听器针对提供服务orclz的实例产生服务器进程。
本地命名 local naming
使用本地命名时,用户可以为连接字符串提供一个Oracle Net服务别名,该别名通过一个本地文件解析为完整的网络地址(包括协议、地址、端口、服务名或实例名)。这个本地文件是臭名昭著的、困扰DBA多年的tnsnames.ora文件。下面示例给出了一个tnsnames.ora文件: 这个tnsnames.ora文件内部定义了两个Oracle Net服务别名:orclz和test。用户可以在他们的连接语句中使用这些别名。第一个条目 orclz仅仅说明发出连接字符串@orclz时,用户进程应当使用TCP协议到达计算机jwvaio并连接其端口1521,同时请求监视该端口的侦听器使用服务名orclz建立一个针对指定实例的会话。第二个条目test将用户指向不同计算机上的一个侦听器serv2.example.com,同时请求建立一个针对实例testdb的会话。 备注:服务别名、服务名和实例名之间不需要存在任何关系,不过为了便于使用,这些名称通常是相同的。
目录命名和外部命名
使用目录命名时,用户会指向一个解析别名的LDAP目录服务器。轻量级目录访问协议(LDAP, Lightweight Directory Protocol)是一个广泛使用的标准,Oracle公司(以及其他主流软件供应商)鼓励各组织都采用这个标准。为了使用目录命名,必须首先在网络中安装和配置一个目录服务器。Oracle提供了一个作为Oracle Application Server一部分的LDAP服务器(Oracle InternetDirectory),但是并非必须使用这个服务器。如果已经具有Microsoft ActiveDirectory的一个副本,使用这个副本就完全足够。此外,IBM和Novell 公司也销售遵循LDAP标准的目录服务器。 与本地命名类似,目录命名也支持Oracle Net的所有高级功能。与本地命名不一样的是,目录命名为所有名称解析细节提供了一个中心存储库:目录服务器。与在整个用户群体中维护众多tnsnames.ora文件相比,维护一个目录服务器更为容易。 从概念上看,外部命名类似于目录命名,不过这种方法使用了第三方命名服务,例如, Sun 公司的Network Information Services(NIS+)或者作为分布式计算环境(Distributed Computing Environment, DCE)一部分的CellDirectory Services(单元目录服务,CDS)。
|