Oracle Names Administrator's Guide Go to Product Documentation Library
Library
Go to books for this product
Product
Go to Contents for this book
Contents
Go to Index
Index



Go to previous file in sequence Go to next file in sequence

Advanced Topics


This chapter discusses the following advanced topics in detail:


Defining a Client Profile

All clients that belong to the same community, use the same Interchanges, and the same Names Servers can share a single client profile. Any variation requires a separate client profile.

Administrator`s Role

The administrator should advise each client as to which client profile is best suited to it. This takes basic planning of the network model in anticipation of how it will be used. As the details of the client profile change, the client must receive a new copy of the configuration files.

Consider the example in the following figure. The naming model is a basic hierarchy of two domains (DD1 and DD2), administered as a single administrative region (RAR). The network has two communities (C1 and C2), two Interchanges (I1 and I2), and three Names Servers (N1, N2, and N3).

Figure C - 1. Sample Client Profiles

Fully extrapolated, this could lead to a very large number of client profiles. Table C-1 lists the possible client profiles for the three clients shown in the following figure.

Table C - 1. Possible Client Profiles

Table C-1 Client Communities Interchange Default Domain Names Servers
Possible Client Client 1 C1 I1, I2 DD1 N1, N2
Profiles for Figure C1 I1, I2 DD1 N2, N1
C1 I1, I2 DD2 N1, N2
C1 I1, I2 DD2 N2, N1
C1 I2, I1 DD1 N1, N2
C1 I2, I1 DD1 N2, N1
C1 I2, I1 DD2 N2, N1
C1 I2, I1 DD2 N2, N1
Client 2 C2 I1, I2 DD1 N3, N2
C2 I1, I2 DD1 N2, N3
C2 I1, I2 DD2 N3, N2
C2 I1, I2 DD2 N2, N3
C2 I2, I1 DD1 N3, N2
C2 I2, I1 DD1 N2, N3
C2 I2, I1 DD2 N3, N2
C2 I2, I1 DD2 N2, N3
Client3 C1, C2 - DD1 N1, N2, N3
C1, C2 - DD1 N1, N3, N2
C1, C2 - DD1 N2, N1, N3
C1, C2 - DD1 N2, N3, N1
C1, C2 - DD1 N3, N1, N2
C1, C2 - DD1 N3, N2, N1
C1, C2 - DD2 N1, N2, N3
C1, C2 - DD2 N1, N3, N2
C1, C2 - DD2 N2, N1, N3
C1, C2 - DD2 N2, N3, N1
C1, C2 - DD2 N3, N1, N2
C1, C2 - DD2 N3, N2, N1
This simple case can result in as many as 28 client profiles if you include all "not-null" permutations.

In practice, however, there are usually very few client profiles to describe all clients. The entire network shown may be serviced by having all clients be defined as:

Table C - 2. Possible Client Definitions

Table C-2 Client Communities Interchange Default Domain Names Servers
Actual Client Profiles Client 1 C1 I1, I2 DD1 N1, N2
Used in Installation C1 I2, I1 DD2 N2, N1
Client 2 C2 I1, I2 DD1 N1, N2
C2 I2, I1 DD2 N2, N1
Client 3 C1, C2 - DD1 N1, N2, N3
C1, C2 - DD2 N2, N3, N1
Each client could then be identified based on which of these six client profiles best fits its needs. Basic load balancing is achieved on the Interchanges and Names Servers by making the different domain members use different preferred Interchanges and Names Servers first. Client 3 does not require Interchange definitions because it can connect to all nodes directly on C1 or C2, and thus would never use the Interchange.

During configuration, the SQL*Net administrator creates a default client profile for each of the communities and domains in the network. In many cases these are adequate for all clients sharing those properties.

Synchronizing Clients

The client profile consists of two configuration files-- TNSNAV.ORA which defines the Interchange preferences, and SQLNET.ORA which defines the Names Servers preferences.

Physically, clients may each have a copy of the files, or they may share a copy mounted on a distributed file system such as PC LAN or Network File System (NFS). In the latter case, the administrator can handle all initial distribution and updates without any exposure to the user. When the clients have individual copies, there are many ways to distribute the files. See Oracle Network Manager Administrator's Guide for information about distributing the configuration files.


Delegating Authority from a Central Administrative Region

The example in Figure C-2 is an illustration of a central region delegating authority to two administrative regions--US and UK. This example is used throughout the following sections.

Figure C - 2. A Central Region Using a Hierarchical Naming Model

The tasks an administrator must perform to delegate authority to another region are:

The tasks a delegated region's administrator must do in order to bring the definition in line with the "rest of the world" are:

Note: Each region's administrator must have a separate version of the Network Manager in which to create or update the network definition.

To delegate administrative authority from one single, central administrative region (using a hierarchical naming model) to two administrative regions, use the following procedures.

Define the Local Region's Name

Create the region name by appending one of the domains that the region contains onto the end of the region name. It doesn't matter what domain name is appended to the region name, as long as it is one of the domains that reside in the region. By default, Network Manager puts the local region into the WORLD domain. For example, ROOT_REGION.ACME.COM would be an appropriate choice for this example. To define the name of the local region:

Note: If you are using a hierarchical naming model, it is recommended that you select a domain name other than WORLD.

After receiving a copy of the root region network definition, each of the delegated region administrators must update their network definitions to reflect their new region names, for example, US_REGION and UK_REGION.

Mark Domains in Local Region as Local

Each administrator must designate all domains in the local region as local. The root region must also do this after delegating authority to another region.

To mark domains in a local region as local:

Delete Databases No Longer in the Local Region

After receiving a copy of the network definition from the root region administrator, both the UK and the US administrators must delete databases and listeners that are not in their respective regions. Similarly, the root region administrator must delete databases and listeners that are no longer in the root region.

To delete databases from the local region:

Marking Domains Not in Local Region as Foreign Domains

The root administrator must mark all delegated domains as foreign in the root region's network definition. Similarly, the delegated administrators must mark all domains not in their local regions as foreign. For example, the UK administrator must mark all domains in the root region as foreign, and all domains in the US region as foreign.

To mark all foreign domains as foreign, individually select all foreign domains on the Network Manager: Object List window and mark them as foreign on their respective Domain property sheets.

Note: WORLD must also be marked as a foreign domain from the point of view of the UK and US regions. The WORLD domain is local to the ROOT region, even though it is not used in hierarchical configurations.


Define Foreign Regions

The root administrator and the delegated region administrators must define foreign regions and designate the domains as being in a specific foreign region.

To create a foreign region:

Every region (other than ROOT) must define the root region as a foreign region in its network definition. The domains contained in the root region (ROOT, COM, ACME.COM, and WORLD) must be allocated as foreign domains. Upon defining the root region as a foreign region, Names Servers associated with the foreign region will be displayed in the Names Servers list box.

An administrative region only needs to have a record of network objects in its own region, in any child regions directly below it, and the root region. Foreign regions that have a sibling relationship do not have to be defined as foreign regions. For example, the UK region does not have to define the US region as a foreign region because the US region's domains are not children of the domains in the UK. In fact, the UK region only needs to have in its network definition addresses for any Names Servers in its own region, and any Names Servers in the root region.

The root administrative region must have in its network definition the addresses of Names Servers in the root region, and Names Server addresses of any direct child regions only.


Remote Domains and Names Server Hints


Defining Local and Foreign Domains in Network Manager

The network administrator must enter the information for domains and other related data within that administrative region by using Network Manager. Domains within each administrative region are known as local (or "domestic") domains from that region's point of view, while all other domains are foreign.

Names are often retrieved across regions, resulting in data from one administrative region entering the Names Servers of another region. Clients never communicate directly with Names Servers in another region; rather, they communicate with a local Names Server and it forwards the request to the desired location. This process is described in more detail in the sections on resolving names to foreign domains.

The following figure shows a client with a default domain of EUROPE.ACME.

Figure C - 3. Domestic and Foreign Domains

From the point of view of the client in the AR2 region, the EUROPE.ACME and the ROW.ACME domains are domestic and the ACME and US.ACME domains are foreign. For example, the names ART.EUROPE.ACME or PASSPORTS.ROW.ACME are resolved directly using the client's local Names Server. Requests for DEATH.US.ACME or TAXES.US.ACME, however, can only be answered by a Names Server in AR1, because they refer to the foreign domain US.ACME. The client would contact a Names Server in the AR2 region, which in turn would forward the request to a Names Server in AR1.

Caching Foreign Data

When data is retrieved from a foreign region, the local Names Server returns the response to the client, and keeps the foreign data in its cache for a period of time. Foreign data that is retrieved and cached includes database addresses from foreign regions, and Names Server addresses that are not part of the system data.

Because the data is stable (that is, it is not likely the data will be redefined frequently relative to the Time to Live value), caching data retrieved from another region is a low-cost, effective way to increase performance in the system. If another user requests the same name, the local Names Server can respond with the details from the cached data without forwarding the request.

Data is not only cached in the Names Server supplying the client, it is stored in all Names Servers the name comes in contact with. Whenever data is encountered in any way, subsequent requests will be faster if more Names Servers know the answer.

Cached Foreign Data's Time To Live (TTL)

If all foreign data were stored indefinitely in other Names Servers, when changes occurred in a particular administrative region, this would invalidate many cached names in many Names Servers in the network.

Because of this, foreign names are only stored in the cache for a predetermined length of time (default is one day) after which they are dropped. This is known as the cached data's Time To Live (TTL) which literally counts down until the time expires and the name is dropped.

The implications are that the foreign data in the cache is never older than the configured TTL. By default, each Names Server will query once per day for each foreign name in its cache, and it will query the Names Server in the region where the foreign name was defined. Once a Names Server gets a foreign name it is valid for the length of time in the configured TTL. After that, if a client requests the name, the Names Server will query the region where the data is considered local.

The actual TTL value for a server is configured by using the Network Manager when the region is defined. All data in the region has the same TTL. You should choose the value based on the likelihood that the data will change, and the anticipation that it will be requested from other regions. Whenever a response is passed between regions, a TTL is set and begins counting down.

Short TTLs propagate changes more quickly, but decrease overall performance because more queries must be resolved at the data source; that is, names must be resolved by retrieving them from the Names Server in the region where the data is considered local.

In the event that source data in a particular region is changed by a network administrator, and the cached data is out of date for the remainder of the TTL, that name can be dropped (before the TTL expires) using the NAMESCTL command FLUSH_NAME.

Authoritative vs. Non-Authoritative Responses

Retrieved data is considered authoritative or non-authoritative.

Many administrators get nervous at phrases like "not guaranteed". Remember that non-authoritative data is simply a performance optimization to avoid having to retrieve data from its authoritative source every time. If the data in a particular Names Server is out of date (that is, the TTL has expired), the Names Server would look up the data in the region where the data is local.


How Names are Resolved in Delegated Administrative Regions

The term "delegated" refers to a network with multiple administrative regions. Many sites have a single administrative region.

Name resolution among regions is a highly optimized process that minimizes communication between servers. In the absolute case, a region can find any other region by asking a Names Server in the root administrative region for the address of a Names Server in that region. Like foreign name caching, data such as local Names Server addresses and delegated Names Server addresses are also cached (with a TTL) to avoid having to request this data each time a query is made. Also, like foreign data, only the first query to a region requires looking up a Names Server address; all subsequent requests from the local Names Server use the cached system data.

The following sections step through a simple and a complex case of name resolution across regions. Initially, the example assumes that no cross-region traffic has previously occurred, then subsequent requests are described.

Resolving Names from Foreign Domains

When a name is requested from outside the current administrative region, the following process occurs:

In most cases this is a simple transaction. Consider the following example:

Resolving Multi-Level Names Across Administrative Regions

Finding an authoritative server in a very large distributed administrative hierarchy can require iteration. If, for example, a Names Server asked for the address of a Names Server servicing a grandchild region of the root (two levels down), the root may only know the addresses of one of its direct children, which in turn can supply its children's addresses. In other words, the root forwards the request to its child region, which would forward the request to its child region for the answer.

Figure C - 4 shows this process and the sequence of events assuming that no data has been previously cached.

Figure C - 4. Network Messages in a Multi-Level Foreign Name Resolution

For the duration of the TTL, subsequent requests for the same name to the same Names Server do not require step 9.

Also for the duration of the TTL, any subsequent requests in DR1 for names in the DR2.1 region are resolved by communicating directly with its servers.

More Examples of How Names are Resolved Across Administrative Regions

Additional examples will make this process clearer. Following are two examples: one which resolves a database service name across regions, and the second which resolves both a database link and a database service name across regions.

Note: These examples extend the naming model enough to explain detailed cross-region name resolution. If you are not using more than one level of delegation, it is not important that you read the sections on multi-level delegation. In practice, five level domain naming models, and three level administrative region delegation are rare.

Figure C - 5 shows a client in the administrative region AR4.1 (default domain JP.ROW.ACME) connecting to the database server BLUE.GA.US.ACME, which performs a distributed query to the database server JAY.LONDON.UK.EUROPE.ACME.

Figure C - 5. Name Resolution in a Complex Administrative Hierarchy

Note that the AR4 region is not involved. Resolution goes directly from the requesting region to the root, then to AR1 directly. Subsequent requests within AR4.1 for the same name will be resolved from the Names Server cache in AR4.1 until the Names Server TTL expires. (Refer to the "Cached Foreign Data Time to Live (TTL)" section earlier in this appendix) Subsequent requests for other names in the AR1 region by clients in AR4.1 will not contact the root.

The same process is followed when a user on the database BLUE.GA.US.ACME in AR1 uses the global database link JAY.LONDON.UK.EUROPE.ACME.

Subsequent requests for the JAY.LONDON.UK.EUROPE.ACME global database link will be identical to the process in steps 1 and 8. As a local name, it is already optimized. Subsequent requests for the name JAY.LONDON.UK.EUROPE.ACME will be resolved in the foreign data cache. Subsequent requests for other names in the AR3 or AR3.1 regions will be made directly to those regions--the root region is not required.

Optimizing for Repeated Queries

The Oracle Names system is specifically optimized to ensure that the costs incurred in examples like the ones above are minimized. After a small number of inter-region queries, a Names Server will usually know all of the addresses of the Names Servers in the regions it will contact that day. It is very infrequent that the number of messages shown in the previous example is required.

Table C - 3 is a summary of the Names Servers involved in the client/server connection between the client in region AR4.1 and the server BLUE.GA.US.ACME in region AR1. It includes the Names Servers involved from each region, the information they learned (cached), and what they already knew (from the network definition database).

Names Server in: Learned Already Knew
region AR4.1 Service name data:
BLUE.GA.US.ACME
Addresses of Names Servers in region AR1
Addresses of Names Servers in region ROOT
region AR1 Nothing Addresses of Names Servers in region ROOT
Service name data:
BLUE.GA.US.ACME
Table C - 3. Foreign Data Storage in Name Resolution between the Client and BLUE.GA.US.ACME

Similarly, resolution of the global database link name JAY.LONDON.UK.EUROPE.ACME from the Names Server in the AR1 region is performed through the ROOT region, and down the hierarchy with the following foreign data stored, as shown in Table C - 4.

Names Server in: Learned Already Knew
region AR1 Service name data: JAY.LONDON.UK. EUROPE.ACME Addresses of Names Servers in region AR3.1 Addresses of Names Servers in region AR3 Addresses of Names Servers in region ROOT
region AR3.1 Nothing Addresses of Names Servers in region ROOT Service name data: JAY.LONDON.UK.EUROPE.ACME
region AR3 Service name data: JAY.LONDON.UK.EUROPE.ACME Addresses of Names Servers in region ROOT Addresses of Names Servers in region AR3.1
Table C - 4. Foreign Data Storage in Name Resolution between BLUE.GA.US.ACME and JAY.LONDON,UK.EUROPE.ACME


Defining Objects in Foreign Domains

In a network with distributed administration, the need to define aliases for network objects in foreign domains will occasionally arise. This need is most common with database links, as any user can create database links in any database where the user has an account and adequate database privileges. For this reason, the network administrator may need to define an alias for a global database in that foreign domain in Network Manager.

For instance, assume the following example is extended to include a second global database link in the Names Server in the AR1 region called HR, as shown in Figure C - 6.

Figure C - 6. Alias for a Database Defined in a Foreign Domain

If the database user happens to be in Japan, the name HR.GA.US.ACME can be added through the administrator in region AR4.1 by:

Foreign domain definitions only require the name; all other system data is looked up by Oracle Names.

Optimizing Performance with Foreign Domain Lookup

To optimize Names Server performance, the network administrator defines all foreign domains in Network Manager. When you start a Names Server, it collects all foreign domain references defined in Network Manager for its administrative region, and requests the addresses of the Names Servers for their regions using the process described earlier in this chapter. The results are stored in the cache in anticipation of names in the foreign domain being requested. Any requests by clients for data in that administrative region can then forward name requests to the regions containing the foreign domains directly, without using the root domain to find them.

This initial operation is a series of system queries to store the foreign server addresses in advance of a foreign domain name request. The result is a performance optimization when clients request names from that domain.

Using the example in following figure:

When the client requests the database BLUE.GA.US.ACME in the AR1 region, the request is forwarded from the Names Server in region AR4.1 directly to a Names Server in the AR1 region.

Foreign Data and Names Servers

All Names Servers in an administrative region share the same local (or "domestic") data as well as the addresses of Names Servers in the root region. All Names Servers in a particular region start with the same pre-defined data, for example, local database names, root region's Name Server addresses, and Names Server addresses in foreign regions. Any other information learned through answering queries will stay in an individual Names Server cache, but other Names Servers in the same region may not have the exact same information at all times. After running for a while, each Name server cache in a region will be unique.

Within a region then, each Names Server may behave differently when resolving a foreign name, depending on its previous experiences and the state of its cache. In all but the rarest occasions, the query results will always be the same.

Network Support

In a multi-community TNS network, choosing a multi-protocol node as a Names Server minimizes the number of nodes that need to be installed for redundancy. There is certainly no requirement that the Names Server run on a multiple protocol node; it is a matter of minimizing administrative overhead for complete TNS network naming service coverage.




Go to previous file in sequence Go to next file in sequence
Prev Next
Oracle
Copyright © 1996 Oracle Corporation.
All Rights Reserved.
Go to Product Documentation Library
Library
Go to books for this product
Product
Go to Contents for this book
Contents
Go to Index
Index