Oracle Net8 Administrator's Guide Release 8.0 A58230-01 |
|
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:
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:
The following checklist is provided to help you outline the main components of your network.
It helps sometimes to draw a picture of your network layout displaying the logical as well as physical relationships between networking components.
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 refers to the method used by a client application to resolve a 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 is a new feature enabling users in a TCP/IP environment to resolve Oracle service names using their existing name resolution service. This name resolution service might be DNS, NIS, or simply a centrally-maintained set of "/etc/hosts" files.
Host naming allows users to connect to an Oracle server simply by using the server computer's host name or host name alias. No client configuration is required to take advantage of this feature. 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, heterogeneous services or application failover (which require additional connect information) are desired.
The process for establishing a client session using the host naming option is as follows:
The host naming option enables clients to connect to a remote server without configuration.
As the Oracle8 server is installed, a listener configuration file is generated automatically. The listener will be configured to support an initial database sharing the same name as the host, using the default TCP/IP listening address. Since host naming is used as a naming method by default, it will be used in the absence of a local naming configuration file and Names Server. Clients can make a connection to the initial database by using the host name as a service name.
Furthermore, clients can make connections to additional instances on the same host if they are aliased properly in an IP address translation mechanism such as DNS, NIS, or a centrally maintained TCP/IP hosts file.
Automatic configuration of the listener however, depends upon whether it receives accurate information about the host and domain name for the machine the server is installed on. If you cannot make a connection to the initial database using Host Naming over a TCP/IP network, verify that the global database name in the listener configuration file specifies a complete name, including domain name. For more information on configuring a listener, refer to Section 4.2, "Configuring the Network Listener".
Local naming refers to the method of resolving a 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.
The process for establishing a client session using the local naming option is as follows:
To configure local naming, proceed as follows:
For information on configuring clients to use the local naming option, refer to Section 5.2.1, "Configuring Naming Methods".
Centralized Naming refers to the method of resolving a service name to a network address by using Oracle Names. Oracle Names uses 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 a Names Server. Names Servers resolve the service name to a network address and return that information to the client.
The process for establishing a client session using the centralized naming option is as follows:
To configure centralized naming, proceed as follows:
For information on configuring clients to use centralized naming using Oracle Names, refer to Section 5.2.1, "Configuring Naming Methods".
For more information on configuring clients to use Oracle Names, refer to Section 5.5, "Configuring Clients to Use Oracle Names".
For additional information on configuring Oracle Names, refer to Chapter 6, "Oracle Names".
External Naming refers to the method of resolving a service name to a network address by using a supported non-Oracle naming service. Oracle Native Naming Adapters resolve service names stored in customers' native (non-Oracle) naming services. They include:
The process for establishing a client session using the external naming option is as follows:
To configure external naming using the Oracle Net8 Assistant, proceed as follows:
For more information on configuring clients to use the external naming option, refer to Section 5.2.1, "Configuring Naming Methods".
Oracle Names 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 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.
Table 3-1 summarizes the relative advantages and disadvantages of each naming method and provides recommendations for using them in your network.
You may improve the performance of large networks by implementing one of the following:
If you expect your network to receive excessive connection traffic, you can use the network listener to manage these requests by redirecting them to either prestarted or prespawned dedicated server processes or dispatcher server processes.
Table 3-2 summarizes the relative advantages of each process and provides recommendations for using them in your network.
For more information on configuring your network listener to redirect connect requests to either prestarted or prespawned dedicated server processes, refer to Section 4.2.3.4, "Configuring Prestarted or Prespawned Dedicated Server Processes".
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. Figure 3-1 shows how connection pooling works.
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.
Connection pooling is enabled by parameters in your server's INIT.ORA configuration file. For more information, refer to the Oracle8 Reference.
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.
Table 3-3 summarizes the relative advantages with using connection pooling and concentration and provides recommendations for using them in your network.
Load balancing is a feature that takes advantage of the fact that you can have multiple listeners for a single database or for two or more equivalent databases. By balancing the number of sessions coming into the listeners, you can improve connection performance. This may be achieved in one of two ways:
The listener load balancing feature allows you to distribute multiple incoming client sessions among several listeners. This feature helps to ensure that no single listener is overburdened. Periodically, each of the service handlers sends its load information to each listener that it is registered with. Thus, each listener knows how busy each of the handlers is and redirects incoming sessions to the least busy of those handlers.
Listener load balancing cannot be used in the following situations:
Listener load balancing is configured by defining multiple listeners for each database. Multiple listeners may exist either on the same platform as the database, or on different nodes as is the case with multi-threaded servers. For more information, refer to the Oracle8 Administrator's Guide.
If more than one listener services a single database, a client will randomly choose between the listeners for its connect requests. This randomization allows all listeners to share the burden of servicing incoming connect requests.
To enable your clients to choose from listeners at random, you will need to configure the different listening addresses for each service name. For more information on configuring service name addresses, refer to Chapter 6, "Oracle Names".
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.
Table 3-4 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: |
---|---|
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 Section 5.4.3, "Configuring Advanced Service Name Options".
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, refer to the section titled, Persistent Buffer Flushing for TCP/IP in Section 4.3.2, "Configuring Persistent Buffer Flushing".
If you anticipate receiving a large number of connection requests for a listening process (such as a network 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, refer to Section 4.2.2.3, "Configuring the Listener to Handle Larger Volumes of Connection Requests".
Table 3-5 summarizes many of the options you may have chosen as you planned your network.
Subject | Options |
---|---|
Network Layout |
|
Service Name Resolution |
|
Connection Request Management |
|
Network Performance |
|