This chapter describes how to configure Oracle Connection Manager features.
This chapter contains these topics:
Migrating cman.ora from Oracle9i to Oracle Database 10g
Note:
Oracle Connection Manager is available for installation with Oracle Database 10gEnterprise Edition.See Also:
Chapter 1, "Networking Challenges in the Internet Age" for an introductory level overview of Oracle Connection Manager concepts
Chapter 5, "Architecture of Oracle Net Services" for an architectural overview of Oracle Connection Manager
Oracle Connection Manager is a proxy server, an intermediate server that forwards connection requests to database servers or to other proxy servers. It has two primary functions:
Session multiplexing
Access control
With session multiplexing, you can quickly enable Oracle Connection Manager to funnel multiple client sessions through a network connection to a shared server destination.
With access control, you can use rule-based configuration to filter out certain client requests and accept others.
To configure Oracle Connection Manager:
Configure the cman.ora
file on the Oracle Connection Manager computer. This file specifies the listening endpoint for the server, access control rules, and Oracle Connection Manager performance parameters.
Configure clients with the protocol addresses of the Oracle Connection Manager listener.
Optionally Configure the database server for session multiplexing.
This section contains these topics:
Note:
Oracle Net Manager does not support configuration of thecman.ora
file, so changes must be made manually.To configure the machine where Oracle Connection Manager is installed, you can define three types of parameters in the cman.ora
file:
Listening endpoint (ADDRESS
)
Access control rule list (RULE_LIST
)
Parameter list (PARAMETER_LIST
)
The cman.ora
file is located in the $ORACLE_HOME/network/admin
directory on UNIX and in the ORACLE_HOME
\network\admin
directory on Windows. Example 11-1 shows an example cman.ora
file file that contains a configuration entry for an Oracle Connection Manager called CMAN1
.
Example 11-1 Example cman.ora File
CMAN1= (CONFIGURATION= (ADDRESS=(PROTOCOL=tcp)(HOST=proxysvr)(PORT=1521)) (RULE_LIST= (RULE=(SRC=206.62.226.32/27)(DST=sales-server)(SRV=*)(ACT=accept) (ACTION_LIST=(AUT=on)(MCT=120)(MIT=30))) (RULE=(SRC=206.26.226.32)(DST=proxysvr)(SRV=cmon)(ACT=accept))) (PARAMETER_LIST= (MAX_GATEWAY_PROCESSES=8) (MIN_GATEWAY_PROCESSSES=3) (REMOTE_ADMIN=YES)))
One computer can host any number of Oracle Connection Managers, each with its own configuration entry in cman.ora
. When defining more than one Oracle Connection Manager in the file, you can assign a default by giving only one a fully qualified host name.
See Also:
The Oracle Database Net Services Reference, Chapter2, "Oracle Connection Manager Control Utility", to learn more about this feature and theADMINISTER
and STARTUP
commandsThe listening endpoint specifies the protocol address for the Oracle Connection Manager listener. CMON, the Oracle Connection Manager monitoring process, uses this address to register information about gateway processes with the listener. The database server, in turn, uses the address to register service information at the Oracle Connection Manager node.
Note that the Oracle Connection Manager listener always listens on the TCP/IP protocol. The address shown in Figure 11-0 is the default address of TCP/IP, port 1521.
(ADDRESS=(PROTOCOL=tcp)(HOST=proxysvr)(PORT=1521))
Note:
Oracle Connection Manager can connect to the database server using protocols such as TCP/IP and IPC. The protocol TPCS is not supported.The access control rule list specifies which connections are accepted, rejected, or dropped by the listener.
(RULE=(SRC=206.62.226.32/27)(DST=sales-server)(SRV=*)(ACT=accept) (ACTION_LIST=(AUT=on)(MCT=120)(MIT=30))) (RULE=(SRC=206.26.226.32)(DST=proxysvr)(SRV=cmon)(ACT=accept))
The example shows two rules. The first one is for client connections. The second is for the Oracle Connection Manager Control utility (CMCTL). In the first rule, src=206.62.226.32/27
designates the IP address of the client, or source. DST=sales-server
designates the destination host name. The abbreviation ACT
stands for "action"—that is, accept, reject, or drop. In the second rule, SRC=206.26.226.32
and DST=proxysvr
represent the same server, indicating that Oracle Connection Manager and CMCTL must reside on the same computer.
The parameter ACTION_LIST
in the first rule sets attributes for a connection if it is accepted. This parameter enables you to override default parameter settings on a connection by connection basis. See "Oracle Connection Manager Parameters" in Oracle Database Net Services Reference for a complete definition of ACTION_LIST
subparameters.
You can specify multiple rules for both client and CMCTL connections.
Notes:
You must enter at least one rule for client connections and one rule for CMCTL connections. Omitting one or the other results in the rejection of all connections for the rule type omitted.
If the CMCTL connection is remote, the REMOTE_ADMIN
parameter in cman.ora
must be set to on
, regardless of the rules specified.
If cman.ora does not exist, Oracle Connection Manager cannot start.
Oracle Connection Manager does not support wildcards for partial IP addresses. If you use a wildcard, use it in place of a full IP address. The IP address of the client may, for example, be (SRC=*).
Oracle Connection Manager supports only the /nn notation for subnet addresses. In the first rule in the example, /27 represents a subnet mask that comprises 27 left-most bits. This means that only the first 27 bits in the client's IP address are compared with the IP address in the rule.
The parameter list sets attributes for an Oracle Connection Manager. Parameters take two forms: global and rule level.
A global parameter applies to all Oracle Connection Manager connections, unless a rule-level parameter overrides it. To change a global parameter's default setting, enter it into the PARAMETER_LIST
, together with an allowable value.
A rule-level parameter is enabled in the ACTION_LIST
section of the RULE_LIST
and applies only to connections specified by the rule. It overrides its global counterpart.
See Also:
Oracle Database Net Services Reference for a complete list of parameters and their default and allowed valuesTo route clients to the database server through Oracle Connection Manager, configure the tnsnames.ora
file with a connect descriptor that specifies the protocol address of Oracle Connection Manager. This address enables clients to connect to the Oracle Connection Manager computer. The connect descriptor looks like this:
sales= (DESCRIPTION= (ADDRESS= (PROTOCOL=tcp) (HOST=cman-pc) (PORT=1521)) (CONNECT_DATA= (SERVICE_NAME=sales.com)))
To configure a protocol address for Oracle Connection Manager:
Start Oracle Net Manager.
See Also:
"Oracle Net Manager"In the navigator pane, expand Directory or Local > Service Naming.
Click plus (+) from the toolbar, or choose Edit > Create.
Enter any name in the Net Service Name field.
Click Next.
The Protocol page appears.
Select the protocol on which Oracle Connection Manager is configured to listen on. By default this protocol is TCP/IP.
Click Next.
The Protocol Settings page appears.
Enter the appropriate parameter information for the selected protocol in the fields provided. If you are using TCP/IP, the default port to use is 1521.
See Also:
Oracle Database Net Services Reference for protocol parameter settingsClick Next.
The Service page appears.
Select a release, and then enter the name of destination database service.
If the destination service is an Oracle Database 10g, Oracle9i or Oracle8i database, select Oracle8i or later, and enter a service name in the Service Name field. If destination service is an Oracle release 8.0 database, select Oracle8 or Previous, and enter an Oracle System Identifier (SID) for an instance in the Database SID field.
See Also:
"About Connect Descriptors" for further information about setting the service name stringClick Next.
Note:
Do not click Test, because a connection cannot be tested at this point.Click Finish to save your configuration and dismiss Net Service Name Wizard.
The new net service name and the Oracle Connection Manager protocol address is added to the Service Naming folder.
Configuring the database server is a two-part process that involves registering database information remotely with Oracle Connection Manager and, optionally, configuring the server for multiplexing.
To enable the database server to communicate with Oracle Connection Manager, the initialization parameter file init.ora
must contain a descriptor that specifies the listening address of Oracle Connection Manager. Because this address is TCP, port 1521 but not the default local listening address of TCP, port 1521, you must specify an alias, using the REMOTE_LISTENER
parameter:
REMOTE_LISTENER=cman_listener_alias
After the alias is specified, it must be resolved with a service name entry in the tnsnames.ora
file.
For example, an alias for an Oracle Connection Manager listener located at proxyserver1 might look like this in the init.ora
file:
REMOTE_LISTENER=listener_cman
The alias listeners_cman
would then be resolved to the following entry in the tnsnames.ora
file:
listener_cman= (DESCRIPTION= (ADDRESS_LIST= (ADDRESS=(PROTOCOL=tcp)(HOST=proxyserver1)(PORT=1521))))
Once the initialization parameter file is configured with the listening address of Oracle Connection Manager, the PMON process—the database instance background process—can register database information with the Oracle Connection Manager listener. This registration is similar to what occurs on the proxy node, where the CMADMIN (Connection Manager Administration) process—the Oracle Connection Manager background process—registers the location and load of proxy processes with the listener of Oracle Connection Manager.
To enable Connection Manager to take advantage of session multiplexing, set the DISPATCHERS
parameter in the initialization parameter file with the attributes PROTOCOL
and MULTIPLEX
.
DISPATCHERS="(PROTOCOL=tcp)(MULTIPLEX=on)"
See Also:
"Enabling Session Multiplexing" for configuration details.
Chapter 12, "Configuring Dispatchers" for more information about configuring shared server.
This section contains these topics:
The first feature is enabled by using the parameter DISPATCHERS
in the initialization parameter file, the second by using the parameter RULE_LIST
in the cman.ora
file.
Once the attributes PROTOCOL
and MULTIPLEX
have been added to the parameter DISPATCHERS
in the initialization parameter file, enabling session multiplexing is simply a matter of ensuring that MULTIPLEX
is set to on
or to an equivalent value.
See Also:
"Enabling Session Multiplexing"You can set different levels of multiplexing, as Table 11-1 shows.
Table 11-1 Session Multiplexing Parameters
Attribute | Description |
---|---|
The network protocol for which the dispatcher generates a listening endpoint. |
|
Used to enable session multiplexing If If If If |
As stated in "Configuring the Oracle Connection Manager Computer", you can use the parameter RULE_LIST
to control client access to designated database servers in a TCP/IP environment. By entering filtering rules under this parameter, you can allow or restrict specific clients access to a database server.
To configure access control:
Manually create a cman.ora
file, if one does not already exist.
Add the parameter RULE_LIST
and its subparameters, using the following format:
(RULE_LIST= (RULE=(SRC=source_host) (DST=destination_host) (SRV=service) (ACT=accept | reject | drop)))
Add the following parameters for each rule described in Table 11-2 as needed.
Table 11-2 Rule-Level Parameters
Parameter | Description |
---|---|
|
Specify the source host name or IP address of the client. The IP address can be a subnet such as 152.10.10.62/24. |
|
Specify the destination host name or IP address of the database server. The IP address can be a subnet such as 152.10.10.62/24. |
|
Specify the service name of the Oracle Database 10g, Oracle9i, or Oracle8i database (obtained from the |
|
Specify to accept, reject, or drop incoming requests based on the preceding three parameters. |
See Also:
Oracle Database Net Services Reference for default values and allowed values of Oracle Connection Manager parametersYou can define multiple rules in the RULE_LIST
. The action (ACT
) in the first matched RULE
is applied to the connection request. If no rules are defined, all connections are rejected.
In the following example, client computer client1-pc
is denied access to the service sales.us.acme.com
, but client 144.25.23.45
is granted access to the service db1
.
(RULE_LIST= (RULE=(SRC=client1-pc)(DST=sales-server)(SRV=sales.us.acme.com)(ACT=reject)) (RULE=(SRC=144.25.23.45)(DST=144.25.187.200)(SRV=db1)(ACT=accept)))
See Also:
Oracle Database Net Services Reference for further information about Oracle Connection Manager parametersIf you want to migrate an Oracle9i cman.ora file to Oracle Database 10g, use the cmmigr tool. Here is the syntax for the tool:
cmmigr [cman.ora_location]
Specifying the file location is optional. If you omit it, cmmigr tries to find the file in the TNS_ADMIN
directory; then it looks in $ORACLE_HOME/network/admin
.When it runs, cmmigr renames the Oracle9i cman.ora
file cman.bak
. It names the Oracle Database 10g file cman.ora
. The tool migrates three of the four sections that are in the Oracle9i file:
Address section: cmmigr converts the listener protocol address from the Oracle9i format to the Oracle Database 10g format
Admin section: cmmigr ignores this section.
Profile section: cmmigr translates the parameter names in cman_profile into Oracle Database 10g names. With the exception of log level and trace level, the tool leaves parameter values untouched. Obsolete parameters appear in a commented list in the new file.
Rules section: cmmigr copies existing rules to the new file. It adds a rule that enables CMCTL to contact CMADMIN. If the old file contains no rules, cmmigr adds two rules to the new file: one for the connection between CMCTL and CMADMIN and one for the client connection. See "Access Control Rule List (RULE_LIST)" for examples of these two rules.
The tool throws the messages listed in Table 11–3.
Message | Description |
---|---|
1.4140 -"Migration completed successfully." |
This message appears when cman.ora has been migrated successfully. |
2.4141-"Unable to find CMAN.ORA." |
This message appears when the file location that you specify is incorrect. |
3.4142-"CMAN.ORA has an invalid format." |
This message appears when the file is in a format that cmmigr cannot understand. Need formatting guidelines |
4.4143-"Unable to write the new CMAN.ORA file." |
|
5.4144-"Nothing to migrate." |
The tool found nothing in the file that it could migrate. |