Net8 Administrator's Guide
Release 8.1.5

A67440-01

Library

Product

Contents

Index

Prev Next

3
Planning Your Network

Net8 provides a variety of options to help you design and manage networks that are both flexible and easy to use. With Net8's enhanced scalability and manageability features, you can develop a network to support a wide range of environments whether they be simple workgroups or large mission critical enterprises.

This chapter describes considerations for planning a network using Net8. It explains the relationships of the network products, and options for expanding and better managing your future network. It includes the following sections:

Planning Overview

Take the time to review and plan your network before you configure it. As you are planning your Oracle network, remember to keep future needs in mind as well as present requirements. Some of the more important decisions which you will need to make regarding your network include:

Defining Your Network Layout

The following checklist is provided to help you outline the main components of your network.

  1. Define from the outset what it is you hope to accomplish with your network.

  2. Research the functionality required by your client applications, then assess the resources that are available to meet those requirements.

  3. Determine which machines or nodes are best suited for client or server applications.

  4. Select a networking protocol which best suits your existing or future networking requirements. You may be able to choose a single transport level protocol that works well on all the components in your network. Protocols are available for most of the major protocols on many platforms. Your network may also involve clients or servers operating over more than one protocol.

  5. If you decide to use multiple protocols on your network, determine which nodes are best suited to install Oracle Connection Manager. Your choice of nodes will be determined by the networking protocols you have chosen as well as the machine's capacity to handle anticipated traffic.

It helps sometimes to draw a picture of your network layout displaying the logical as well as physical relationships between networking components.

Resolving Net Service Names

Once you have defined your network layout, you will need to decide how best to configure and manage your network implementation. One of the first and most important decisions that you will need to make is choosing a naming method.

Naming Methods

Naming method refers to the method used by a client application to resolve a net service name to a network address when attempting to connect to a database service. Net8 provides four naming methods:

Depending on the size and characteristics of your network, each method will have positive and negative implications for both how the network is configured and administered.

Host Naming

Host naming enables users in a TCP/IP environment to resolve net service names using their existing name resolution service. This name resolution service might be DNS, NIS, or simply a centrally-maintained set of HOSTS files.

Host naming allows users to connect to an Oracle server simply by using the a host name alias. The connection is established by using the default TCP/IP port for the listener, that is, port 1521. Multiple databases per node and database location transparency are supported through matching listener global database names with host name aliases.

Host naming can eliminate the need for a local naming configuration file (TNSNAMES.ORA) in environments where simple database connectivity is desired. It is not however, suitable for large, complex environments where advanced features such as connection pooling, Oracle Connection Manager, or heterogeneous services.

For configuration information, see "Configuring the Network with the Host Naming Method".

Establishing a Connection Using the Host Naming Option

The process for establishing a client session using the host naming option is as follows:

  1. The client initiates a connect request providing a TCP/IP host name alias.

  2. Host naming resolves this host name or alias by generating a network address using the net service name as both the TCP/IP hostname and the global database name. The TCP/IP port defaults to 1521.

  3. Net8 makes the connect request to the address created.

  4. A listener, listening at registered TCP/IP port 1521, receives the request and establishes a connection to the database.

  5. The connection is accepted by the server.

Local Naming

Local naming refers to the method of resolving a net service name to a network address by using information configured on each individual client. Much like an address book, this information is entered in a local naming configuration file called TNSNAMES.ORA.

For configuration information, see "Configuring the Network with the Local Naming Method".

Establishing a Connection Using Local Naming

The process for establishing a client session using local naming is as follows:

  1. The client initiates a connect request providing a net service name.

  2. The net service name is resolved to a network address configured in a local naming file.

  3. Net8 makes the connect request to the address provided.

  4. A listener receives the request and directs it to the database it is servicing.

  5. The connection is accepted by the server.

Centralized Naming Using Oracle Names

Centralized Naming refers to the method of resolving a net service name to a network address by using Oracle Names. Oracle Names uses Oracle Names servers to store the names and addresses of all database services on a network. Much like people calling for directory assistance, clients wishing to connect to a server direct their connect requests to an Oracle Names server. Oracle Names servers resolve the net service name to a network address and return that information to the client.

For configuration information, see "Configuring the Network with the Local Naming Method".

Establishing a Connection Using the Centralized Naming Option

The process for establishing a client session using the centralized naming option is as follows:

  1. The client initiates a connect request providing a net service name.

  2. The connect request is forwarded to an Oracle Names server where the net service name is resolved to a network address. This address is returned to the client.

  3. Net8 makes the connect request to the address provided.

  4. A listener receives the request and redirects it to the database it is servicing.

  5. The connection is accepted by the server.

External Naming

External naming refers to the method of resolving a net service name to a network address by using a supported non-Oracle naming service. External naming resolves net service names stored in customers' external (non-Oracle) naming services. They include:

Establishing a Connection Using External Naming

The process for establishing a client session using external naming is as follows:

  1. The client initiates a connect request providing a net service name.

  2. An external naming method forwards the request to an external naming system that resolves the net service name to a network address. The address is returned to the client.

  3. Net8 makes the connect request to the address provided.

  4. A listener receives the request and redirects it to the database it is servicing.

  5. The connection is accepted by the server.

Configuring External Naming

To configure external naming using the Net8 Assistant, proceed as follows:

  1. Verify that the applicable external naming method has been installed on the client node.

  2. Specify the use of an external naming method (for example, CDS, NDS or NIS) in your profile. If it is not, use the Net8 Assistant to edit the client profile.

For configuration information, see "Configuring the Network with the External Naming Method".

Oracle Names and External Naming

Oracle Names can be used in conjunction with other proprietary or open naming services to provide cross-environment name resolution. For example, external naming for CDS/DCE, NIS or 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.

Since Oracle Names is a proprietary name service storing and resolving names and addresses for Oracle databases only, one names solution could be 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.

Choosing a Naming Method

The table below summarizes the relative advantages and disadvantages of each naming method and provides recommendations for using them in your network.

Naming Method   Advantages/Disadvantages   Recommended for:  

Host Naming  

  • Requires minimal user configuration. The user may provide only the name of the host to establish a connection.

  • Eliminates the need to create and maintain a local names configuration file (TNSNAMES.ORA).

  • Eliminates the need to understand Oracle Names administration procedures.

Disadvantages:

Available only if all of the following are true:

  • Your client and server are connecting using TCP/IP.

  • The host name is resolved through an IP address translation mechanism such as Domain Name Services (DNS), Network Information Services (NIS), or a centrally maintained TCP/IP hosts file.

  • No Oracle Connection Manager features are requested.

 

Simple TCP/IP networks that meet the criteria listed.  

Local Naming  

  • Provides a relatively straightforward method for resolving net service name addresses.

  • Resolves net service names across networks running different protocols.

Disadvantages: Requires local configuration of all net service name and address changes.  

Simple distributed networks with a small number of services that change infrequently.  

Oracle Names  

  • Centralizes network names and addresses in a single place, facilitating administration of name changes and updates. For example, whenever a change is made to an existing server or a new server is added to the network, the change is made only once on one Oracle Names server. This eliminates the need for an administrator to make changes to what potentially could be hundreds or even thousands of clients.

  • Resolves net service names across networks running different protocols

Disadvantages:

  • Oracle Names stores network names and addresses for Oracle services only.

  • Requires additional setup and administration of Oracle Names servers.

 

Large, complex networks (over 20 databases) that change on a frequent basis.  

External Naming  

Allows administrators to load Oracle net service name into their native name service using tools and utilities with which they are already familiar.  

Networks with existing name services.  

Improving Large Network Performance

You may improve the performance of large networks by implementing one of the following:

Managing Connection Requests

If you expect your network to receive excessive connection traffic, you can use the listener to manage these requests by redirecting them to either prestarted or prespawned dedicated servers or shared servers.

The table below summarizes the relative advantages of each, and provides recommendations for using them in your network.

Type   Advantages   Recommended for:  

Shared servers  

  • Utilizes network resources more efficiently than a dedicated server, thus increasing the throughput and performance of your sessions.

  • Enables you to minimize the memory and processing resources needed on the server side as the number of sessions to the database increases.

 

Networks where the Oracle shared or multi-threaded server is supported, or where the creation of a new server is slow and resource-intensive.  

Prestarted or prespawned dedicated servers (the default)  

  • Reduces connect time by eliminating the need to create a dedicated server for each new connection request.

  • Provides better use of allocated memory and system resources by recycling servers for use by other connections without having to shut down and recreate a server.

 

Networks where the Oracle shared or multi-threaded server is not supported, or where the creation of a new server is slow and resource-intensive.  

For more information about configuring your listener to redirect connect requests to either prestarted or prespawned dedicated servers, see Chapter 9, "Configuring Multi-Threaded Server".

Connection Pooling

Connection pooling is a resource utilization feature that allows you to maximize the number of physical network connections to a multi-threaded server. This is achieved by sharing or pooling a dispatcher's set of connections among multiple client processes.

By using a time-out mechanism to temporarily release transport connections that have been idle for a specified period of time, connection pooling makes these physical connections available for incoming clients, while still maintaining a logical session with the previous idle connection. When the idle client has more work to do, the physical connection is reestablished with the dispatcher.

This feature only works when multi-threaded server is configured.

Connection pooling concepts are described in "Connection Pooling", and configuration information is described in "Enabling Connection Pooling".

Connection Concentration

Connection concentration is a feature that is available through Oracle Connection Manager. It allows you take advantage of Net8's ability to multiplex or funnel multiple client sessions over a single transport to a multi-threaded server. Like connection pooling, concentration optimizes network resources and increases the number of client-server sessions that are possible across a fixed number of physical server ports. Unlike connection pooling, concentration maintains the transport connection.

Connection concentrations concepts are described in "Oracle Connection Manager Architecture", and configuration information is described in "Enabling Connection Concentration".

Using Connection Pooling and Concentration

The table below summarizes the relative advantages with using connection pooling and concentration and provides recommendations for using them in your network.

Feature   Advantages   Recommended for:  

Connection Pooling  

  • Limits the number of network resources used per process.

  • Maximizes the number of client/server sessions over a limited number of physical connections.

  • Optimizes resource utilization.

 

Networks where many clients run interactive "high think/search time" applications such as messaging and OLAP.  

Concentration  

  • Supports large client populations.

  • Allows identification and monitoring of real users.

  • Allows mid-tier applications to support additional services.

  • Requires only a single transport for clients with multiple applications.

  • Requires only a single network connection for database links.

 

Networks where "continuous" connectivity is required.  

Client Load Balancing

Load balancing is a feature by which client connections are distributed evenly among multiple listeners, dispatchers, instances, and nodes so that no single component is overloaded. By balancing the load, you can improve connection performance.

You can configure a client to randomly chooses between listeners for its connect requests. When client load balancing is set to on, Net8 balances the load over the list of listener addresses by picking one at random. When set to off, Net8 uses the elements in the list in the order in which they are provided. For configuration information, see "Configuring Multiple Address Options".

Optimizing Data Transfer by Adjusting the Session Data Unit (SDU) Size

Tuning your application to reduce the number of round trips across the network is the best way to improve your network performance. If this is done, it is also possible to optimize data transfer by adjusting the size of the session data unit (SDU).

The SDU is a buffer that Net8 uses to place data before transmitting across the network. Net8 sends the data in the buffer either when requested or when it is full.

The table outlines considerations when modifying the size of the SDU may or may not be appropriate.

Modify session data unit size when:   Do not modify session data unit size when:  
  • The data coming back from the server is fragmented into separate packets

  • You are on a wide area network (WAN) that has long delays

  • Your packet size is consistently the same

  • Large amounts of data are returned

 
  • Your application can be tuned to account for the delays

  • You have a higher speed network where the effect of the data transmission is negligible

  • Your requests return small amounts of data from the server

 


Note::

The SDU size should be set as a multiple of the normal transport frame size. Since the normal Ethernet frame size is 1024, the most efficient SDU size over an Ethernet protocol should be a multiple of 1024, but not more than four times the amount of 1024.

If you are using either connection pooling or connection concentration, keep in mind that these features require an additional 16 bytes per transport. For more information about the protocol frame size, refer to your protocol specific documentation.  


You may adjust the session data unit size by adding a parameter in your local naming configuration file (TNSNAMES.ORA). For more information, refer to "Configuring Advanced Connection Attributes for a Net Service Name".

Persistent Buffer Flushing for TCP/IP

Under certain conditions in some applications using TCP/IP, Net8 packets may not get flushed immediately to the network. Most often, this behavior occurs when large amounts of data are streamed from one end to another. The implementation of TCP/IP itself is the reason for the lack of flushing, and can cause unacceptable delays. To remedy this problem, you can specify no delays in the buffer flushing process.

For more information, see the TCP.NODELAY parameter in "Protocol-Specific Parameters (PROTOCOL.ORA)".

Configuring Listener Queuesize

If you anticipate receiving a large number of connection requests for a listening process (such as a listener, Oracle Connection Manager or Oracle Names) over TCP/IP, Net8 allows you to configure the listening queue to be higher than the system default.

For more information, see "Handling Larger Volumes of Connection Requests".

Planning Summary

The table below summarizes many of the options you may have chosen as you planned your network.

Subject   Options  

Network Layout  

  • Single or Multiple Protocols

 

Net Service Name Resolution  

  • Host Naming

  • External Naming

  • Centralized Naming

  • Local Naming

 

Connection Request Management  

  • Dedicated Servers

  • Prestarted/Prespawned Dedicated Servers

  • Shared Servers

 

Network Performance  

  • Connection Pooling

  • Connection Concentration

  • Client Load Balancing

  • Optimizing the Session Data Unit Size

  • Persistent Buffer Flushing

  • Increasing the Listener Queue Size

 




Prev

Next
Oracle
Copyright © 1999 Oracle Corporation.

All Rights Reserved.

Library

Product

Contents

Index