Understanding SQL*Net
Integrating Oracle into Your Native Naming Environment
Oracle Native Naming Adapters enable network administrators to integrate Oracle service names into their existing naming environment by storing Oracle service names in non-Oracle name services such as Network Information Services (NIS), DCE CDS, Banyan's StreetTalk, and Novell's NetWare Directory Services (NDS). Clients can then access Oracle network services stored in these naming services. Oracle Native Naming Adapters can be used instead of or in conjunction with Oracle Names Servers and TNSNAMES.ORA files to provide cross-environment name resolution. Service names can be resolved to network addresses by Oracle Names Servers, TNSNAMES.ORA name lookup files, or by a native naming service.
What Is a Name Service?
A name service maps, or "resolves," a network name to an address. A name service such as Oracle Names or Network Information Services (NIS) manages and tracks only two attributes--name and location. A client can enter a name and have it resolved to an address, but the client cannot enter an address and have it resolved to a name.
Benefits of Using Name Services
The benefits of using a name service are:
- Name services make administration of larger networks easier and less time-consuming.
- A name service names each network object, thus enabling a user, administrator, or developer to refer to the network object by name without regard to its physical location.
- Centralized repositories reduce complexity and mass duplication of information.
- A names service provides consistent information across the enterprise.
- Network services can be relocated without any change made to clients. Database servers can be relocated without any effect on users.
- Changes can be made in a central location somewhere in the network on a database server instead of having to be stored on each client and server.
- Changes can be made in a single location and made available to all users.
- In the case of Oracle Names, whenever a change is made to an existing server or a new server is added to the network, the change is made centrally through Network Manager. This eliminates the need for an administrator to make changes to what potentially could be hundreds or even thousands of clients.
- Name services provide a single unified naming space for all network objects or entities. They uniquely identify all network resources.
- Name services provide a way for people, resources, and applications on the network to find each other without having to know each other's network address--instead people can just specify a simple, user-friendly name.
Oracle Native Naming Adapters Let Users Access Oracle Services Stored in Native Naming Environments
Most large distributed computing systems have several naming services. Maintaining these is a significant task, for which administrators often spend a great deal of time learning and developing tools. Adding another service, such as Oracle Names, requires additional learning, modifying old tools or adding new ones. A typical administrator might ask "Why doesn't Oracle use one of the naming services I already have? That way I can use the tools I already have, and maintain it in ways I'm already familiar with."
Oracle Native Naming Adapters, released with SQL*Net release 2.2 and later, resolve service names stored in customers' native (non-Oracle) naming services. They include:
- OSF DCE CDS (Cell Directory Service)
- Sun's Network Information Service (NIS), formerly known as "Yellow Pages"
- NetWare Directory Service (NDS), Novell's directory service
Native naming adapters planned for future releases of SQL*Net are:
- Internet Domain Name Service (DNS)
- X.500: The ISO Standard Directory Service originally built for use with OSI
After administrators load Oracle service names and addresses into the name service, users can connect to databases and other Oracle services by specifying the Oracle service name.
Integrating Different Names Services into your Network Environment
Oracle Names can be used in the network along with the native naming service, to provide cross-environment naming integration. Customers who use several different name services in different parts of their environment can achieve connectivity for all Oracle services by using Oracle Names.
Two-Tier Model Allows Distributed Computing
There have been various approaches to using name services in distributed environments. The industry is converging on a common two-tier model for implementing name services, however, with local name services such as Oracle Names, DCE CDS, or NIS handling local domains and communicating with each other through a global name service such as DNS or X.500. This model consists of an upper-tier global name service and a lower-tier local name service.
Global Name Service
The upper tier is a global name service that provides a standard interface and interoperability between local name services (which may be standard, that is "open," or proprietary). The global name service is based on services such as the Internet's DNS (Domain Name Service) or X.500.
For example, DNS might be used as the global name service, and Oracle Names, TNSNAMES.ORA files, NIS, and DCE CDS might be used as local name services. In this case, the local name service could be open, as is DCE CDS, or it could be proprietary, as is Oracle Names, NIS, and Banyan's StreetTalk. Alternatively, Oracle Names could be used as the global name service if only Oracle services are used, as it works across heterogeneous networks with a mix of protocols such as TCP/IP, DECnet, and SPX/IPX.
Local Name Service
The lower tier can consist of a single local name service or several local name services. For example, Oracle Names could be used as a single local name service, or in combination with other local name services, such as NIS, CDS, Novell's NDS, or Banyan's StreetTalk.
When to Use TNSNAMES.ORA, Oracle Names, or Oracle Native Naming Adapters
If you have a simple distributed network with a small number of services (about 100 or fewer), TNSNAMES.ORA files are a good solution. TNSNAMES.ORA files can resolve service names to network addresses across networks running different protocols. However, keep in mind that when changes need to be made, they must be distributed to every client and server.
If your network is more complicated and has over 100 services, Oracle Names Servers are a good solution. Because people are typically using a mix of protocols such as TCP/IP, SPX/IPX, DECnet, and NetBIOS, Oracle Names Servers are an appropriate naming solution because, like TNSNAMES.ORA files, they can resolve names across a heterogeneous network running several different protocols. Oracle Names Servers are a simpler solution than TNSNAMES.ORA files because they do not have to be located on every client and server (as TNSNAMES.ORA files do), and typically two or three Oracle Names Servers can service an entire region consisting of thousands of clients. Therefore, administration such as adding or relocating services is made much simpler in that changes only need to be made in a few locations.
If you use Oracle Names release 2.0 with the Dynamic Discovery Option, you may not need to create configuration files for your network components, and new components register themselves with the well-known Names Servers so that expanding a network is very easy. However, integrating this feature into an existing network is tricky. If you already have a large network and it is relatively static, it may not be worth the trouble to use the Dynamic Discovery Option.
One disadvantage of using TNSNAMES.ORA files or Oracle Names for name resolution is that they both store network names and addresses for Oracle services only. If you have non-Oracle services in your network environnment, you need to store them in name services other than those provided by Oracle, such as NIS, DCE CDS, or DNS.
A disadvantage of native naming services such as NIS, DCE CDS, Novell's NDS, and Banyan's StreetTalk is that they are typically specific to an operating system or specific network environment. Oracle Names, on the other hand, is a name service that spans across the entire environment and provides name resolution regardless of the operating system or network environment installed at the customer site. Oracle Names can be used in heterogeneous networks with different protocols.
Oracle Names Can Be Used as a Local or Global Name Service
Oracle Names can be used as a single local or global naming service. It can be used in conjunction with other proprietary or open naming services to provide cross-environment name resolution. For example, Oracle Native Naming Adapters for DCE CDS, NIS, Banyan's StreetTalk or Novell NDS could be installed on all clients and servers in an enterprise network already running Oracle Names to provide name resolution across multiple name services.
Currently, many organizations are using a global naming service such as DNS or X.500, and using one or more local directory or name services such as Oracle Names, Banyan's StreetTalk, or Novell NDS for their proprietary naming systems. What name service(s) you choose to run in your network environment depends on what types of applications and services are running in your environment.
Because Oracle Names is a proprietary name service, that is, it stores and resolves names and addresses for Oracle databases only, you may want to store all your Oracle services in Oracle Names, and use a directory service such as DNS or X.500 as your global naming service. (Oracle Native Naming Adapters for DNS and X.500 are planned for future releases of SQL*Net.) Since DNS is already used on the Internet, and Oracle Names is patterned after DNS, this might be a likely choice. Most corporations and organizations are already connected to the Internet, and since DNS is the name service used on the Internet, this is a likely option for many organizations. It is certainly not a requirement that you use DNS as your global name service--it just happens to be widely used already.
Administrators Can Load Oracle Service Names into their Native Naming Service
Oracle Native Naming Adapters allow administrators to load Oracle service names into their native name service using tools and utilities with which they are already familiar. For example, after installing the DCE CDS naming adapter on all clients and servers in a network environment, the administrator can use familiar DCE utilities to load Oracle service names into the DCE environment. After this is done, users and applications can connect to Oracle applications and services by specifying the Oracle service name or alias.
After configuring Oracle databases with Oracle Network Manager, you generate configuration files, including a NATIVE.ORA file. You then load the NATIVE.ORA file, which contains the service names and addresses, into the native naming service. For example, if you are using NIS, you load the Oracle service names and addresses into a NIS zone map using a TNS2NIS utility provided. For information on how to load service names into the native naming service see the Oracle documentation for your platform.
Connecting to Databases with Oracle Service Name
After the Oracle service names and addresses have been loaded into their native naming service, users can connect to databases by specifying the Oracle service name (global database name). For example:
sqlplus scott/tiger@sales.us.oracle.com
They can specify just the database name if the database is located in the default domain:
sqlplus scott/tiger@sales
Multiple Name Services Allowed
With this release of SQL*Net, network administrators can specify that one or more native naming services, such as NIS or DCE CDS, in addition to Oracle Names and TNSNAMES.ORA, be contacted to resolve network names to addresses. Using Oracle Network Manager, administrators can list the naming services in any order of priority.