PK
>Aoa, mimetypeapplication/epub+zipPK >A iTunesMetadata.plistX
This chapter describes how to optimize connection performance. This chapter contains the following topics:
Under typical database configuration, Oracle Net encapsulates data into buffers the size of the session data unit (SDU) before sending the data across the network. Oracle Net sends each buffer when it is filled, flushed, or when an application tries to read data. Adjusting the size of the SDU buffers relative to the amount of data provided to Oracle Net to send at any one time can improve performance, network utilization, and memory consumption. When large amounts of data are being transmitted, increasing the SDU size can improve performance and network throughput.
The amount of data provided to Oracle Net to send at any one time is referred to as the message size. Oracle Net assumes by default that the message size will normally vary between 0 and 8192 bytes, and infrequently, be larger than 8192 bytes. If this assumption is true, then most of the time, the data is sent using one SDU buffer.
The SDU size can range from 512 bytes to 65535 bytes. The default SDU for the client and a dedicated server is 8192 bytes. The default SDU for a shared server is 65535 bytes.
The actual SDU size used is negotiated between the client and the server at connect time and is the smaller of the client and server values. Configuring an SDU size different from the default requires configuring the SDU on both the client and server computers, unless you are using shared servers. For shared servers, only the client value must be changed because the shared server defaults to the maximum value.
You should consider changing the SDU size when the predominant message size is smaller or larger than 8192. The SDU size should be 70 bytes larger than the predominant message size. If the predominant message size plus 70 bytes exceeds the maximum SDU, then the SDU should be set such that the message size is divided into the smallest number of equal parts where each part is 70 bytes less than the SDU size. To change the default, change the DEFAULT_SDU_SIZE
parameter in the sqlnet.ora
file.
For example, if the majority of the messages sent and received by the application are smaller than 8KB, taking into account the 70 bytes for overhead, then setting the SDU to 8KB will likely produce good results. If sufficient memory is available, then using the maximum value for the SDU minimizes the number of system calls and overhead for Oracle Net Services.
Note: Starting with Oracle Database 11g, Oracle Net Services optimized bulk data transfer for components, such as Oracle SecureFiles LOBs and Oracle Data Guard redo transport services. The SDU size limit, as specified in the network parameter files, does not apply to these bulk data transfers. |
To set the SDU size for the database server, configure the following files:
sqlnet.ora
Configure the DEFAULT_SDU_SIZE
parameter in the sqlnet.ora
file, as follows:
DEFAULT_SDU_SIZE=8192
Initialization parameter file
If using shared server processes, then set the SDU size in the DISPATCHERS
parameter in the initialization parameter file, as follows:
DISPATCHERS="(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp))(SDU=8192))"
listener.ora
If you have configured the listener with a list of targets in the listener.ora
file, then the value for SDU in the SID_LIST
element overrides the current setting in the sqlnet.ora
file when using dedicated server processes.
SID_LIST_listener_name
=
(SID_LIST=
(SID_DESC=
(SDU=8192)
(SID_NAME=sales)))
The smaller value of the SDU size and the value configured for the client take precedence.
To set the SDU size for the client, configure the following files:
sqlnet.ora
For global configuration on the client side, configure the DEFAULT_SDU_SIZE
parameter in the sqlnet.ora
file, as follows:
DEFAULT_SDU_SIZE=8192
tnsnames.ora
For a particular connect descriptor, you can specify the SDU
parameter in the DESCRIPTION
parameter.
sales.us.example.com=
(DESCRIPTION=
(SDU=11280)
(ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=1521))
(CONNECT_DATA=
(SERVICE_NAME=sales.us.example.com))
)
The SDU size applies to all Oracle Net protocols for the particular connect descriptor.
Bandwidth-delay product is the product of network bandwidth and the round trip time of data going over the network. A simple way to determine the round trip time, is to use a command such as ping
from one host to another and use the response times returned by ping
.
For example, if a network has a bandwidth of 100 Mbps and a round trip time of 5ms, then the send and receive buffers should be at least (100*10^6) * (5/10^3) bits or approximately 62.5 Kilobytes.
The following equation shows the relationships between the units and factors involved:
100,000,000 bits 1 byte 5 seconds ---------------- x ------ x --------- = 62,500 bytes 1 second 8 bits 1000
Setting the SEND_BUF_SIZE
and RECV_BUF_SIZE
to at least the bandwidth-delay product insures that when large amounts of data are being sent that the network bandwidth will be optimally utilized.
Based on the preceding equation, the bandwidth-delay product of this network link is approximately 64KB. If the largest message used to transfer redo data between a primary database and a standby database is 1MB, then the value for the SEND_BUF_SIZE
and RECV_BUF_SIZE
parameters could be 1MB. However, if the average message is less, then a setting of 64KB should be sufficient to optimize use of the available bandwidth.
For most network protocols, ensure that the RECV_BUF_SIZE
parameter at one end of the network connection, typically at the client, equals the value of the SEND_BUF_SIZE
parameter at the other end, typically at the server.
Reliable network protocols, such as TCP/IP, buffer data into send and receive buffers while sending and receiving to or from lower and upper layer protocols. The sizes of these buffers affect network performance by influencing flow control decisions.
The RECV_BUF_SIZE
and SEND_BUF_SIZE
parameters specify sizes of socket buffers associated with an Oracle Net connection. To ensure the continuous flow of data and better utilization of network bandwidth, specify the I/O buffer space limit for receive and send operations of sessions with the RECV_BUF_SIZE
and SEND_BUF_SIZE
parameters. The RECV_BUF_SIZE
and SEND_BUF_SIZE
parameter values do not have to match, but should be set according to your environment.
For best performance, the size of the send and receive buffers should be set large enough to hold all the data that may be sent concurrently on the network connection. For a simple database connection, this typically maps to the OCI_PREFETCH_MEMORY
size.
Use these parameters with caution as they affect network and system performance. The default values for these parameters are operating system-specific.
These parameters are supported for TCP, TCP/IP with SSL, and SDPs. Additional protocols may support these parameters on certain operating systems. The recommended values for these parameters are specified in the installation guide. Refer to operating system-specific documentation of Oracle Net for additional information.
Notes:
|
See Also: Oracle Call Interface Programmer's Guide for additional information about theOCI_PREFETCH_MEMORY parameter |
To configure the client, set the buffer space size in the following locations in the specified file:
Setting only the RECV_BUF_SIZE
parameter is typically adequate. If the client is sending large requests, then also set the SEND_BUF_SIZE
parameter. These parameters are set in the client's sqlnet.ora
file.
For a particular connect descriptor, you can override the current settings in the client sqlnet.ora
file. You can specify the buffer space parameters for a particular protocol address or description in the tnsnames.ora
file similar to the following:
sales.us.example.com= (DESCRIPTION= (ADDRESS_LIST= (ADDRESS=(PROTOCOL=tcp)(HOST=sales1-server)(PORT=1521) (SEND_BUF_SIZE=11784) (RECV_BUF_SIZE=11784)) (ADDRESS=(PROTOCOL=tcp)(HOST=sales2-server)(PORT=1521) (SEND_BUF_SIZE=11784) (RECV_BUF_SIZE=11784)) (CONNECT_DATA= (SERVICE_NAME=sales.us.example.com))) hr.us.example.com= (DESCRIPTION= (SEND_BUF_SIZE=8192) (RECV_BUF_SIZE=8192) (ADDRESS=(PROTOCOL=tcp)(HOST=hr1-server)(PORT=1521)) (CONNECT_DATA= (SERVICE_NAME=hr.us.example.com)))
Because the database server writes data to clients, setting the SEND_BUF_SIZE
parameter on the server-side is typically adequate. If the database server is receiving large requests, then also set the RECV_BUF_SIZE
parameter.To configure the database server, set the buffer space size in the listener.ora
and sqlnet.ora
files.
In the listener.ora
file, specify the buffer space parameters for a particular protocol address or for a description. The following is an example of the settings:
LISTENER= (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=1521)(SEND_BUF_SIZE=11784)
(RECV_BUF_SIZE=11784)
) (ADDRESS=(PROTOCOL=ipc)(KEY=extproc)(SEND_BUF_SIZE=11784)
(RECV_BUF_SIZE=11784)))
LISTENER2= (DESCRIPTION=(SEND_BUF_SIZE=8192)
(RECV_BUF_SIZE=16384)
(ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=1521)))
The following is an example of the settings in the sqlnet.ora
file:
RECV_BUF_SIZE=65536 SEND_BUF_SIZE=65536
If using shared server processes, then you can override the current settings obtained from the server sqlnet.ora
file by setting the buffer space parameters in the DISPATCHERS
initialization parameter as follows:
DISPATCHERS="(ADDRESS=(PROTOCOL=tcp)(SEND_BUF_SIZE=65536))"
Oracle Net Services provides support for the Sockets Direct Protocol (SDP) for InfiniBand high-speed networks.
SDP is a standard communication protocol for clustered server environments. SDP is an interface between a network interface card and the application. By using SDP, applications place most of the messaging burden upon the network interface card, freeing the CPU for other tasks. As a result, SDP decreases network latency and CPU utilization.
SDP is designed specifically for System Area Networks (SANs). A SAN is characterized by short-distance, high-performance communications between multiple server systems, such as Oracle Application Server or any other third-party middle-tier client and database servers clustered on one switch.
Note: Check with your individual vendor for their version compatibility with Oracle Database 11g.Visit the Oracle Technology Network for additional information about SDP support at |
The following sections describe how to set up Oracle Net support of SDP for middle tier and database server communication. It contains the following topics:
Prior to configuring support for SDP, install the required hardware, and set up InfiniBand hardware and software compatible with OpenFabrics Enterprise Distribution (OFED) 1.4 from a designated vendor on both the application Web server and database server.
During installation of the InfiniBand software, identify the constant that defines SDP or the address family for the system. This can be obtained from the operating system or OFED documentation.
See Also: Vendor documentation for installation information. |
To configure the database server, configure an SDP address in the listener.ora
file on the database server.
Note: If the SDP or address protocol family constant is not 27, the default value for Oracle Net Services, then define the constant in theSDP.PF_INET_SDP parameter in the sqlnet.ora file. |
The following example shows an SDP endpoint that uses port number 1521 on the computer sales-server
.
LISTENER= (DESCRIPTION= (ADDRESS_LIST= (ADDRESS=(PROTOCOL=sdp)(HOST=sales-server)(PORT=1521)) (ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=1521)) (ADDRESS=(PROTOCOL=ipc)(KEY=extproc))))
Note: If the SDP or address protocol family constant is not 27, the default value for Oracle Net Services, then define the constant in theSDP.PF_INET_SDP parameter in the sqlnet.ora file. |
The following procedure describes how to configure the Oracle Application Server servers or third-party middle-tier client:
If configuring third-party middle-tier client, then upgrade the clients to use Oracle Database 11g Client software, as follows:
Run Oracle Universal Installer.
Select Oracle Database 11g Client from the Available Products page.
For both Oracle Application Server servers and third-party middle-tier client, create a net service name to connect to the database server:
For Oracle Application Server servers, specify a net service name that uses the same TCP/IP protocol address configured in the tnsnames.ora
file. For example:
sales= (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=sales-server))) (CONNECT_DATA= (SERVICE_NAME=sales.us.example.com)))
For third-party middle-tier clients, specify a net service name that uses the same SDP address configured in the tnsnames.ora
file.
For example:
sales= (DESCRIPTION= (ADDRESS=(PROTOCOL=sdp)(HOST=sales-server))) (CONNECT_DATA= (SERVICE_NAME=sales.us.example.com)))
See Also: Chapter 8, "Configuring Naming Methods" for additional information about creating connect descriptors |
Unauthorized access to the listener or database server can result in denial-of-service attacks, whereby an unauthorized client attempts to block authorized users' ability to access and use the system when needed. Malicious clients may attempt to flood the listener or database server with connect requests that have the sole purpose of consuming resources, such as connections, processes, or threads. To mitigate these types of attacks, configure limits that constrain the time in which resources can be held prior to authentication. Client attempts to exceed the configured limits result in connection terminations and an audit trail containing the IP address of the client being logged.
To limit the resource consumption by unauthorized users and enable the audit trail, set time-limit values for the parameters described in Table 14-1.
Table 14-1 Connect-Timeout Parameters
Parameter | File | Description |
---|---|---|
listener.ora |
The time, in seconds, for the client to complete its connect request to the listener after the network connection had been established. If the listener does not receive the client request in the time specified, then it terminates the connection. In addition, the listener logs the IP address of the client and an ORA-12525: TNS:listener has not received client's request in time allowed error message to the | |
sqlnet.ora on the database server |
The time, in seconds, for a client to connect with the database server and provide the necessary authentication information. If the client fails to establish a connection and complete authentication in the time specified, then the database server terminates the connection. In addition, the database server logs the IP address of the client and an ORA-12170: TNS:Connect timeout occurred error message to the |
When specifying values for these parameters, consider the following recommendations:
Set both parameters to an initial low value.
Set the value of the INBOUND_CONNECT_TIMEOUT_
listener_name
parameter to a lower value than the SQLNET.INBOUND_CONNECT_TIMEOUT
parameter.
For example, you can set INBOUND_CONNECT_TIMEOUT_
listener_name
to 10 seconds and SQLNET.INBOUND_CONNECT_TIMEOUT
parameter to 50 seconds. If clients are unable to complete connections within the specified time due to system or network delays that are normal for the particular environment, then increment the time as needed.
See Also:
|
This preface describes the new networking features of Oracle Database 11g and provides pointers to additional information.
The new features for Oracle Net Services in Oracle Database 11g Release 2 include:
Internet Protocol Version 6 (IPv6) Addressing and Connectivity
This feature includes the following enhancements:
IPv6 support for a single-instance database environment
Session layer abstraction to support listening across all IPv4 and IPv6 interfaces
Oracle Restart
Oracle Restart enhances the availability of Oracle databases in a single-instance environment by restarting the database, the listener, and other Oracle components after a hardware or software failure or whenever your database host computer restarts. The components are started in the proper order, taking into consideration the dependencies among components.
Support for TRANSPORT_CONNECT_TIMEOUT
and CONNECT_TIMEOUT
at the description level in the connect string. These timeouts apply to each IP address that resolves to a host name.
TRANSPORT_CONNECT_TIMEOUT
specifies the time, in seconds, for a client to establish a TCP connection to the database server. The default value is 60 seconds.
CONNECT_TIMEOUT
specifies the time, in seconds, for a client to establish an Oracle Net connection to the database instance. This parameter overrides the SQLNET.OUTBOUND_CONNECT_TIMEOUT
parameter.
CIDR and wildcard support for valid node checking.
The valid node checking list can include CIDR notation for IPv4 and IPv6 addresses. Wildcard format (*) is supported for IPv4 addresses.
The new features for Oracle Net Services in Oracle Database 11g Release 1 include:
Enhanced Network Administration Security
Non-Anonymous LDAP Access for Net Naming
Database administrators can now restrict access to a service by associating an access control list (ACL) with it. This feature can be used with installations that require an extremely high level of security.
See "Configuring the Directory Naming Method" and "Configuring Database Access Control".
Performance Improvements
New Oracle Net fastpath for the common usage scenarios significantly improves Oracle Net performance and is enabled by default in Oracle Database 11g. Users do not need to perform any configuration for this feature.
Efficient network support for bulk data transfers, such as SecureFiles LOBs. This feature eases the notion of session data unit (SDU) and optimizes large data transfers over an Oracle Net connection by using new paradigms.
PHP Scalability
This feature adds Oracle Net support for efficient event-dispatch mechanisms on platforms that support them. This is internally enabled for PHP usage scenarios and users do not need to perform any configuration for enabling this feature.
Fast Reconnects for High Availability (HA)
This feature adds a mechanism for efficient detection of terminated nodes and connect time failover. Configurable timeouts have been implemented at various levels.
Support for Database Resident Connection Pooling
This feature enables you to share connections or sessions between multiple middle-tier processes
See Also:
|
Enhancements to the Easy Connect Naming Method
For TCP/IP environments, you can simplify client configuration by using the Easy Connect naming method. The Easy Connect naming method simplifies network management by allowing clients to connect to Oracle Database services without first configuring net service names. Instead, clients make connections with the host name and optional port and service name of the database. See "Using the Easy Connect Naming Method".
Part III describes how to establish connections, and identify and diagnose problems with Oracle Net Services.
This part contains the following chapters:
Net Services Administrator's Guide
11g Release 2 (11.2)
E10836-07
July 2011
Oracle Database Net Services Administrator's Guide, 11g Release 2 (11.2)
E10836-07
Copyright © 2002, 2011, Oracle and/or its affiliates. All rights reserved.
Contributors: Robert Achacoso, Lance Ashdown, Matt Cassady, Abhishek Dadhich, Santanu Datta, Steve Ding, Caroline Johnston, Feroz Khan, Bhaskar Mathur, Scot McKinley, Ed Miner, Sweta Mogra, Srinivas Pamu, Kant Patel, Murali Purayathu, Karthik Rajan, Saravanakumar Ramasubramanian, Kevin Reardon, Sudeep Reguna, James Spiller, Richard Strohm, Norman Woo
This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.
The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.
If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:
U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle America, Inc., 500 Oracle Parkway, Redwood City, CA 94065.
This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.
This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.
This chapter describes how to configure client and server configuration parameters in profiles. A profile is a collection of parameters that specifies preferences for enabling and configuring Oracle Net features on the client or database server. A profile is stored and implemented through the sqlnet.ora
file.
This chapter contains the following topics:
You can use a profile to:
Specify the client domain to append to unqualified names
Prioritize naming methods
Enable logging and tracing features
Route connections through specific processes
Configure parameters for an external procedure
Configure Oracle Advanced Security
Use protocol-specific parameters to restrict access to the database
Oracle Universal Installer launches Oracle Net Configuration Assistant after software installation on the client and server. Oracle Net Configuration Assistant configures the order of the naming methods that the computer uses to resolve a connect identifier to a connect descriptor
Configuration with the Oracle Net Configuration Assistant during installation results in an entry in the sqlnet.ora
file similar to the following:
NAMES.DIRECTORY_PATH=(ezconnect,tnsnames)
NAMES.DIRECTORY_PATH
specifies the priority order of the naming methods to use to resolve connect identifiers. If the installed configuration is not adequate, then use Oracle Net Manager to change the sqlnet.ora
configuration.
The following sections describe available client configuration options:
In environments where the client often requests names from a specific domain, it is appropriate to set a default domain in the client sqlnet.ora
file with the NAMES.DEFAULT_DOMAIN
parameter. This parameter is available to local and external naming methods.
When a default domain is set, it is automatically appended to any unqualified net service name given in the connect string, and then compared to net service names stored in a tnsnames.ora
file.
For example, if the client tnsnames.ora
file contains a net service name of sales.us.example.com
, and the default domain is us.example.com
, then the user can enter the following connect string:
CONNECT scott@sales
Enter password: password
In the preceding example, sales
gets searched as sales.us.example.com
.
If the connect string includes the domain extension, such as in CONNECT scott@sales.us.example.com
, then the domain is not appended.
If a net service name in a tnsnames.ora
file is not domain qualified and the NAMES.DEFAULT_DOMAIN
parameter is set, then the net service name must be entered with a period (.
) at the end of the name. For example, if the domain is set to us.example.com
and the client tnsnames.ora
file contains a net service name of sales2
, then the user would enter the following connect string:
CONNECT scott@sales2.
Enter password: password
In the preceding example, the client would connect to sales2
, not sales2.us.example.com
.
The following procedure describes how to specify a default domain:
Start Oracle Net Manager.
In the navigator pane, select Profile from the Local menu.
From the list in the right pane, select Naming.
Click the Methods tab.
In the Default Domain field, enter the domain.
Select Save Network Configuration from the File menu.
The sqlnet.ora
file should contain an entry that looks similar to the following:
NAMES.DEFAULT_DOMAIN=us.example.com
After naming methods are configured, as described in Chapter 8, "Configuring Naming Methods", they must be prioritized. Naming methods to resolve a connect identifier are tried in the order they appear in the list. If the first naming method in the list cannot resolve the connect identifier, then the second method in the list is used, and so on.
The following procedure describes how to specify the order of naming methods:
Start Oracle Net Manager.
In the navigator pane, select Profile from the Local menu.
From the list in the right pane, select Naming.
Click the Methods tab.
Table 12-1 describes the naming method values listed in the Methods tab.
Table 12-1 Naming Method Values
Naming Method Value | Description |
---|---|
Resolve a net service name through the See Also: "Configuring the Local Naming Method" | |
Resolve a database service name, net service name, or net service alias through a directory server. | |
Enable clients to use a TCP/IP connect identifier, consisting of a host name and optional port and service name, or resolve a host name alias through an existing names resolution service or centrally maintained set of See Also: "Using the Easy Connect Naming Method" | |
Resolve service information through an existing network information service (NIS). |
Select naming methods from the Available Methods list, and then click the right-arrow button.
The selected naming methods move to the Selected Methods list.
Order the naming methods according to the order in which you want Oracle Net to try to resolve the net service name or database service name. Select a naming method in the Selected Methods list, and then click Promote or Demote to move the selection up or down in the list.
Select Save Network Configuration from the File menu.
The sqlnet.ora
file updates with the NAMES.DIRECTORY_PATH
parameter:
NAMES.DIRECTORY_PATH=(ldap, tnsnames)
Clients and servers can be configured so connection requests are directed to a specific process. The following procedure describes how to route connection requests to a process:
Start Oracle Net Manager.
In the navigator pane, select Profile from the Local menu.
From the list in the right pane, select General.
Click the Routing tab.
Select the preferred way for routing connections.
Note: To configure all connections to use a particular server, you select the Always Use Dedicated Server option in Oracle Net Manager. This sets theUSE_DEDICATED_SERVER parameter in the sqlnet.ora file to force the listener to spawn a dedicated server for all network sessions from the client. The result is a dedicated server connection, even if a shared server is configured. |
Choose File > Save Network Configuration.
You can configure the sqlnet.ora
file to allow access to some clients and deny access to others. Table 12-2 describes the available settings.
Table 12-2 Access Control Settings in sqlnet.ora
Oracle Net Manager Field/Option | sqlnet.ora File Parameter | Description |
---|---|---|
Specify whether to screen access to the database. If this field is selected, then Oracle Net Manager checks the parameters | ||
Specify which clients using the TCP/IP protocol are denied access to the database. | ||
Specify which clients using the TCP/IP protocol are allowed access to the database. |
If the TCP.INVITED_NODES parameter does not include the listener node, then the Listener Control utility cannot connect to the listener. This will prevent start, stop and administration commands from being performed on the listener.
If there are invalid host names or IP addresses listed in the TCP.INVITED_NODES parameter or the TCP.EXCLUDED_NODES parameter, then the Listener Control utility cannot contact the listener.
The following procedure describes how to configure database access control:
Start Oracle Net Manager.
In the navigator pane, select Profile from the Local menu.
From the list in the right pane, select General.
Click the Access Rights tab.
Select the Check TCP/IP client access rights option.
In the Clients allowed to access fields and Clients excluded from access, enter either a host name or an IP address for a client that you want to include or exclude, using commas to delimit entries placed on the same line.
Table 12-3 describes the advanced sqlnet.ora
file settings that you can set.
Table 12-3 Advanced Settings in sqlnet.ora
See Also:
|
The following procedure describes how to set advanced features in the sqlnet.ora
file:
Start Oracle Net Manager.
In the navigator pane, select Profile from the Local menu.
From the list in the right pane, select General.
Click the Advanced tab.
Enter the values for the fields or options you want to set.
Select Save Network Configuration from the File menu.
The sqlnet.ora
file is used to configure required client parameters needed for Network Information Service (NIS) external naming. The following procedure describes how to configure the NIS parameter in the sqlnet.ora
file:
Start Oracle Net Manager.
In the navigator pane, select Profile from the File menu.
From the list in the right pane, select Naming.
Click the External tab.
Select Save Network Configuration from the File menu.
Oracle Advanced Security enables data encryption and integrity checking, enhanced authentication, and single sign-on. Oracle Advanced Security also provides centralized user management on LDAP-compliant directory servers and certificate-based single sign-on. This functionality relies on the Secure Sockets Layer (SSL).
The following procedure describes how to configure a client or server to use Oracle Advanced Security features:
Start Oracle Net Manager.
In the navigator pane, select Profile from the Local menu.
From the list in the right pane, select Oracle Advanced Security.
Each Oracle Advanced Security tab page enables you to configure a separate set of parameters.
Select or edit options as applicable.
Select Save Network Configuration from the File menu.
See Also:
|
This chapter describes the basic elements of Oracle Net Services architecture and the Oracle Net foundation layer.
This chapter contains the following topics:
Oracle Net Services provides enterprise-wide connectivity solutions in distributed, heterogeneous computing environments. Oracle Net Services eases the complexities of network configuration and management, maximizes performance, and improves network diagnostic capabilities.
This section introduces the basic networking concepts involved in a typical network configuration. This section contains the following topics:
Oracle Net, a component of Oracle Net Services, enables a network session from a client application to an Oracle Database server. When a network session is established, Oracle Net acts as the data courier for both the client application and the database. It is responsible for establishing and maintaining the connection between the client application and database, as well as exchanging messages between them. Oracle Net is able to perform these jobs because it is located on each computer in the network.
This section contains the following connectivity topics:
Oracle Net enables connections from traditional client/server applications to Oracle Database servers. Figure 1-1 shows how Oracle Net enables a network connection between a client and a database server. Oracle Net is a software component that resides on both the client and the database server. Oracle Net is layered on top of network Oracle protocol support, rules that determine how applications access the network and how data is subdivided into packets for transmission across the network. In Figure 1-1, Oracle Net communicates with TCP/IP to enable computer-level connectivity and data transfer between the client and the database.
Figure 1-1 Client/Server Application Connection
Specifically, Oracle Net is comprised of the Oracle Net foundation layer, which establishes and maintains connections, and Oracle protocol support, which maps the foundation layer technology to industry-standard protocols.
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 offers the following drivers:
JDBC OCI Driver for client side use with an Oracle client installation
JDBC Thin Driver, a pure Java driver for client side use without an Oracle installation, particularly with applets
These drivers use Oracle Net to enable connectivity between a client application and an Oracle Database.
Figure 1-2 shows a Java client application using a JDBC OCI driver and an Oracle Database server. The Java client application makes calls to the JDBC OCI driver, which translates the JDBC calls directly into the Oracle Net layer. The client then uses Oracle Net to communicate with the Oracle Database that is also configured with Oracle Net.
Internet connections from client Web browsers to an Oracle Database server are similar to client/server applications, except that the connection request goes to an application Web server.
Figure 1-3 shows the basic architecture for Web client connections, including a client Web browser, an application Web server, and an Oracle Database server. The browser on the client communicates with HTTP protocol to the Web server to make a connection request. The Web server sends the request to an application where it is processed. The application then uses Oracle Net to communicate with the Oracle Database server that also is configured with Oracle Net.
Figure 1-3 Web Client Connections through Application Web Server
The basic components have the following characteristics:
HyperText Transport Protocol (HTTP)
HTTP provides the language that enables Web browsers and application Web servers to communicate.
An application Web server manages data for a Web site, controls access to that data, and responds to requests from Web browsers. The application on the Web server communicates with the database and performs the job requested by the Web server.
An application Web server can host Java applications and servlets, as shown in Figure 1-4. Web browsers make a connection request by communicating through HTTP to an application Web server. The application Web server sends the request to an application or a servlet, which uses a JDBC OCI or a JDBC Thin driver to process the request. The driver then uses Oracle Net to communicate with the Oracle Database server that also is configured with Oracle Net.
Figure 1-4 Web Client Connections Through Java Application Web Server
Web clients that do not require an application Web server to access applications can access the Oracle Database directly, for example, by using a Java applet. In addition to regular connections, the database can be configured to accept HTTP protocol, FTP protocol, or WebDAV protocol connections. These protocols are used for connections to Oracle XML DB in the Oracle Database instance.
Figure 1-5 shows two different Web clients. The first Web client makes an HTTP connection to the database. The second Web client uses a Web browser with a JDBC Thin driver, which in turn uses a Java version of Oracle Net called JavaNet to communicate with the Oracle Database server that is configured with Oracle Net.
Figure 1-5 Web Client Connection Scenarios
Oracle Net Services offers several manageability features that enable you to easily configure and manage networking components. These features are described in the following topics:
Each database is represented by one or more services. A service is identified by a service name, for example, sales.us.example.com
. A client uses a service name to identify the database it must access. The information about the database service and its location in the network is transparent to the client because the information needed for a connection is stored in a repository.
The repository is represented by one or more naming methods. A naming method is a resolution method used by a client application to resolve a connect identifier to a connect descriptor when attempting to connect to a database service. Oracle Net Services offers several types of naming methods that support localized configuration on each client, or centralized configuration that can be accessed by all clients in the network. GUIs enable you to manage data stored in the naming methods.
For example, in Figure 1-6, a company has three databases that clients can access. Each database has a distinct service name, such as sales.us.example.com
, hr.us.example.com
, and mktg.us.example.com
.
The client uses the repository to find the information it needs for sales.us.example.com
.
After the client has the information it needs, it connects to the database.
Figure 1-6 Service Information Repository
To manage large networking environments, administrators have to be able to easily access a centralized repository to specify and modify the network configuration. For this reason, the Oracle Net Services configuration can be stored in a LDAP-compliant directory server.
Support of LDAP-compliant directory servers provides a centralized vehicle for managing and configuring a distributed Oracle network. The directory can act as a central repository for all information about database network components, user and corporate policies, and user authentication and security, thus replacing client-side and server-side localized configuration files.
All computers on the network can refer to the directory for information. Figure 1-7 shows clients, other servers (such as application Web servers) and Oracle Database servers connecting to a centralized directory server.
Figure 1-7 Centralized Storage of Network Configuration with a Directory Server
See Also: "Using a Directory Server for Centralized Management" for an in-depth overview of directory server concepts |
Networking elements for the Oracle Database server and clients are preconfigured for most environments. The Easy Connect naming method is enabled by default and does not require a repository. Clients connect simply using the hostname of the database. As a result, clients and servers are ready to connect out-of-the-box using Easy Connect, giving users the benefits of distributed computing.
The Oracle Database shared server architecture increases the scalability of applications and the number of clients that can be simultaneously connected to the database. The shared server architecture also enables existing applications to scale up without making any changes to the application itself.
When using a shared server, clients do not communicate directly with a database server process, a database process that handles a client's requests on behalf of a database. Instead, client requests are routed to one or more dispatchers. The dispatchers place the client requests in a common queue. An idle shared server from the shared pool of server processes picks up and processes a request from the queue. This means a small pool of server processes can serve a large number of clients.
Figure 1-8 and Figure 1-9 show the basic difference between the shared server connection model and the traditional dedicated server connection model. In the shared server model, a dispatcher can support multiple client connections concurrently. In the dedicated server model, there is one server process for each client. Each time a connection request is received, a server process is started and dedicated to that connection until completed. This causes a processing delay.
A shared server is ideal for configurations with a large number of connections because it reduces the server memory requirements. A shared server is well suited for both Internet and intranet environments.
Utilization of server resources can be further enhanced with Oracle Net Services features that are configurable through a shared server. These features are discussed in the following sections:
When a large number of clients run interactive Web applications, many of these sessions may be idle at a given time. The connection pooling feature enables the database server to timeout an idle session and use the connection to service an active session. The idle logical session remains open, and the physical connection is automatically reestablished when the next request comes from that session. Therefore, Web applications can allow larger numbers of concurrent users to be accommodated with existing hardware.
Figure 1-10 shows how connection pooling works. In this example, the Oracle Database server has been configured with 255 connections. One of the clients has been idle past a specified amount of time. Connection pooling makes this connection available to an incoming client connection, which is connection number 256. When the idle client has more work to do, the connection is reestablished for that client with another client's idle connection.
Oracle Connection Manager, an Oracle Net Services component, enables multiple client network sessions to be multiplexed, or funneled, through a single network connection to a database.
The session multiplexing feature reduces the demand on resources needed to maintain multiple network sessions between two processes by enabling the server to use fewer network connection endpoints for incoming requests. In this way, the total number of network sessions that a server can handle is increased. One Oracle Connection Manager with multiple gateways enables thousands of concurrent users to connect to a server.
Figure 1-11 shows how session multiplexing can be used in a Web architecture. When Oracle Connection Manager is run on the same computer as an application Web server, the application Web server can route multiple client sessions through Oracle Connection Manager to ensure that those sessions have continuous access to an Oracle Database server. This functionality is especially useful for Web applications where session availability and response time are major concerns.
Table 1-1 summarizes the differences between connection pooling and session multiplexing, and provides recommendations for using them in the network.
Table 1-1 Connection Pooling and Session Multiplexing
Feature | Advantages | Disadvantages | Recommended for |
---|---|---|---|
Connection Pooling |
|
Database sessions should use the |
Networks where many clients run interactive "high think/search time" applications such as messaging and OLAP. |
Session Multiplexing |
|
Clients must connect to Oracle Connection Manager. |
Networks where continuous connectivity is required. |
System performance is important to users. Users usually start to notice performance when a system takes longer than one second to respond. Oracle Net configuration can be modified to enhance system performance.
This section discusses performance considerations. It contains the following topics:
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, then Oracle Net enables you to configure the listening queue to be higher than the system default.
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, application Web server, and database.
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, then it is also possible to optimize data transfer by adjusting the size of the SDU.
Table 1-2 outlines considerations for modifying the size of the SDU.
Table 1-2 SDU Considerations
Modify SDU size when: | Do not modify SDU size when: |
---|---|
|
|
Note: Starting with Oracle Database 11g, Oracle Net Services has optimized bulk data transfer for certain components, such as Oracle SecureFiles LOBs and Oracle Data Guard redo transport services. The SDU size limit, as specified in the network parameter files, does not apply to these bulk data transfers. |
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 additional information about theTCP.NODELAY parameter |
Oracle Net Services provides support for InfiniBand high-speed networks. InfiniBand is a high-bandwidth I/O architecture designed to increase communication speed between CPUs, server-side devices, and network subsystems. Specifically, Oracle Net Services provides support for Sockets Direct Protocol (SDP). SDP is an industry-standard wire protocol intended for use between InfiniBand network peers.
SDP reduces the overhead of TCP/IP by eliminating intermediate replication of data and transferring most of the messaging burden away from the CPU and onto the network hardware. The result is a low-latency, increased bandwidth, high-throughput connection that reduces the amount of CPU cycles dedicated to network processing.
The communication between clients, including Oracle Application Server or any other third-party middle-tier client, and Oracle Database 11g can take advantage of high-speed interconnect benefits. Oracle Application Server includes Oracle TCP/IP support as part of its installation.
A driver installed on the Oracle Application Server servers transparently converts TCP/IP support to SDP support. The SDP requests are then sent to an InfiniBand switch that processes and forwards the requests from the Oracle Application Server servers to the database server.
Availability to the database is crucial for any network. You can configure multiple listeners to handle client connection requests for the same database service. This is beneficial in Oracle Real Application Clusters configurations, where each instance has a listener associated with it. Multiple listener configurations enable you to use the following features.
Connect-time failover enables clients to request a different listener, usually on a different node, if the first listener fails.
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 to not overburden a single listener.
Data access and secure transfer of data are important considerations when deploying Oracle Database. Granting and denying access to a database is crucial for a secure network environment. Oracle Net Services enables database access control using firewall access control.
Oracle Connection Manager can be configured to grant or deny client access to a particular database service or a computer. By specifying filtering rules, you can allow or restrict specific client access to a server, based on the following criteria:
Source host names or IP addresses for clients
Destination host names or IP addresses for servers
Destination database service names
Client use of Oracle Advanced Security
Figure 1-12 shows an Oracle Connection Manager positioned between three clients and an Oracle Database server. Oracle Connection Manager is configured to allow access to the first two clients and to deny access to the third.
Figure 1-12 Intranet Network Access Control with Oracle Connection Manager
Although Oracle Connection Manager cannot be integrated with third-party firewall products, vendors can package it with their own products in a way that enables this product to serve as an application gateway.
In general, firewalls should be set to receive incoming requests, and allow outbound calls from Oracle Database. By defining filtering rules, you can limit access to the network.
Caution: Incorrectly setting your firewall options can cause security problems. Before changing your firewall settings, discuss the options and your network site policies with your system administrator. |
Figure 1-13 shows an application gateway controlling traffic between internal and external networks and providing a single checkpoint for access control and auditing. As a result, unauthorized Internet hosts cannot directly access the database inside a corporation, but authorized users can still use Internet services outside the corporate network. This capability is critical in Internet environments to restrict remote access to sensitive data.
Figure 1-13 Internet Network Access Control with an Application Gateway
It is important to deploy at least two Oracle Connection Manager firewalls or Oracle Net Firewall proxies in an Internet network environment in the event that one firewall goes down.
The connectivity, manageability, scalability, and security features are described in the following sections:
Oracle Net is a software layer that resides on the client and on the Oracle Database server. It is responsible for establishing and maintaining the connection between the client application and server, as well as exchanging messages between them, using industry-standard protocols. Oracle Net has two software components:
On the client side, applications communicate with Oracle Net foundation layer to establish and maintain connections. The Oracle Net foundation layer uses Oracle protocol support that communicates with an industry-standard network protocol, such as TCP/IP, to communicate with the Oracle Database server.
Figure 1-14 illustrates the communication stack on the client.
The Oracle Database server side is similar to the client side as illustrated in Figure 1-15. A network protocol sends client request information to an Oracle protocol support layer, which then sends information to the Oracle Net foundation layer. The Oracle Net foundation layer then communicates with the Oracle Database server to process the client request.
The Oracle Net foundation layer uses Oracle protocol support to communicate with the following industry-standard network protocols:
TCP/IP (version 4 and version 6)
TCP/IP with SSL
Named Pipes
SDP
Oracle protocol support maps Oracle Net foundation layer functionality to industry-standard protocols used in client/server connections.
Oracle Database server receives the initial connection through Oracle Net Listener. Oracle Net Listener, referred to in this document as the listener, brokers a client request, handing off the request to the server. The listener is configured with a protocol address, and clients configured with the same protocol address can send connection requests to the listener. When a connection is established, the client and Oracle server communicate directly with one another.
Figure 1-16 shows the listener accepting a connection request from a client and forwarding that request to an Oracle server.
Figure 1-16 Listener in a Connection Request
See Also: Chapter 9, "Configuring and Administering Oracle Net Listener" for additional information about the listener |
Oracle Connection Manager is the software component that resides on its own computer, separate from a client or an Oracle Database server. It proxies and screens requests for the database server. In addition, it multiplexes database sessions.
In its session multiplexing role, Oracle Connection Manager funnels multiple sessions through a single transport protocol connection to a particular destination. In this way, Oracle Connection Manager reduces the demand on resources needed to maintain multiple sessions between two processes by enabling the Oracle Database server to use fewer connection end points for incoming requests.
As an access control filter, Oracle Connection Manager controls access to Oracle databases.
Oracle Net Services provides user interface tools and command-line utilities that enable you to easily configure, manage, and monitor the network.
Oracle Net Configuration Assistant is a standalone tool that enables you to configure listeners and naming methods.
Oracle Enterprise Manager combines configuration functionality across multiple file systems, along with listener administrative control to provide an integrated environment for configuring and managing Oracle Net Services.
Oracle Net Manager provides configuration functionality for an Oracle home on a local client or server host.
Command-line control utilities enable you to configure, administer, and monitor network components, including listeners and Oracle Connection Managers.
With Oracle Enterprise Manager or Oracle Net Manager, you can fine-tune the listener and naming method configuration created with Oracle Net Configuration Assistant. In addition, Oracle Enterprise Manager and Oracle Net Manager offer built-in wizards and utilities that enable to you to test connectivity, migrate data from one naming method to another, and create additional network components.
Oracle Advanced Security is a separately licensable product that provides a comprehensive suite of security features for the Oracle environment. This suite of security features protects enterprise networks and securely extends corporate networks to the Internet. It provides a single source of integration with network encryption and authentication solutions, single sign-on services, and security protocols. Oracle Advanced Security integrates industry standards and delivers unparalleled security to the Oracle network and other networks.
Part I provides an overview of Oracle Net Services concepts, products, and tools.
This part contains the following chapters:
The Oracle Net listener is an application positioned on top of the Oracle Net foundation layer. The database receives an initial connection from a client application through the listener.
The listener brokers client requests, handing off the requests to the Oracle database server. Every time a client requests a network session with a database, the listener receives the initial request.
Figure 5-1 illustrates the various layers on the client and database during an initial connection. As shown in the diagram, the listener is at the top layer of the server-side network stack.
Figure 5-1 Layers Used in an Initial Connection
This chapter contains the following topics:
The listener determines whether a database service and its service handlers are available through service registration. During registration, the PMON process provides the listener with information about the following:
Names of the database services provided by the database
Name of the database instance associated with the services and its current and maximum load
Service handlers (dispatchers and dedicated servers) available for the instance, including their type, protocol addresses, and current and maximum load
The preceding information enables the listener to direct a client request appropriately.
Figure 5-2 shows two database instances registering information with two listeners. The figure does not represent all the information that can be registered. For example, listening endpoints, such as the port numbers, can be dynamically registered with the listener.
If the listener is not running when an instance starts, then the process monitor (PMON) cannot register the service information. PMON attempts to connect to the listener periodically, but it may take up to 60 seconds before PMON registers with the listener after it has been started. To initiate service registration immediately after the listener is started, use the SQL statement ALTER SYSTEM REGISTER
. This statement is especially useful in high availability configurations.
Each listener is configured with one or more protocol addresses that specify its listening endpoints. The protocol address defines the protocol the listener listens on and any other protocol specific information. For example, the listener could be configured to listen at the following protocol address:
(DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=1521)))
The preceding example shows a TCP/IP address that specifies the host of the listener (sales-server
) and a port number (1521).
Clients configured with a protocol address can send connection requests to the listener. When a client request reaches the listener, it selects an appropriate service handler to service the request and forwards the request to the handler. A service handler is a dispatcher or a dedicated server process that acts as a connection point to a database.
Figure 5-3 illustrates the role of the listener during the establishment of a connection. The figure shows a browser making an HTTP connection and a client making a database connection.
The client sends a connection request to the listener.
The listener parses the client request and forwards it to the service handler for the database service requested.
The client connects to the database.
The Oracle Restart feature enhances the availability of Oracle databases in a single-instance environment. Using the Server Control (SRVCTL) utility, you can add components such as the listener to an Oracle Restart configuration. The configuration enables the listener to start automatically when the listener fails or is not running.
When using Oracle Restart, note the following:
Use the SRVCTL utility to start and stop the listener. Do not use the listener control, LSNRCTL, utility.
Each listener must have a unique name.
Blocked connection requests can occur when an incoming request occurs before the respective instance has been registered, or when a database is in restricted mode, such as when a shutdown of the database is in progress. If a database instance is in restricted mode, then PMON instructs the listener to block all connections to the instance. Clients attempting to connect receive one of the following errors:
ORA-12526: TNS:listener: all appropriate instances are in restricted mode
ORA-12527: TNS:listener: all appropriate instances are in restricted mode or blocking new connections
ORA-12528: TNS:listener: all appropriate instances are blocking new connections
The ORA-12528 error occurs when a database instance is not yet registered with the listener.
See Also:
|
Based on the service handler type registered with the listener, the listener forwards requests to either a shared server or dedicated server process. The shared server architecture enables a database server to allow many user processes to share server processes. In a dedicated server configuration, the listener starts a separate dedicated server process for each incoming client connection request dedicated to servicing the client.
This section contains the following topics:
Shared server processes are used in the shared server architecture, as shown in Figure 5-4. With shared server architectures, client processes ultimately connect to a dispatcher. The PMON process registers the location and load of the dispatchers with the listener, enabling the listener to forward requests to the least loaded dispatcher. This registration process is not shown in the figure.
A dispatcher can support multiple client connections concurrently. Each client connection is bound to a virtual circuit. A virtual circuit is a piece of shared memory used by the dispatcher for client database connection requests and replies. The dispatcher places a virtual circuit on a common request queue when a request arrives. An idle shared server picks up the virtual circuit from the request queue, services the request, and relinquishes the virtual circuit before attempting to retrieve another virtual circuit from the request queue. Shared servers place all completed requests into a dispatcher's response queue. Each dispatcher has its own response queue in the SGA. This approach enables a small pool of server processes to serve a large number of clients.
In a dedicated server architecture, each client process connects to a dedicated server process. The server process is not shared by any other client. Figure 5-5 illustrates a dedicated server architecture.
PMON registers information about dedicated server processes with the listener. This enables the listener to start a dedicated server process when a client request arrives and forward the request to it.
Oracle Connection Manager is a gateway through which client connection requests are sent either to the next hop or directly to the database server. Clients who relay connection requests through an Oracle Connection Manager can take advantage of the session multiplexing and access control features configured on that Oracle Connection Manager. It carries no service information until a PMON process registers its services.
Oracle Connection Manager consists of three components:
The listener receives client connections and evaluates against a set of rules whether to deny or allow access. If it allows access, then the listener forwards a request to a gateway process, selecting the one with the fewest connections. The CMGW process, in turn, forwards the request to another Oracle Connection Manager or directly to the database server, relaying data until the connection terminates. If a connection to the server already exists, then the gateway multiplexes, or funnels, its connections through the existing connection. CMADMIN monitors the state of the gateway processes and the listener, shutting down or starting up processes as needed. In addition, it registers the location and load of the gateway processes with the listener, and it answers requests from the Oracle Connection Manager Control utility.
In Figure 5-6, the listener screens connection requests. A gateway process registers with the CMADMIN process. And the CMADMIN process registers with the listener. Finally, the listener forwards the connection requests to the gateway process. After receiving the three valid client connections, the gateway process multiplexes them through a single network protocol connection to the database. The fourth connection is denied when it is evaluated against the set of rules.
Figure 5-6 Oracle Connection Manager Architecture
Oracle Net provides an architectural solution that allows for greater scalability in Internet and intranet environments.
Figure 5-7 shows how multiple connections to an Oracle database server are made more scalable with Oracle Connection Manager and a shared server architecture. Oracle Connection Manager is used to offload some of the network I/O of the application Web servers, and a shared server is used to serve more concurrent users.
Figure 5-7 Scalable Architectural Solutions
access control list (ACL)
The group of access directives that you define. The directives grant levels of access to specific data for specific clients or groups of clients.
access control
A feature of Oracle Connection Manager that sets rules for denying or allowing certain clients to access designated servers.
alias
An alternative name for a network object in an Oracle Names server. An alias stores the name of the object it is referencing. When a client requests a lookup of an alias, Oracle completes the lookup as if it is the referenced object.
application gateway
A host computer that runs the Oracle Net Firewall Proxy. An application gateway looks and acts like a real server from the client's point of view, and a real client from the server's point of view. An application gateway sits between the Internet and company's internal network and provides middleman services (or proxy services) to users on either side.
ASCII character set
American Standard Code for Information Interchange character set, a convention for representing alphanumeric information using digital data. The collation sequence used by most computers with the exception of IBM and IBM-compatible computers.
attribute
A piece of information that describes some aspect of a directory entry. An entry comprises a set of attributes, each of which belongs to an object class. Moreover, each attribute has both a type—which describes the kind of information in the attribute—and a value—which contains the actual data.
authentication method
A security method that enables you to have high confidence in the identity of users, clients, and servers in distributed environments. Network authentication methods can also provide the benefit of single sign-on for users. The following authentication methods are supported, depending on whether Oracle Advanced Security is installed:
RADIUS
Kerberos
automatic diagnostic repository
The automatic diagnostic repository (ADR) is a systemwide tracing and logging central repository. The repository is a file-based hierarchical data store for depositing diagnostic information, including network tracing and logging information.
cache
Memory that stores recently-accessed data so that subsequent requests to access the same data can be processed quickly.
CIDR
Classless Inter-Domain Routing. In CIDR notation, an IPv6 subnet is denoted by the subnet prefix and the size in bits of the prefix (in decimal), separated by the slash (/
) character. For example, 2001:0DB8:0000:0000::/64
denotes a subnet with addresses 2001:0DB8:000:0000:0000:0000:0000:0000
through 2001:0DB8:000:0000:FFFF:FFFF:FFFF:FFFF
. The CIDR notation includes support for IPv4 addresses. For example, 192.168.2.1/24
denotes the subnet with addresses 192.168.2.1
through 192.168.2.255
.
client
A user, software application, or computer that requests the services, data, or processing of another application or computer. The client is the user process. In a network environment, the client is the local user process and the server may be local or remote.
client load balancing
Load balancing, whereby if more than one listener services a single database, a client can randomly choose between the listeners for its connect requests. This randomization enables all listeners to share the burden of servicing incoming connect requests.
client profile
The properties of a client, which may include the preferred order of naming methods, client and server logging and tracing, the domain from which to request names, and other client options for Oracle Advanced Security.
client/server architecture
Software architecture based on a separation of processing between two CPUs. One CPU acts as the client in the transaction, requesting and receiving services. The other acts as the server that provides the requests.
cman.ora file
A configuration file that specifies protocol addresses for incoming requests and administrative commands, as well as Oracle Connection Manager parameters and access control rules.
CMADMIN (Oracle Connection Manager Administration)
An Oracle Connection Manager process that monitors the health of the listener and Oracle Connection Manager gateway processes, shutting down and starting processes as needed. CMADMIN
registers information about gateway processes with the listener and processes commands run with the Oracle Connection Manager Control utility.
CMGW (Oracle Connection Manager gateway)
An Oracle Connection Manager process that receives client connections screened and forwarded by the listener located at the Oracle Connection Manager instance. The gateway process forwards the requests to the database server. In addition, it can multiplex or funnel multiple client connections through a single protocol connection.
connect data
A portion of the connect descriptor that defines the destination database service name or Oracle system identifier (SID). In the following example, SERVICE_NAME
defines a database service called sales.us.example.com
:
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=1521)
(CONNECT_DATA=
(SERVICE_NAME=sales.us.example.com)))
connect descriptor
A specially formatted description of the destination for a network connection. A connect descriptor contains destination service and network route information.
The destination service is indicated by using its service name. The network route provides, at a minimum, the location of the listener through use of a network address.
connect identifier
A connect descriptor or a name that maps to a connect descriptor. A connect identifier can be a net service name, database service name, or net service alias. Users initiate a connect request by passing a user name and password along with a connect identifier in a connect string for the service to which they want to connect:
CONNECT
username
@
connect_identifier
connect string
Information the user passes to a service to connect, such as user name, password, and connect identifier:
CONNECT
username
@
net_service_name
connect-time failover
A client connect request is forwarded to a another listener if a listener is not responding. Connect-time failover is enabled by service registration, because the listener knows if an instance is running to attempt a connection.
connection
An interaction between two processes on a network. Connections are originated by an initiator (client) that requests a connection with a destination (server).
connection load balancing
The method for balancing the number of active connections for the same service across the instances and dispatchers. Connection load balancing enables listeners to make routing decisions based on how many connections for each dispatcher and the load on the nodes.
connection pooling
A resource utilization and user scalability feature that enables you to maximize the number of sessions over a limited number of protocol connections to a shared server.
connection request
A notification sent by an initiator and received by a listener that indicates that the initiator wants to start a connection.
database administrator (DBA)
(1) A person responsible for operating and maintaining an Oracle Server or a database application. (2) An Oracle user name that has been given DBA privileges and can perform database administration functions. Usually the two meanings coincide. Many sites have multiple DBAs.
database link
A pointer that defines a one-way communication path from an Oracle database server to another database server. The link is a defined entry in a data dictionary table. To access the link, the user must be connected to the local database that contains the data dictionary entry.
A client connected to local database A can use a link stored in database A to access information in remote database B. However, users connected to database B cannot use the same link to access data in database A. If local users on database B want to access data on database A, then a link must be defined and stored in the data dictionary of database B.
The following database links are supported:
A private database link in a specific schema of a database. Only the owner of a private database link can use it.
A public database link for a database. All users in the database can use it.
dedicated server
A server process that is dedicated to one client connection. Contrast with shared server process.
default domain
The domain within which most client requests take place. It could be the domain where the client resides, or it could be a domain from which the client requests network services often. Default domain is also the client configuration parameter that determines what domain should be appended to unqualified network name requests. A name request is unqualified if it does not have a "." character within it.
directory information tree (DIT)
A hierarchical tree-like structure in a directory server of the distinguished names (DNs) of the entries.
directory naming
A naming method that resolves a database service, net service name, or net service alias to a connect descriptor stored in a central directory server. A directory server provides central administration of directory naming objects, reducing the work effort associated with adding or relocating services.
directory server
A directory server that is accessed with the Lightweight Directory Access Protocol (LDAP). Support of LDAP-compliant directory servers provides a centralized vehicle for managing and configuring a distributed Oracle network. The directory server can replace client-side and server-side localized tnsnames.ora
files.
dispatcher
A process that enables many clients to connect to the same server without the need for a dedicated server process for each client. A dispatcher handles and directs multiple incoming network session requests to shared server processes. See also shared server.
distinguished name (DN)
Name of entry in a directory server. The DN specifies where the entry resides in the LDAP directory hierarchy, much the way a directory path specifies the exact location of a file.
distributed processing
Division of front-end and back-end processing to different computers. Oracle Network Services support distributed processing by transparently connecting applications to remote databases.
domain
Any tree or subtree within the Domain Name System (DNS) namespace. Domain most commonly refers to a group of computers whose host names share a common suffix, the domain name.
Domain Name System (DNS)
A system for naming computers and network services that is organized into a hierarchy of domains. DNS is used in TCP/IP networks to locate computers through user-friendly names. DNS resolves a friendly name into an IP address, which is understood by computers.
For Oracle Network Services, DNS translates the host name in a TCP/IP address into an IP address.
enterprise role
An enterprise role is analogous to a regular database role, except that it spans authorization on multiple databases. An enterprise role is a category of roles that define privileges on a particular database. An enterprise role is created by the database administrator of a particular database. An enterprise role can be granted to or revoked from one or more enterprise users. The information for granting and revoking these roles is stored in the directory server.
enterprise user
A user that has a unique identity across an enterprise. Enterprise users connect to individual databases through a schema. Enterprise users are assigned enterprise roles that determine their access privileges on databases.
entry
The building block of a directory server, it contains information about an object of interest to directory users.
external procedure
Function or procedure written in a third-generation language (3GL) that can be called from PL/SQL code. Only C is supported for external procedures.
foreign domains
The set of domains not managed within a given administrative region. Domains are foreign only in relation to a region; they are not foreign in any absolute sense. A network administrator typically defines foreign domains relative to a particular region to optimize caching performance.
FTP protocol
File Transfer Protocol. A client/server protocol which allows a user on one computer to transfer files to and from another computer over a TCP/IP network.
global database name
The full name of the database which uniquely identifies it from any other database. The global database name is of the form "database_name
.
database_domain
," for example, sales.us.example.com
.
The database name portion, sales
, is a simple name you want to call your database. The database domain portion, us.example.com
, specifies the database domain in which the database is located, making the global database name unique. When possible, Oracle recommends that your database domain mirror the network domain.
The global database name is the default service name of the database, as specified by the SERVICE_NAMES
parameter in the initialization parameter file.
Heterogeneous Services
An integrated component that provides the generic technology for accessing third-party systems from the Oracle database server. Heterogeneous Services enables you to:
Use Oracle SQL to transparently access data stored in third-party systems as if the data resides within an Oracle server.
Use Oracle procedure calls to transparently access third-party systems, services, or application programming interfaces (APIs), from your Oracle distributed environment.
hierarchical naming model
An infrastructure in which names are divided into multiple hierarchically-related domains. For Oracle Names, hierarchical naming model can be used with either central or delegated administration.
host naming
A naming method resolution that enables users in a TCP/IP environment to resolve names through their existing name resolution service. This name resolution service might be Domain Name System (DNS), Network Information Service (NIS), or simply a centrally-maintained set of /etc/hosts
files. Host Naming enables users to connect to an Oracle database server by simply providing the server computer's host name or host name alias. No client configuration is required to take advantage of this feature. This method is recommended for simple TCP/IP environments.
HTTP protocol
Hypertext Transfer Protocol. A protocol that provides the language that enables Web browsers and application Web servers to communicate.
identity management realm
A collection of identities, all of which are governed by the same administrative policies. In an enterprise, all employees having access to the intranet may belong to one realm, while all external users who access the public applications of the enterprise may belong to another realm. An identity management realm is represented in the directory by a specific entry with a special object class associated with it.
instance
The combination of the System Global Area (SGA) and the Oracle background processes. When a database is started on a database server (regardless of the type of computer), Oracle allocates a memory area called the SGA and starts one or more Oracle processes. The memory and processes of an instance efficiently manage the associated database's data and serve the database users. You can connect to any instance to access information within a cluster database.
instance name
A name of an Oracle database instance. The instance name is identified by the INSTANCE_NAME
parameter in the database initialization parameter file. INSTANCE_NAME
corresponds to the Oracle system identifier (SID) of the instance. Clients can connect to a specific instance by specifying the INSTANCE_NAME
parameter in the connect descriptor.
The instance name is included in the connect data part of the connect descriptor.
Interprocess Communication (IPC)
A protocol used by client applications that resides on the same node as the listener to communicate with the database. IPC can provide a faster local connection than TCP/IP.
IP address
Used to identify a node on a network. Each computer on the network is assigned a unique Internet Protocol (IP) address, which is made up of the network ID and a unique host ID.
IPv4
Internet Protocol Version 4. IPv4 is the current standard for the IP protocol. IPv4 uses 32-bit (four-byte) addresses, which are typically represented in dotted-decimal notation. The decimal value of each octet is separated by a period, as in 192.168.2.22
.
IPv6
Internet Protocol Version 6. The protocol designed to replace IPv4. In IPv6, an IP address is typically represented in eight fields of hexadecimal values separated by colons, as in 2001: 0DB8:0000:0000:0000:0000:1428:57AB
. In some cases, fields with 0
values can be compressed, as in 2001:DB8::1428:57AB
.
Java Database Connectivity (JDBC) Driver
A driver that provides Java applications and applets access to an Oracle database.
JDBC OCI Driver
A Type II driver for use with client/server Java applications. This driver requires an Oracle client installation.
JDBC Thin Driver
A Type IV driver for Oracle JDBC applets and applications. Because it is written entirely in Java, this driver is platform-independent. It does not require any additional Oracle software on the client side. The Thin driver communicates with the server using Two-Task Common (TTC), a protocol developed by Oracle to access the database server.
keyword-value pair
The combination of a keyword and a value, used as the standard unit of information in connect descriptors and many configuration files. Keyword-value pairs may be nested; that is, a keyword may have another keyword-value pair as its value.
Lightweight Directory Access Protocol (LDAP)
A standard, extensible directory access protocol. It is a common language that LDAP clients and servers use to communicate. The framework of design conventions supporting industry-standard directory servers.
ldap.ora file
A file created by Oracle Internet Directory Configuration Assistant or Oracle Net Configuration Assistant that contains the following directory server access information:
Type of directory server
Location of the directory server
Default Oracle Context that the client or server use to look up or configure connect identifiers for connections to database services
When created with Oracle Internet Directory Configuration Assistant, ldap.ora
is located in the ORACLE_HOME/ldap/admin
directory. When created with Oracle Net Configuration Assistant, ldap.ora
is located in the ORACLE_HOME/network/admin
directory.
LDIF
Lightweight Directory Interchange Format is the set of standards for formatting an input file for any of the LDAP command line utilities.
link qualifier
A qualifier appended to a global database link to provide alternate settings for the database user name and password credentials. For example, a link qualifier of fieldrep
can be appended to a global database link of sales.us.example.com
.
SQL> SELECT * FROM emp@sales.us.example.com@fieldrep
listener.ora file
A configuration file for Oracle Net Listener that identifies the following:
Unique name
Protocol addresses that it is accepting connection requests on
Services it is listening for
The listener.ora
file typically resides in the ORACLE_HOME/network/admin
directory.
Oracle Database does not require identification of the database service because of service registration. However, static service configuration is required if you plan to use Oracle Enterprise Manager.
Listener Control utility
A utility included with Oracle Network Services to control various listener functions, such as starting, stopping, and getting the status of the listener.
load balancing
A feature by which client connections are distributed evenly among multiple listeners, dispatchers, instances, and nodes so that no single component is overloaded.
Oracle Network Services support client load balancing and connection load balancing.
local naming
A naming method that locates network addresses by using information configured and stored on each individual client's tnsnames.ora file. Local naming is most appropriate for simple distributed networks with a small number of services that change infrequently.
location transparency
A distributed database characteristic that enables applications to access data tables without knowing where they reside. All data tables appear to be in a single database, and the system determines the actual data location based on the table name. The user can reference data on multiple nodes in a single statement, and the system automatically and transparently routes (parts of) SQL statements to remote nodes, if needed. The data can move among nodes with no impact on the user or application.
logging
A feature in which errors, service activity, and statistics are written to a log file. The log file provides additional information for an administrator when the error message on the screen is inadequate to understand the failure. The log file, by way of the error stack, shows the state of the software at various layers.
See also tracing.
loopback test
A connection from the server back to itself. Performing a successful loopback verifies that Oracle Net is functioning on the database server.
Microsoft Active Directory
An LDAP-compliant directory server included with the Microsoft Windows 2000 Server. It stores information about objects on the network, and makes this information available to users and network administrators. Active Directory also provides access to resources on the network using a single logon process.
Active Directory can be configured as a directory naming method to store service information that clients can access.
Microsoft Windows NT native authentication
An authentication method that enables a client to have single login access to a Microsoft Windows NT server and a database running on the server.
Named Pipes protocol
A high-level interface protocol providing interprocess communications between clients and servers using distributed applications.
naming context
A subtree that resides entirely on one directory server. It is a contiguous subtree, that is, it must begin at an entry that serves as the top of the subtree, and extend downward to either leaf entries or references to subordinate naming contexts. It can range in size from a single entry to the entire directory information tree (DIT).
Oracle Context can be created under a naming context.
naming method
The resolution method used by a client application to resolve a connect identifier to a connect descriptor when attempting to connect to a database service. Oracle Net provides four naming methods:
Easy Connect naming
net service alias
An alternative name for a directory naming object in a directory server. A directory server stores net service aliases for any defined net service name or database service. A net service alias entry does not have connect descriptor information. Instead, it only references the location of the object for which it is an alias. When a client requests a directory lookup of a net service alias, the directory determines that the entry is a net service alias and completes the lookup as if the alias was actually the entry it is referencing.
net service name
A simple name for a service that resolves to a connect descriptor. Users initiate a connect request by passing a user name and password, along with a net service name in a connect string, for the service to which they want to connect:
CONNECT
username@net_service_name
Depending on your needs, net service names can be stored in a variety of places, including:
Local configuration file, tnsnames.ora
, on each client
Directory server
External naming service, such as NIS
network
A group of two or more computers linked together through hardware and software to allow the sharing of data and peripherals.
network administrator
The person who performs network management tasks such as installing, configuring, and testing network components. The administrator typically maintains the configuration files, connect descriptors and service names, aliases, and public and global database links.
network character set
As defined by Oracle, the set of characters acceptable for use as values in keyword-value pairs (that is, in connect descriptors and configuration files). The set includes alphanumeric upper- and lowercase, and some special characters.
Network Information Service (NIS)
Sun Microsystems Yellow Pages (yp
) client/server protocol for distributing system configuration data such as user and host names between computers on a network.
Network Interface (NI)
A network layer that provides a generic interface for Oracle clients, servers, or external processes to access Oracle Net functions. The NI layer handles the "break" and "reset" requests for a connection.
Network Program Interface (NPI)
An interface for server-to-server interactions that performs all of the functions that the OCI does for clients, allowing a coordinating server to construct SQL requests for additional servers.
Network Session (NS)
A session layer that is used in typical Oracle Net connections to establish and maintain the connection between a client application and a database server.
object class
In a directory server, a named group of attributes. When you want to assign attributes to an entry, you do so by assigning to that entry the object classes that hold those attributes.
All objects associated with the same object class share the attributes of that object class.
Open Systems Interconnection (OSI)
A model of network architecture developed by International Organization for Standardization (ISO) as a framework for international standards in heterogeneous computer network architecture.
The OSI architecture is split between seven layers, from lowest to highest:
1. Physical layer
2. Data link layer
3. Network layer
4. Transport layer
5. Session layer
6. Presentation layer
7. Application layer
Each layer uses the layer immediately preceding it and provides a service to the layer following it.
Oracle Advanced Security
A product that provides a comprehensive suite of security features to protect enterprise networks and securely extend corporate networks to the Internet. Oracle Advanced Security provides a single source of integration with network encryption and authentication solutions, single sign-on services, and security protocols. By integrating industry standards, it delivers unparalleled security to the network.
Oracle Call Interface (OCI)
An application programming interface (API) that enables you to create applications that use the native procedures or function calls of a third-generation language to access an Oracle database server and control all phases of SQL statement execution. OCI supports the data types, calling conventions, syntax, and semantics of a number of third-generation languages including C, C++, COBOL and FORTRAN.
Oracle Connection Manager
A router through which a client connection request may be sent either to its next hop or directly to the database server. Clients who route their connection requests through an Oracle Connection Manager can then take advantage of the session multiplexing, access control, or protocol conversion features configured on that Oracle Connection Manager.
Oracle Connection Manager Control utility
A utility included with Oracle Network Services to control various functions, such as starting, stopping, and getting the status of the Oracle Connection Manager.
Oracle Context
An entry in an LDAP-compliant Internet directory called cn=OracleContext
, under which all Oracle software relevant information is kept, including entries for Oracle Net Services directory naming and checksumming security. There may be one or more than one Oracle Context in a directory. An Oracle Context can be associated with a directory naming context.
Oracle Internet Directory automatically creates an Oracle Context at the root of the DIT structure. This root Oracle Context has a DN of dn:cn=OracleContext
.
Oracle Enterprise Manager
A separate Oracle product that combines a graphical console, agents, common services, and tools to provide an integrated and comprehensive systems management platform for managing Oracle products.
Oracle Identity Management
An infrastructure enabling deployments to manage centrally and securely all enterprise identities and their access to various applications in the enterprise.
Oracle Internet Directory
A directory server implemented as an application on the Oracle database. It enables retrieval of information about dispersed users and network resources. It combines Lightweight Directory Access Protocol (LDAP) Version 3, the open Internet standard directory server access protocol, with the high performance, scalability, robustness, and availability of the Oracle database.
Oracle Net
Communication software that enables a network session from a client application to an Oracle database server. After a network session is established, Oracle Net acts as a data courier for the client application and the database server. It is responsible for establishing and maintaining the connection between the client application and database server, as well as exchanging messages between them. Oracle Net is able to perform these jobs because it is located on each computer in the network.
Oracle Net Configuration Assistant
A postinstallation tool that configures basic network components after installation, including:
Listener names and protocol addresses
Naming methods the client uses to resolve connect identifiers
Net service names in a tnsnames.ora
file
Directory server usage
Oracle Net Firewall Proxy
Product offered by some firewall vendors that supplies Oracle Connection Manager functionality.
Oracle Net foundation layer
A networking communication layer that is responsible for establishing and maintaining the connection between the client application and server, as well as exchanging messages between them.
Oracle Net Listener
A process that resides on the server whose responsibility is to listen for incoming client connection requests and manage the traffic to the server.
When a client requests a network session with a database server, a listener receives the actual request. If the client information matches the listener information, then the listener grants a connection to the database server.
Oracle Net Manager
A tool that combines configuration abilities with component control to provide an integrated environment for configuring and managing Oracle Net Services.
You can use Oracle Net Manager to configure the following network components:
Naming
Define connect identifiers and map them to connect descriptors to identify the network location and identification of a service. Oracle Net Manager supports configuration of connect descriptors in a local tnsnames.ora
file or directory server.
Naming Methods
Configure the different ways in which connect identifiers are resolved into connect descriptors.
Listeners
Create and configure listeners to receive client connections.
Oracle Net Services
A suite of networking components that provide enterprise-wide connectivity solutions in distributed, heterogeneous computing environments. Oracle Net Services is comprised of Oracle Net, listener, Oracle Connection Manager, Oracle Net Configuration Assistant, and Oracle Net Manager.
Oracle Program Interface (OPI)
A networking layer responsible for responding to each of the possible messages sent by OCI. For example, an OCI request to fetch 25 rows would have an OPI response to return the 25 rows after they have been fetched.
Oracle protocol support
A software layer responsible for mapping Transparent Network Substrate (TNS) functionality to industry-standard protocols used in the client/server connection.
Oracle Rdb
A database for Digital 64-bit platforms. Because Oracle Rdb has its own listener, the client interacts with Rdb in the same manner as it does with an Oracle database.
Oracle schema
A set of rules that determine what can be stored in a directory server. Oracle has its own schema that is applied to many types of Oracle entries, including Oracle Net Services entries. The Oracle schema for Oracle Net Services' entries includes the attributes the entries may contain.
Oracle system identifier (SID)
A name that identifies a specific instance of a database. For any database, there is at least one instance referencing the database.
Oracle XML DB
A high-performance XML storage and retrieval technology provided with Oracle database server. It is based on the W3C XML data model.
Oracle Real Application Clusters (Oracle RAC)
An architecture that allows multiple instances to access a shared database of datafiles. Oracle Real Application Clusters is also a software component that provides the necessary cluster database scripts, initialization files, and datafiles needed for Oracle Enterprise Edition and Oracle Real Application Clusters.
ORACLE_HOME
An alternate name for the top directory in the Oracle directory hierarchy on some directory-based operating systems.
packet
A block of information sent over the network each time a connection or data transfer is requested. The information contained in packets depends on the type of packet: connect, accept, redirect, data, and so on. Packet information can be useful in troubleshooting.
PMON process
A process monitor database process that performs process recovery when a user process fails. PMON is responsible for cleaning up the cache and freeing resources that the process was using. PMON also checks on dispatcher and server processes and restarts them if they have failed. As a part of service registration, PMON registers instance information with the listener.
presentation layer
A networking communication layer that manages the representation of information that application layer entities either communicate or reference in their communication. Two-Task Common (TTC) is an example of presentation layer.
private database link
A database link created by one user for his or her exclusive use.
See also database link and public database link.
profile
A collection of parameters that specifies preferences for enabling and configuring Oracle Net Services' features on the client or server. A profile is stored and implemented through the sqlnet.ora
file.
protocol address
An address that identifies the network address of a network object.
When a connection is made, the client and the receiver of the request, such as the listener or Oracle Connection Manager, are configured with identical protocol addresses. The client uses this address to send the connection request to a particular network object location, and the recipient "listens" for requests on this address. It is important to install the same protocols for the client and the connection recipient, and to configure the same addresses.
protocol conversion
A feature of Oracle Connection Manager that enables a client and server with different networking protocols to communicate with each other.
proxy server
A server that substitutes for the real server, forwarding client connection requests to the real server or to other proxy servers. Proxy servers provide access control, data and system security, monitoring, and caching.
public database link
A database link created by a DBA on a local database that is accessible to all users on that database.
See also database link and private database link.
realm Oracle Context
An Oracle Context contained in each identity management realm. It stores the following information:
User naming policy of the identity management realm—that is, how users are named and located
Mandatory authentication attributes
Location of groups in the identity management realm
Privilege assignments for the identity management realm—for example: who has privileges to add more users to the realm.
Application specific data for that realm including authorizations
relative distinguished name (RDN)
The local, most granular level entry name. It has no other qualifying entry names that would serve to address the entry uniquely. In the example, cn=sales,dc=us,dc=example,dc=com
, cn=sales
is the RDN.
root Oracle Context
In the Oracle Identity Management infrastructure, the root Oracle Context is an entry in Oracle Net Services containing a pointer to the default identity management realm in the infrastructure. It also contains information about how to locate an identity management realm given a simple name of the realm.
Secure Sockets Layer (SSL)
An industry standard protocol designed by Netscape Communications Corporation for securing network connections. SSL provides authentication, encryption, and data integrity using public key infrastructure (PKI).
server parameter file
A binary file containing initialization parameter settings that is maintained on the Oracle Database host. You cannot manually edit this file with a text editor. A server parameter file is initially built from a text initialization parameter file by means of the CREATE SPFILE
statement or created directly with the Database Configuration Assistant.
service handler
A process that acts as a connection point from the listener to the database server. A service handler can be a dispatcher or dedicated server.
service name
A logical representation of a database, which is the way a database is presented to clients. A database can be presented as multiple services and a service can be implemented as multiple database instances. The service name is a string that is the global database name, that is, a name comprised of the database name and domain name, entered during installation or database creation. If you are not sure what the global database name is, then you can obtain it from the value of the SERVICE_NAMES
parameter in the initialization parameter file.
The service name is included in the connect data part of the connect descriptor.
service registration
A feature by which the PMON process automatically registers information with a listener. Because this information is registered with the listener, the listener.ora
file does not need to be configured with this static information.
Service registration provides the listener with information about:
Service names for each running instance of the database
Instance names of the database
Service handlers (dispatcher or dedicated server) available for each instance
These enable the listener to direct a client request appropriately.
Dispatcher, instance, and node load information
This load information enables the listener to determine which dispatcher can best handle a client connection request. If all dispatchers are blocked, then the listener can spawn a dedicated server for the connection.
session data unit (SDU)
A buffer that Oracle Net uses to place data before transmitting it across the network. Oracle Net sends the data in the buffer either when requested or when it is full.
session layer
A network layer that provides the services needed by the protocol address entities that enable them to organize and synchronize their dialogue and manage their data exchange. This layer establishes, manages, and terminates network sessions between the client and server. An example of a session layer is Network Session (NS).
session multiplexing
Combining multiple sessions for transmission over a single network connection to conserve the operating system's resources.
shared server
A database server that is configured to allow many user processes to share very few server processes, so the number of users that can be supported is increased. With shared server configuration, many user processes connect to a dispatcher. The dispatcher directs multiple incoming network session requests to a common queue. An idle shared server process from a shared pool of server processes picks up a request from the queue. Thus, a small pool of server processes can serve a large number of clients. Contrast with dedicated server.
SID_LIST_listener_name
A section of the listener.ora
file that defines the Oracle system identifier (SID) of the database served by the listener. This configuration is not required for an Oracle database because information for the instance is automatically registered with the listener. However, static configuration is required for other services, such as external procedure calls and Heterogeneous Services.
single sign-on
The ability of a user to log in to different servers using a single password. This permits the user to authenticate to all servers the user is authorized to access.
sqlnet.ora file
A configuration file for the client or server that specifies:
Client domain to append to unqualified service names or net service names
Order of naming methods the client should use when resolving a name
Logging and tracing features to use
Route of connections
External naming parameters
Oracle Advanced Security parameters
The sqlnet.ora
file typically resides in the ORACLE_HOME/network/admin
directory.
System Global Area (SGA)
A group of shared memory structures that contain data and control information for an Oracle instance.
TCP/IP
Transmission Control Protocol/Internet Protocol. The standard communication protocol used for client/server conversation over a network.
TCP/IP with SSL protocol
A protocol that enables an Oracle application on a client to communicate with remote Oracle databases through the TCP/IP and Secure Sockets Layer (SSL).
tick
The amount of time it takes for a message to be sent and processed from the client to the server or from the server to the client
tnsnames.ora file
A configuration file that contains maps net service names to connect descriptors. This file is used for the local naming method. The tnsnames.ora
file typically resides in the ORACLE_HOME/network/admin
directory.
tracing
A utility that writes detailed information about an operation to an output file. The trace utility produces a detailed sequence of statements that describe the events of an operation as they are run. Administrators use the trace utility for diagnosing an abnormal condition; it is not normally turned on.
See also logging.
Transparent Application Failover (TAF)
A run-time failover for high-availability environments, such as Oracle Real Application Clusters and Oracle Fail Safe, that refers to the failover and re-establishment of application-to-service connections. It enables client applications to automatically reconnect to the database if the connection fails, and, optionally, resume a SELECT
statement that was in progress. This reconnect happens automatically from within the Oracle Call Interface (OCI) library.
Transparent Network Substrate (TNS)
A foundation technology, built into the Oracle Net foundation layer that works with any standard network transport protocol.
transport
A networking layer that maintains end-to-end reliability through data flow control and error recovery methods. The Oracle Net foundation layer uses Oracle protocol support for the transport layer.
Two-Task Common (TTC)
A presentation layer type that is used in a typical Oracle Net connection to provide character set and data type conversion between different character sets or formats on the client and server.
virtual circuit
A piece of shared memory used by the dispatcher for client database connection requests and replies. The dispatcher places a virtual circuit on a common queue when a request arrives. An idle shared server picks up the virtual circuit from the common queue, services the request, and relinquishes the virtual circuit before attempting to retrieve another virtual circuit from the common queue.
WebDAV protocol
World Wide Web Distributed Authoring and Versioning. A protocol with a set of extensions to the HTTP protocol which allows users to manage files on remote Web servers.
After you have configured the network, you should connect and test each component to ensure that the network is functioning properly. Oracle Net Services provides tools to help you test the listener, database, and Oracle Connection Manager.
This chapter contains the following topics:
Using the TNSPING Utility to Test Connectivity from the Client
Using the TRCROUTE Utility to Test Connectivity from the Client
The following is the recommended sequence for testing the network:
Start and test each listener. To start the listener, use the procedure described in "Starting Oracle Net Listener and the Oracle Database Server". To test a listener, initiate a connection from a client to any active database controlled by that listener.
Start and test each Oracle Connection Manager, if included in your network. To start Oracle Connection Manager, use the procedure described in "Starting Oracle Connection Manager".
To test Oracle Connection Manager, initiate a connection from a client to any active database that has been registered with Oracle Connection Manager.
Test the server with a loopback test or Oracle Net Manager.
A loopback test uses Oracle Net to go from the database server back to itself, bypassing the Interprocess Communication (IPC). Performing a successful loopback verifies that Oracle Net is functioning on the database server. The following procedure describes how to perform a loopback test using Oracle Net Manager:
Start Oracle Net Manager.
In the navigator, expand Directory or Local, and then select Service Naming.
Select the net service name or database service.
Choose Command, and then select Test Net Service.
Testing assumes the listener and database are running. If they are not, then see "Starting Oracle Net Listener and the Oracle Database Server" to start components.
During testing, a Connection Test dialog box appears, providing status and test results. A successful test results in the following message:
The connection test was successful.
If the test was successful, then proceed to Step 5.
If the test was not successful, then use the error message to determine further action. For example, if the error message is the following:
Initializing first test to use userid: scott, password: tiger Attempting to connect using userid: scott The test did not succeed. ORA-28000: the account is locked There may be an error in the fields entered, or the server may not be ready for a connection.
Change the user name to an account known to be unlocked. To change the user name, click Change Login. You will be prompted for the password.
Click Close to close the Connect Test dialog box.
Test client with a connection.
To test several different clients in your network, initiate a connection to a database server from each of them using the following command:
CONNECTusername
@connect_identifier
The TNSPING utility determines whether the listener for a service on an Oracle Net network can be reached successfully.
If you can connect successfully from a client to a server (or a server to another server) using the TNSPING utility, then it displays an estimate of the round trip time (in milliseconds) it takes to reach the Oracle Net service.
If it fails, then it displays a message describing the error that occurred. This enables you to see the network error that is occurring without the overhead of a database connection.
Use the following command to test connectivity:
tnsping net_service_name
count
In the preceding command, the following arguments are used:
net_service_name must exist in tnsnames.ora
file or the name service in use, such as NIS.
count determines how many times the program attempts to reach the server. This argument is optional.
If the net service name specified is a database name, then TNSPING attempts to contact the corresponding listener. It does not actually determine whether the database is running. Use SQL*Plus to attempt a connection to the database.
Following are some examples of TNSPING.
Note: Different platforms may have different interfaces, but the program accepts the same arguments. Invoke TNSPING for the display of the proper interface requirements. |
Example 15-1 is an example of checking a listener for a database using a net service name of sales
using the TNSPING
command.
Example 15-1 Checking a Listener with TNSPING
TNSPING sales
This produces the following message:
TNS Ping Utility for Linux: Version 11.1.0.0.2 on 15-FEB-2009 14:46:28 Copyright (c) 1997, 2009 Oracle Corporation. All rights reserved. Used parameter files: Used TNSNAMES adapter to resolve the alias Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = sales-server)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = sales.us.example.com))) OK (10 msec)
To determine whether the listener for the sales
database is available, and to specify that TNSPING try to connect eight times and then give up, use the following syntax:
tnsping sales 8
This command produces the following message:
TNS Ping Utility for Linux: Version 11.1.0.0.2 on 15-FEB-2009 14:48:28 Copyright (c) 1997, 2009 Oracle Corporation. All rights reserved. Used parameter files: Used TNSNAMES adapter to resolve the alias Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = sales-server)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = sales.us.example.com))) OK (10 msec) OK (0 msec) OK (10 msec) OK (0 msec) OK (10 msec) OK (10 msec) OK (10 msec) OK (0 msec)
Example 15-2 is an example of TNSPING attempting to check using an invalid net service name.
Example 15-2 Checking an Invalid Net Service Name with TNSPING
tnsping badname
This attempt produces the following message:
TNS Ping Utility for Linux: Version 11.1.0.0.2 on 15-FEB-2009 14:50:28 Copyright (c) 1997, 2009 Oracle Corporation. All rights reserved. Used parameter files: TNS-03505: Failed to resolve name
Example 15-3 is an example of output when using TNSPING to check a name that is valid, but that resolves to an address where no listener is located (for example, the listener may not be started).
Example 15-3 Checking Valid Net Service Name but No Listener with TNSPING
TNS Ping Utility for Linux: Version 11.1.0.0.2 on 15-FEB-2009 14:52:28 Copyright (c) 1997, 2009 Oracle Corporation. All rights reserved. Used parameter files: Used TNSNAMES adapter to resolve the alias Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = sales-server)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = sales.us.example.com))) TNS-12541: TNS:no listener
The Trace Route Utility (TRCROUTE), in Linux and UNIX environments, enables administrators to discover the path or route a connection is taking from a client to a server. If TRCROUTE encounters a problem, then it returns an error stack to the client instead of a single error. These additional error messages make troubleshooting easier.
TRCROUTE is different from TNSPING in that it travels as a special type of connect packet, and is routed as such. As it travels toward its destination, the TRCROUTE connect packet collects the TNS addresses of every node it travels through. If an error occurs, then TRCROUTE collects error information that shows where the error occurred. The TRCROUTE displays the information collected on the client screen. You can redirect the TRCROUTE output to a file, and print it if you want.
The TRCROUTE uses minimal resources. It gathers information in the connect data of a special connect packet; standard connect packets are not affected.
The server is not affected by TRCROUTE. The listener receives and processes the TRCROUTE connect packet. It returns the information to the client by putting it into a refuse packet. The server does not need to start any new processes or deal with dummy connections.
To use the TRCROUTE utility, enter the following command:
trcroute net_service_name
Example 15-4 shows a successful trace route packet that traveled from a client to a listener.
Example 15-4 Successful Trace Route
trcroute sales Trace Route Utility for Linux: Version 11.2.0.0.2 on 15-FEB-2009 14:35:05 Copyright (c) 1999, 2009 Oracle Corporation. All rights reserved. Route of TrcRoute: ------------------ Node: Client Time and address of entry into node: ------------------------------------------------------------- 09-NOV-2008 21:48:48 ADDRESS= PROTOCOL=TCP HOST=10.150.21.136 PORT=14001 Node: Server Time and address of entry into node: ------------------------------------------------------------- 09-NOV-2008 21:48:05 ADDRESS= PROTOCOL=TCP HOST=10.150.21.136 PORT=14001
Example 15-5 shows an unsuccessful trace route packet that could not reach the listener because the listener was not up.
Example 15-5 Trace Route with Error
Trace Route Utility for Linux: Version 11.2.0.0.2 on 15-FEB-2009 14:35:05 Copyright (c) 1999, 2009 Oracle Corporation. All rights reserved. Route of TrcRoute: ------------------ Node: Client Time and address of entry into node: ------------------------------------------------------------- 25-FEB-2002 14:43:05 ADDRESS= PROTOCOL=TCP HOST=sales-server PORT=1521 TNS-12543: TNS:unable to connect to destination TNS-12541: TNS:no listener TNS-12560: TNS:protocol adapter error TNS-03601: Failed in route information collection
Oracle Database Net Services Administrator's Guide describes how to use Oracle Net Services. This guide describes the Oracle Net Services product and its components, as well as Oracle Net Services administrative and deployment topics. This preface contains the following topics:
Oracle Database Net Services Administrator's Guide is intended for the following readers:
Network administrators
Directory server administrators
Database administrators
Decision makers
This guide is especially targeted for network administrators who are responsible for ensuring connectivity. For network administrators, Oracle recommends:
For a conceptual understanding of Oracle Net Services, read all of Part I, "Understanding Oracle Net Services"
For essential configuration instructions, read all of Part II, "Configuration and Administration of Oracle Net Services"
For troubleshooting, read Part III, "Testing and Troubleshooting Oracle Net Services"
For directory administrators, Oracle recommends:
For understanding how Oracle Net Services uses a directory server, read Chapter 3, "Managing Network Address Information" in Part I
For instructions about configuring naming information in a directory server, and exporting existing naming data to a directory server, read Chapter 8, "Configuring Naming Methods" in Part II
For database administrators, Oracle recommends:
For a general understanding of networking, read Chapter 1, "Introducing Oracle Net Services" and Chapter 6, "Quick Start to Oracle Net Services"
For an overview of communication layers, read Chapter 4, "Understanding the Communication Layers"
For understanding how to configure Oracle database server features that require listener and shared server configuration, read Chapter 9, "Configuring and Administering Oracle Net Listener", Chapter 11, "Configuring Dispatchers", and Chapter 14, "Optimizing Performance"
For decision makers, Oracle recommends
For an understanding of how Oracle Net Services fits into the overall network architecture and for explaining the basics of Oracle Net Services, read Chapter 1, "Introducing Oracle Net Services", Chapter 3, "Managing Network Address Information", and Chapter 6, "Quick Start to Oracle Net Services"
Oracle recommends that all readers look over Part I, to ensure that they have the background required to benefit from the rest of the guide.
For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc
.
Access to Oracle Support
Oracle customers have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info
or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs
if you are hearing impaired.
For additional information, see the following Oracle resources:
Oracle Database 11g documentation set
Many books in the documentation set use the sample schemas of the seed database, which is installed by default when you install Oracle Database. Refer to Oracle Database Sample Schemas for information about how these schemas were created and how you can use them yourself.
To download free release notes, installation documentation, white papers, or other collateral, visit the Oracle Technology Network. You must register online before using Oracle Technology Network; registration is free and can be done at
http://www.oracle.com/technetwork/index.html
If you already have a user name and password for Oracle Technology Network, then you can go directly to the documentation section of the Oracle Technology Network Web site at
http://www.oracle.com/technetwork/indexes/documentation/index.html
For additional information about OSI, see:
Oracle error message documentation is only available in HTML. If you only have access to the Oracle Documentation CD, then you can browse the error messages by range. After you find the specific range, use your browser's "find in page" feature to locate the specific message. When connected to the Internet, you can search for a specific error message using the error message search feature of the Oracle online documentation.
The examples for directories in the book are for Linux. Unless otherwise noted, Microsoft Windows directory paths are the same except that they use a backslash (\) instead of the forward slash (/).
The following text conventions are used in this document:
Convention | Meaning |
---|---|
boldface | Boldface type indicates graphical user interface elements associated with an action, or terms defined in text or the glossary. |
italic | Italic type indicates book titles, emphasis, or placeholder variables for which you supply particular values. |
monospace | Monospace type indicates commands within a paragraph, URLs, code in examples, text that appears on the screen, or text that you enter. |