11 Configuring and Administering Oracle Connection Manager

This chapter describes how to configure Oracle Connection Manager features.

This chapter contains these topics:

11.1 Oracle Connection Manager Configuration Overview

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.

11.2 Configuring Oracle Connection Manager

To configure Oracle Connection Manager:

  1. 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.

  2. Configure clients with the protocol addresses of the Oracle Connection Manager listener.

  3. Optionally Configure the database server for session multiplexing.

This section contains these topics:

11.2.1 Configuring the Oracle Connection Manager Computer

Note:

Oracle Net Manager does not support configuration of the cman.ora file, so changes must be made manually.

To configure the computer 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 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=192.0.2.32/27)(DST=sales-server)(SRV=*)(ACT=accept)
        (ACTION_LIST=(AUT=on)(MCT=120)(MIT=30)))
      (RULE=(SRC=192.0.2.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:

Oracle Database Net Services Reference to learn more about this feature and the ADMINISTER and STARTUP commands

This section includes the following topics:

11.2.1.1 Listening Endpoint (ADDRESS)

The 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 Example 11-1 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 TCPS is not supported.

11.2.1.2 Access Control Rule List (RULE_LIST)

The access control rule list specifies which connections are accepted, rejected, or dropped by the listener.

(RULE=(SRC=192.0.2.32/27)(DST=sales-server)(SRV=*)(ACT=accept)
  (ACTION_LIST=(AUT=on)(MCT=120)(MIT=30)))
(RULE=(SRC=192.0.2.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=192.0.2.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=192.0.2.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.

11.2.1.3 Parameter List (PARAMETER_LIST)

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 values

11.2.2 Configuring Clients for Oracle Connection Manager

To 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=example.com)))

To configure a protocol address for Oracle Connection Manager:

  1. Start Oracle Net Manager.

  2. In the navigator pane, expand Directory or Local > Service Naming.

  3. Click plus (+) from the toolbar, or choose Edit > Create.

    The Welcome page of the Net Service Name Wizard appears.

  4. Enter any name in the Net Service Name field.

  5. Click Next.

    The Protocol page appears.

  6. Select the protocol on which Oracle Connection Manager is configured to listen on. By default this protocol is TCP/IP.

  7. Click Next.

    The Protocol Settings page appears.

  8. 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 settings
  9. Click Next.

    The Service page appears.

  10. Select a release, and then enter the name of destination database service.

    If the destination service is an Oracle Database 11g, Oracle9i or Oracle8i database, select Oracle8i or later, and enter a service name in the Service Name field. If destination service is an Oracle8 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 string
  11. Click Next.

    Note:

    Do not click Test, because a connection cannot be tested at this point.
  12. 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.

11.2.3 Configuring the Oracle Database Server for Oracle Connection Manager

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.

This section includes the following topics:

11.2.3.1 Service Registration Configuration

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.

11.2.3.2 Session Multiplexing Configuration

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:

11.3 Enabling Oracle Connection Manager Features

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.

11.3.1 Enabling Session Multiplexing

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.

You can set different levels of multiplexing, as Table 11-1 shows.

Table 11-1 Session Multiplexing Parameters

Attribute Description

PROTOCOL (PRO or PROT)

The network protocol for which the dispatcher generates a listening endpoint.

MULTIPLEX (MUL or MULT)

Used to enable session multiplexing

If 1, on, yes, true, or both is specified, then multiplexing is enabled for both incoming and outgoing network sessions.

If in is specified, then multiplexing is enabled for incoming network sessions from the client.

If out is specified, then multiplexing is enabled for outgoing network sessions.

If 0, no, off, or false is specified, then multiplexing is disabled for both incoming and outgoing network sessions.


Note:

You can configure the DISPATCHERS parameter using the Database Configuration Assistant.

11.3.2 Enabling Access Control

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:

  1. Manually create a cman.ora file, if one does not already exist.

  2. 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)))
    
  3. Add the following parameters for each rule described in Table 11-2 as needed.

Table 11-2 Rule-Level Parameters

Parameter Description

SRC

Specify the source host name or IP address of the client. The IP address can be a subnet such as 192.0.2.62/24.

DST

Specify the destination host name or IP address of the database server. The IP address can be a subnet such as 192.0.2.62/24.

SRV

Specify the service name of the Oracle Database 11g, Oracle9i or Oracle8i database (obtained from the SERVICE_NAME parameter in the initialization parameter file).

ACT

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 parameters

You 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, computer client1-pc is denied access to service sales.us.example.com, but client 192.0.2.45 is granted access to service db1.

(RULE_LIST=
  (RULE=(SRC=client1-pc)(DST=sales-server)(SRV=sales.us.example.com)(ACT=reject))
  (RULE=(SRC=192.0.2.45)(DST=192.0.2.200)(SRV=db1)(ACT=accept)))

See Also:

Oracle Database Net Services Reference for further information about Oracle Connection Manager parameters

11.4 Migrating cman.ora from Oracle9i to Oracle Database 11g

If you want to migrate an Oracle9i cman.ora file to Oracle Database 11g, 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 11g 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 11g format

  • Admin section: cmmigr ignores this section.

  • Profile section: cmmigr translates the parameter names in cman_profile into Oracle Database 11g 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.

Table 11-3 lists messages used by cmmigr.

Table 11-3 cmmigr Messages

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.