Skip Headers
Oracle® Database Net Services Administrator's Guide
11g Release 1 (11.1)

B28316-05
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Master Index
Master Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
PDF · Mobi · ePub

7 Planning the Network

Oracle Net Services provide a variety of options to help you design and manage networks that are both flexible and easy to use. With Oracle Net Services 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 Oracle Net Services. It explains the relationships of the network products, and options for expanding and better managing your future network.

This chapter contains these topics:

7.1 Deploying a Network Inside an Organization

As Figure 7-1 shows, an internal network often has a diverse client makeup. Besides traditional clients that need access to the database servers, Web clients also need access. The type and number of clients, as well as other networking issues, affect the types of features to consider deploying.

Figure 7-1 Internal Network Layout

Description of Figure 7-1 follows
Description of "Figure 7-1 Internal Network Layout"

This section addresses deployment considerations for an internal network in terms of the following categories:

7.1.1 Scalability

For an organization with hundreds or thousands of clients, scalability is of the utmost importance. Oracle Net Services offers a number of features that can improve database server scalability, including shared server, connection pooling, and session multiplexing.

7.1.1.1 Shared Server

With a shared server architecture, a small pool of server processes can serve a large number of clients. This reduces the server's memory requirements. Connection pooling and session multiplexing features are enabled through shared server.

7.1.1.2 Connection Pooling

Connection pooling enables the database server to time out protocol connections and to use those connections to service an active session.

7.1.1.3 Session Multiplexing

Session multiplexing, available with Oracle Connection Manager, enables multiple client sessions to funnel through a single protocol connection.

When session multiplexing is used with connection pooling, you can increase the total number of client sessions the server can handle.

Table 7-1 summarizes the relative advantages of using connection pooling and session multiplexing and provides recommendations for using them in the network.

Table 7-1 Connection Pooling and Session Multiplexing

Feature Advantages Disadvantages Recommended for

Connection Pooling

  • Reduces the number of network resources used for each process

  • Supports larger client populations

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

  • Optimizes network traffic and network resource utilization, such as network connection bandwidth

  • Enables identification and monitoring of real users

  • Enables middle-tier application Web servers or applications that need to access back-end database to support additional services, such as Oracle Application Server

  • Requires only a single transport for clients with multiple applications

  • Requires only a single network connection for database links

Database sessions should use the IDLE_TIME resource parameter.

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

Session Multiplexing

  • Limits the number of network resources used for each process

  • Supports large client populations

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

  • Optimizes resource utilization

  • Enables identification and monitoring of real users

  • Enables 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

  • Provides support for pre-Oracle8 clients

Clients must connect to Oracle Connection Manager.

Networks where continuous connectivity is required.


7.1.2 Availability

Availability to the database is crucial for any internal network. You can configure multiple listeners to handle client connection requests for the same database service. This is especially ideal in an Oracle Real Application Clusters configuration, where each instance has a listener associated with it. Multiple listener configurations enable you to utilize connect-time failover and connection load balancing features.

This section includes the following topics:

7.1.2.1 Connect-Time Failover

Connect-time failover enables clients to request a different listener (usually on a different node) if the first listener fails.

7.1.2.2 Client Load Balancing

Client load balancing enables clients to randomize requests to the multiple listeners (usually on different nodes).

These features can be used together or separately. Together, they ensure access to the database and distribute the load so as not to overburden a single listener.

7.1.3 Naming Methods

Selecting the appropriate naming method for mapping names to connect descriptors depends upon the size of the organization.

For a small organization with only a few databases, use easy connect naming to make TCP/IP connections with the host name of the database server or local naming to store names in tnsnames.ora file on the clients.

For large organizations with several databases, use directory naming to store names in a centralized directory server.

See Also:

"Naming Considerations" for further information about selecting a naming method

7.1.4 JDBC Drivers

Java client applications access an Oracle database through a Java Database Connectivity (JDBC) Driver—a standard Java interface for connecting from Java to a relational database. Oracle Corporation offers the following drivers:

  • OCI driver for client side and application Web server use with an Oracle client installation

  • Thin driver for client side use without an Oracle installation, particularly with applets

7.1.5 Security

Ensure that Internal networks are deployed inside a firewall.

See Also:

Oracle Database Advanced Security Administrator's Guide for further information about providing security for the internal network

7.1.6 Tuning and Performance

Oracle Net Services offers a number of features that can help reduce round-trip time across the network, increase listener performance, and reduce the number of protocols used.

This section includes the following topics:

7.1.6.1 Listener Queue Size

If you anticipate receiving a large number of connection requests for a listening process, you can increase the size of the listener queue.

7.1.6.2 Session Data Unit (SDU) Size

Before sending data across the network, Oracle Net buffers and encapsulates data into the session data unit (SDU). Oracle Net sends the data stored in this buffer when the buffer is full, flushed, or when database server tries to read data. When large amounts of data are being transmitted or when the message size is consistent, adjusting the size of the SDU buffers can improve performance, network utilization, or memory consumption. You can deploy SDU at the client, the application Web server, and the database server.

7.1.6.3 Protocol Conversion

The database need only be configured to listen on one protocol address, even though clients may use other protocols. Oracle Connection Manager provides a protocol conversion feature that enables a client and database server configured with different networking protocols to communicate with one another.

7.2 Deploying a Network for the Internet

As Figure 7-2 shows, an Internet network is usually consists of Web clients that access firewall-protected application Web servers, that then connect to a database. An Internet network has many of the same requirements as an internal network, but it also has its own unique set of requirements.

This section examines both requirements and includes the following topics:

Figure 7-2 Internet Network Layout

Description of Figure 7-2 follows
Description of "Figure 7-2 Internet Network Layout"

7.2.1 Scalability

Like an internal network, scalability can be improved in an Internet network with shared server, connection pooling, and session multiplexing features configured on the database server. Session multiplexing can also be configured on the application Web server tier. This can help offload some of the network I/O of the application Web servers, increasing throughput.

7.2.2 Availability

Availability to the database is crucial for any Internet network with a firewall. It is important to deploy at least two Oracle Connection Manager firewalls or Oracle Net Firewall Proxies in the event that one firewall goes down.

7.2.3 Naming Methods

For an Internet network, configure the application Web servers needed to connect to the databases with the local naming method.

See Also:

"Naming Considerations" for further information about selecting a naming method

7.2.4 JDBC Drivers

Java applications that reside on the application Web server require the JDBC OCI driver.

7.2.5 Security

Security in an Internet network is crucial to control access to the database.

This section includes the following topics:

7.2.5.1 Access Control

Granting and denying access to the a database is crucial for a secure network environment. You can configure access control through a firewall or on the database. For firewall support, you can configure Oracle Connection Manager to function as a firewall, whereby it grants or denies clients access to a particular database service or a computer based on a set of filtering rules. For the database, you can configure access control parameters in the sqlnet.ora file to specify that clients using a particular protocol are allowed or denied access.

7.2.5.2 Listener and Database Server Connection Limits

To prevent unauthorized clients from attempting denial-of-service attacks on the listener or database server, you can configure limits that constrain the time in which resources can be held prior to authentication. Client attempts to exceed the configured limits will result in connection terminations and an audit trail containing the IP address of the client being logged.

7.2.5.3 Tuning and Performance

The performance and tuning features described in "Tuning and Performance" can also be deployed for an Internet network.

7.3 Naming Considerations

Table 7-2 summarizes the relative advantages and disadvantages of each naming method and provides recommendations for using them in the network.

Table 7-2 Naming Methods: Advantages and Disadvantages

Naming Method Advantages/Disadvantages Recommended for:

Local Naming

Advantages:

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

  • Resolves net service names across networks running different protocols

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

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

Directory Naming

Advantages:

  • Centralizes network names and addresses in a single place, facilitating administration of name changes and updates. This eliminates the need for an administrator to make changes to what potentially could be hundreds or even thousands of clients.

  • Directory stores names for other services.

  • Tools provide simple configuration.

Disadvantage: Requires access to a directory server

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

Easy Connect Naming

Advantages:

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

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

Disadvantage: Available only in a limited environment, as indicated in the Recommended for column

Simple TCP/IP networks that meet the criteria listed:

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

  • No features requiring a more advanced connect descriptor are required

External Naming

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

Disadvantage: Requires a third-party naming services that cannot be administered using Oracle Net products

Networks with existing name services.


7.4 Performance Considerations

This section covers performance considerations. It includes the following topics:

7.4.1 Listener Queue Size

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

7.4.2 Session Data Unit Size for Data Transfer Optimization

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 Oracle Net uses to place data into before transmitting it across the network. Oracle Net sends the data in the buffer either when requested or when it is full.

Table 7-3 outlines considerations for modifying the size of the SDU.

Table 7-3 SDU Considerations

Modify SDU size when: Do not modify SDU 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

  • The packet size is consistently the same

  • Large amounts of data are returned

  • The application can be tuned to avoid the delays listed in the Modify SDU size when column

  • 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


7.4.3 Persistent Buffer Flushing for TCP/IP

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

See Also:

Oracle Database Net Services Reference for further information about the TCP.NODELAY parameter

7.5 Planning Summary

Table 7-4 summarizes the features you can deploy.

Table 7-4 Oracle Net Feature Summary

Feature See Also

Scalability Features

 

Connection Pooling

"Enabling Connection Pooling"

Session Multiplexing

"Enabling Session Multiplexing"

Shared Server

"Configuring Dispatchers"

Availability Features

 

Client Load Balancing

"Configuring Address List Parameters"

Connect-Time Failover

"Configuring Address List Parameters"

Naming Method Features

 

Directory Naming

"Configuring the Directory Naming Method"

Easy Connect Naming

"Using the Easy Connect Naming Method"

Local Naming

"Configuring the Local Naming Method"

JDBC Drivers

Oracle Database JDBC Developer's Guide and Reference

Security Features

 

Access Control

"Enabling Access Control" to configure Oracle Connection Manager

"Configuring Database Access Control" to configure access control parameters in sqlnet.ora

Listener and Database Server Connection Limits

"Configuring the Listener and the Oracle Database To Limit Resource Consumption By Unauthorized Users"

Tuning and Performance Features

 

Listener Queue Size

"Starting and Stopping a Listener"

SDU Size

"Configuring Session Data Unit"

Protocol Conversion

Chapter 11, "Configuring and Administering Oracle Connection Manager"