Skip Headers

Oracle® Process Manager and Notification Server Administrator's Guide
10g (9.0.4)
Part No. B12057-02
  Go To Documentation Library
Home
Go To Product List
Solution Area
Go To Table Of Contents
Contents
Go To Index
Index

Previous Next  

2 OPMN: Overview

This chapter provides an overview of OPMN for Oracle Application Server. It features the following topics:

2.1 What is OPMN?

OPMN is installed and configured with every Oracle Application Server installation type and is essential for running Oracle Application Server.

OPMN features the following functionality:

The OPMN server should be started as soon as possible after turning on the host. OPMN must be running whenever OPMN-managed components are turned on or off.


Note:

On the Microsoft Windows operating system, OPMN is installed as a Windows service (Oracle<OracleHomename>ProcessManager). It starts up automatically when you start or reboot your computer. Refer to Section 2.8.1.3, "opmnctl startall" for more information.

Oracle Application Server components managed by OPMN should never be started or stopped manually. Do not use command line scripts or utilities from previous versions of Oracle Application Server for starting and stopping Oracle Application Server components. OPMN must be the last service turned off whenever you reboot or turn off your computer.

Use the Application Server Control Console and the opmnctl command line utility to start or stop Oracle Application Server components.

2.2 How OPMN Works

OPMN consists of a core grouping of three components that interpret and convey notification information sent between Oracle Application Server processes within the same or different OPMN servers.

The core of OPMN consists of the following three components:

Figure 2-1 shows the architecture of the core of OPMN.

Figure 2-1 OPMN Architecture

OPMN components
Description of the illustration aspmn001.gif

2.2.1 Oracle Notification Server

Oracle Notification Server (ONS) is the transport mechanism for failure, recovery, startup, and other related notifications between components in Oracle Application Server. It operates according to a publish-subscribe model: an Oracle Application Server component receives a notification of a certain type per its subscription to ONS. When such a notification is published, ONS sends it to the appropriate subscribers.

2.2.2 Oracle Process Manager

Oracle Process Manager (PM) is the centralized process management mechanism in Oracle Application Server and is used to manage Oracle Application Server processes. It starts, stops, restarts, and detects death of these processes. The Oracle Application Server processes that PM is configured to manage are specified in the opmn.xml file.

The PM waits for a user command to start specific, or all processes. When a specific process or all processes are to be stopped, the PM receives a request as specified by the request parameters. OPMN is monitored by a shadow process that restarts upon request or after a catastrophic failure.

The PM uses the ONS to:

  • detect that a process has completed initialization and is ready to receive requests

  • determine what ports are in use

  • obtain component specific runtime information

The Application Server Control Console also uses PM to manage processes.

2.2.3 PM Modules

The Oracle Process Manager Modules (PM Modules) implement Oracle Application Server component-specific process management functionality. The PM Modules pass notification information returned by other Oracle Application Server component PM Modules within the same or different OPMN servers.

The PM Modules:

  • the Oracle Application Server component specific notification information is sent from running component processes.

  • construct Oracle Application Server component specific control information.

  • test responsiveness in an Oracle Application Server component specific manner to determine if a component is responding to requests.

2.3 What Oracle Application Server Components Does OPMN Manage?

OPMN manages all Oracle Application Server components except the OracleAS Metadata Repository or the Application Server Control Console.

You can also configure OPMN to manage other components; for example, OracleAS Port Tunnel, and custom processes.

Because of the extensible design of OPMN, add-on components are managed by OPMN without having to update OPMN itself.

2.3.1 Oracle Enterprise Manager 10g Application Server Control Console

In addition to OPMN, you can also manage your enterprise using the Application Server Control Console. Application Server Control Console leverages the functionality of OPMN to manage your Oracle Application Server enterprise. Using a Web browser, Application Server Control Console provides a graphical interface that enables management of all Oracle Application Server components in your network and enterprise.

2.4 OPMN Configuration Files

OPMN reads the following configuration files when started or reloaded:

2.5 Automatic Restart

OPMN gives the user control over automatic death detection and restart of components; you can configure the parameters by which OPMN determines a process has died and disable automatic restart for individual components.

OPMN monitors the operation of its managed processes by the following methods:

The ping and notification functionality is only used where appropriate according to the functionality of the Oracle Application Server component.

OPMN automatically restarts Oracle Application Server components that terminate unexpectedly. OPMN will also restart processes that are unresponsive according to the result of notification and ping operations.

2.6 opmnctl Command Location

opmnctl is the command-line utility for OPMN. The opmnctl command is located in the following directory locations:

(UNIX) ORACLE_HOME/opmn/bin/opmnctl

(Windows) ORACLE_HOME\opmn\bin\opmnctl


Note:

Oracle Application Server components managed by OPMN should never be started or stopped manually. Do not use command line scripts or utilities from previous versions of Oracle Application Server for starting and stopping Oracle Application Server components. Use the Application Server Control Console and the opmnctl command line utility to start or stop Oracle Application Server components.


Note:

Oracle recommends starting OPMN as the user that has installed Oracle Application Server.

2.6.1 opmnctl Syntax

The command below shows an example of the syntax of the opmnctl command:

opmnctl [verbose] [<scope>] <command> [<options>]

Table 2-1 provides a description about opmnctl syntax.

Table 2-1 opmnctl Syntax

Syntax Description
verbose Prints detailed execution message, if available.
scope Specifies where the request is routed. Refer to Section 2.8.3.1, "Scope" for a list of options.
command Specifies an opmnctl command. Refer to Example 2-2 for a list of commands.
options Specifies options for the command. Refer to Section 2.8.3.4, "Options" for a list of options.

2.7 opmnctl Command Quick Reference

Example 2-2 lists opmnctl commands for quick reference. You can obtain the same output information by executing the opmnctl help command.

Example 2-2 opmnctl Commands

prompt > opmnctl help

  scope      command      options
_________   __________   __________
            start                         - Start opmn
            startall                      - Start opmn and all managed processes
            stopall                       - Stop opmn and all managed processes
            shutdown                      - Shutdown opmn and all managed processes
[<scope>]   startproc   [<attr>=<val>..]  - Start opmn managed processes
[<scope>]   restartproc [<attr>=<val>..]  - Restart opmn managed processes
[<scope>]   stopproc    [<attr>=<val>..]  - Stop opmn managed processes
[<scope>]   reload                        - Trigger opmn to reread opmn.xml
[<scope>]   status      [<options>]       - Get managed process status
            ping        [<max_retry>]     - Ping local opmn
            validate    [<filename>]      - Validate the given xml file
            help                          - Print brief usage description
            usage       [<command>]       - Print detailed usage description

2.8 opmnctl Detailed Command Description

The following sections contains detailed descriptions of the opmnctl commands listed in Example 2-2. The opmnctl commands are displayed in the following sections:

2.8.1 Server Control Commands

The opmnctl start, startall, reload, stopall, and shutdown commands enable you to control the OPMN server.

Output is not generated for the successful execution of an opmnctl server control command. Refer to Chapter 17, "OPMN Troubleshooting" if you receive any error messages during opmnctl command execution.

2.8.1.1 Server Control Commands on Microsoft Windows

On the Microsoft Windows operating system, OPMN is installed as a Windows service (Oracle<OracleHomename>ProcessManager) and it starts up automatically when you reboot your computer. When you start or stop OPMN using Windows Services you start or stop all OPMN managed components on the local instance.

Use the Application Server Control Console and the opmnctl command line utility to start or stop Oracle Application Server components.

2.8.1.2 opmnctl start

Syntax: opmnctl start

Use this command to start the OPMN server for a local Oracle Application Server instance without starting OPMN-managed processes.

Execute this command as soon as possible after starting your computer.

OPMN starts up automatically on Microsoft Windows when you start or reboot your computer. All OPMN-managed processes are started.

2.8.1.3 opmnctl startall

Syntax: opmnctl startall [timeout=<seconds>]

Use this command to start OPMN as well as the OPMN-managed processes for a local Oracle Application Server instance. The startall is equivalent to the start command and the startproc command without arguments. Oracle recommends using the start or startproc command.

This command operates synchronously and waits for the operation to complete before returning. To set a timeout for the request, specify the timeout value in seconds.

Enter the following command for additional detailed information.

prompt > opmnctl usage startall
stopall
start startall startproc

On Microsoft Windows, you can also perform an opmnctl startall by starting the Oracle<OracleHomename>ProcessManager service in the Windows services control panel. The Oracle<OracleHomename>ProcessManager starts automatically when you start or reboot your computer.

2.8.1.4 opmnctl stopall and opmnctl shutdown

Syntax: opmnctl stopall, opmnctl shutdown

Use either of these commands to shut down the OPMN server as well as the OPMN-managed processes for the local Oracle Application Server instance. This request operates synchronously; it waits for the operation to complete before returning.

The opmnctl stopall or the opmnctl shutdown command should only be executed prior to shutting down OPMN and your computer.

Shutting down the OPMN server is not necessary during normal operation. Shutting down the OPMN server prevents remote commands to OPMN from executing on the Oracle Application Server instance until OPMN is restarted.

On Microsoft Windows, you can also perform an opmnctl shutdown by stopping the Oracle<OracleHomename>ProcessManager service in the Windows services control panel.

Use the opmnctl stopproc command if you want to stop all OPMN managed processes.

Use the opmnctl reload if you want OPMN to reread its configuration.

Enter one of the following commands to obtain additional information.

prompt > opmnctl usage stopall

or

prompt > opmnctl usage shutdown

2.8.1.5 opmnctl reload

Syntax: opmnctl [scope] reload

Use this command to trigger the OPMN to re-read its configuration files in the requested scope. This command restarts the OPMN server without restarting any Oracle Application Server processes managed by OPMN. The OPMN server for the Oracle Application Server instance must be up and running.


Note:

On Microsoft Windows, you can highlight the Oracle<OracleHomename>ProcessManager in the services control panel and select Restart. The restart of the service is not equivalent to an opmnctl reload, however. This action is equivalent to an opmnctl shutdown followed by an opmnctl startall. It is a much slower operation than opmnctl reload because it restarts OPMN and all the processes managed by OPMN.

Enter the following command for additional detailed information.

prompt > opmnctl usage reload

2.8.2 Process Control Commands

The opmnctl process control commands enable you to start, stop, or restart single or multiple Oracle Application Server components. You can control an Oracle Application Server component at the <ias-component>, <process-set>, or <process-type> level.

This section describes the process control commands available with opmnctl. It includes the following process control commands:

Output is not generated for the successful execution of an opmnctl process control command. Refer to Chapter 17, "OPMN Troubleshooting" if you receive any error messages during opmnctl command execution.

2.8.2.1 opmnctl startproc, opmnctl restartproc and opmnctl stopproc

Syntax: opmnctl [<scope>] startproc [<attr>=<value>...]

              opmnctl [<scope>] restartproc [<attr>=<value>...]

              opmnctl [<scope>] stopproc [<attr>=<value>...]

Use these commands to start, restart, or stop OPMN-managed processes in the requested scope. The OPMN server for the Oracle Application Server instance must be up and running.

The following attributes and values can be used with the startproc, stopproc, and restartproc commands:

  • ias-component, process-type, and process-set: The values for these attributes should be the same as the id value specified in the opmn.xml file. If no attribute is supplied, the command is applied to all OPMN-managed processes.

  • mode: The mode attribute value can be either sync or async; the default value is sync. The sync value for mode causes the opmnctl command to operate synchronously and wait for the command to be executed completely before a return prompt is displayed. The timeout element can only be specified when the value of mode is sync. The value is specified in number of seconds. After the specified timeout expires, the operation is aborted for startproc but not for restartproc or stopproc. The opmnctl command prompt returns, the OPMN server continues to perform the opmnctl restartproc or stopproc command request until the operation is finished.

    The async value for mode causes the return prompt to be displayed immediately, while the OPMN server continues to perform the opmnctl command request until the operation is finished.

  • uniqueid: This value is assigned by OPMN after starting up. You can use this value when you execute the restartproc and stopproc commands. You can obtain this value by entering the following command and obtaining the unique number for the Oracle Application Server component in the uid column of the generated output.

    prompt > opmnctl status -l
    
    

Attribute names other than the those listed may be specified for some types of Oracle Application Server processes managed by OPMN. Unique attribute name should be specific to each type of Oracle Application Server process.

Using the opmnctl startproc, restartproc, or stopproc commands with a specified scope and attributes enables control of specific processes in your enterprise. You can execute the opmnctl startproc, restartproc, or stopproc commands at the <ias-component>, <process-type> and the <process-set> level.

For example, the following command starts OracleAS Wireless at the <process-set> level.

prompt > opmnctl startproc ias-component=wireless process-type=alert_server process-set=alert_instance_1

The following command restarts OC4J at the <process-type> level.

prompt > opmnctl restartproc ias-component=OC4J process-type=home

The following command stops Oracle HTTP Server at the <ias-component> level.

prompt > opmnctl stopproc ias-component=HTTP_Server

Enter one of the following commands to obtain additional information.

prompt > opmnctl usage startproc

or

prompt > opmnctl usage restartproc

or

prompt > opmnctl usage stopproc

2.8.3 Command Definitions

opmnctl features command definitions that enable you to further define the action you would like to execute with OPMN.

This section describes the command definitions available with the opmnctl command. It includes the following sections:

2.8.3.1 Scope

Syntax: @instance[:instname[:instname...]]

               @cluster[:clusname]

               @farm

The scope option specifies which Oracle Application Server instances the opmnctl command applies to. You can use the scope option for opmnctl commands for single or multiple Oracle Application Server instances, clusters and farms.

  • @instance: If you do not specify a name after @instance option, the opmnctl command is applied to the local Oracle Application Server instance; local refers to the Oracle Application Server instance or cluster containing the OPMN server handling the request. The default is the local Oracle Application Server instance. If the @instance option is followed by Oracle Application Server instance names, the request will be routed to Oracle Application Server instances. To apply the command to one or more Oracle Application Server instances, specify @instance[:instname[:instname...]].

  • @cluster: If you do not specify a name after @cluster option, the opmnctl command is applied to the local Oracle Application Server cluster. If @cluster is followed by a set of 1 or more cluster names, the request will be routed to the all Oracle Application Server instances contained in the specified Oracle Application Server clusters. To apply the command to all Oracle Application Server instances within one or more Oracle Application Server clusters, specify @cluster[:clusname[:clusname...]].

  • @farm: To apply the command query to all Oracle Application Server instances in the Oracle Application Server farm.

For example, the following command starts OC4J on Oracle Application Server instance named "myInst2.foo.com":.

prompt > opmnctl @instance:myInst2.foo.com startproc ias-component=HTTP_Server

2.8.3.2 Attributes

syntax: <attribute>=<value>

The opmnctl attributes enable you to apply process control operations to specific Oracle Application Server components. If no attributes are specified, all OPMN-managed processes are started, stopped, or restarted.

For example, the following command starts all Oracle Application Server processes configured for OracleAS Wireless.

prompt > opmnctl startproc ias-component=wireless

Refer to Chapter 3, "Using OPMN" for additional opmnctl command examples.

Table 2-2 lists the attribute names and values that OPMN can use this command:

Table 2-2 opmnctl Attribute Names and Values

Attribute Name Attribute Values
ias-component Value should be the same as the value for the id attribute for the <ias-component> element in the opmn.xml file.
process-type Value should be the same as the value for the id attribute for the <process-type> element in the opmn.xml file.
process-set Value should be the same as the value for the id attribute for the <process-set> element in the opmn.xml file.
mode Value can either be ÒsyncÓ or ÒasyncÓ. The default value is ÒsyncÓ, meaning that this request operates synchronously, and waits for the operation to complete before returning. ÒasyncÓ indicates that the request returns immediately, while OPMN continues to perform the request until the operation finishes.
timeout This can only be specified in ÒsyncÓ mode. The value is in seconds. After this timeout expires, OPMN does not continue to perform the request for startproc operations. The request does continue for restartproc and stopproc operations.

2.8.3.3 Verbose

Syntax: opmnctl verbose command

The opmnctl verbose option enables you to obtain detailed information about the command you are executing.

For example, the following command outputs the information shown in Example 2-3.

> opmnctl verbose startproc ias-component=HTTP_Server

Example 2-3 opmnctl verbose output

HTTP/1.1 200 OK
Content-Length: 0
Content-Type: text/html
Response: Ping succeeded.

opmnctl: starting opmn managed processes...
HTTP/1.1 200 OK
Content-Length: 571
Content-Type: text/html
Response: 1 of 1 processes started.

<response>
<opmn id="jerichar-sun.us.oracle.com:6200" http-status="200" http-response="1 of 1 processes started.">
   <ias-instance id="M140801.jerichar-sun.us.oracle.com">
      <ias-component id="HTTP_Server">
         <process-type id="HTTP_Server">
            <process-set id="HTTP_Server">
               <process id="1954086921" pid="9355" status="Alive" index="1"                log="/home/demoas/M140801/opmn/logs/HTTP_Server~1"                operation="request" result="success">
               </process>
            </process-set>
         </process-type>
      </ias-component>
   </ias-instance>
</opmn>
</response>

2.8.3.4 Options

The following are the options you can specify for the <options> parameter:

  • -l: Use this option to obtain the uniqueid (uid) value.

    For example, the following command outputs the information shown in Example 2-4.

    prompt > opmnctl status -l
    
    

Example 2-4 opmnctl status -l output

ias-component|process-type|pid   |status |uid      |memused|uptime   | ports
-------------------+--------------------+-------+----------+------------+------------------------
-OC4J        | home       | 5611 | Alive |632225812|105008 |17:55:58 |jms:3701,rmi:3201,ajp:3000

Wrong: cannot be used for "starting a single" process. Only for stopping and restarting.

The uid information allows you to stop or restart an individual Oracle Application Server process.

For example, the following command stops the home process-type.

prompt > opmnctl stopproc uniqueid=632225812

  • -fsep <string>: Use this option to assign a field separator value for your opmnctl status output. The default value is |.

  • -rsep <string>: Use this option to assign a record separator value for your opmnctl status output. The default value is \n.

  • -noheaders: Use this option if you do not want a header displayed after you run the opmnctl status command.

  • -fmt <fmtlist>: This is a single string containing one or more statistic identifiers connected together where each identifier has the following format: <statname>[<width>{<justification>]. The default value is: %cmp18%prt18%pid5R%sta8.

    Table 2-3 lists the format string syntax for the <fmtlist> option:

Table 2-3 Format String Syntax

Format String Syntax Description
<statname> This must be one of the following:
  • clu: Oracle Application Server cluster name

  • ins: Oracle Application Server instance name

  • cmp: Oracle Application Server component ID

  • prt: process-type ID

  • prs: process-set ID

  • idx: index of process in process-set

  • pid: OS process ID

  • uid: OPMN uniqueid

  • typ: name for this kind of process

  • sta: process status

  • stm: start time (ms)

  • utm: up time (ms)

  • cpu: cpu time (ms)

  • mem: memory used (in KB)

  • por: port list

<width> Specifies the size for the field. Output shorter than this value receives padding according to the specified <justification>. Output longer than this value is truncated, and terminated with '~'.

Default: width of each datum.

<justification> Specifies the justification for the field. This enables you to justify output when it is less than the width. It is L, R, or C (left, right, or center justification).

Default: L


For example, the following command displays the output shown in Example 2-5.

prompt> opmnctl status -noheaders -fsep @ -fmt %cmp%prt%pid%sta

Example 2-5 opmnctl status -noheaders output

OC4J@home@N/A@Down
dcm-daemon@dcm-daemon@13875@Alive
LogLoader@logloaderd@9800@Alive 
HTTP_Server@HTTP_Server@13926@Alive

Enter the following command for additional detailed information.

prompt > opmnctl usage status

2.8.4 Status Commands

The opmnctl status commands enable you to determine the status of OPMN-managed processes.

This section describes the command options available with the opmnctl command. It includes the following sections:

2.8.4.1 opmnctl status

Syntax: opmnctl [<scope>] status [<options>]

The status command enables you to obtain information on the Oracle Application Server processes managed by OPMN.

The output is a text table. Each row in the table represents one Oracle Application Server process.

You can customize the status command in the following ways:

  • Supply a scope to obtain status of processes running on other Oracle Application Server instances

  • Change the information displayed about each Oracle Application Server process

  • Remove the table headers from the output

  • Change the field separator

  • Change the record separator

  • Change the width of individual columns

  • Change the justification of the data in an individual column

Enter the opmnctl usage status command to obtain full details on how to use the status command.

Example 2-6 shows the output after entering the opmnctl status command for the AppSrv1 instance on host comp1 for the domain yourcompany.com:

Example 2-6 opmctl Status Output

prompt > opmnctl status

Processes in Instance: AppSrv1.comp1.yourcompany.com
ias-component       | process-type         |    pid | status
--------------------------------------------------------------
WebCache            | WebCacheAdmin        |  29121 | Alive
WebCache            | WebCache             |  29120 | Alive
OC4J                | OC4J_Demos           |    N/A | Down
OC4J                | home                 |  29268 | Init
dcm-daemon          | dcm-daemon           |  29113 | Alive
LogLoader           | logloader            |    N/A | Down
HTTP_Server         | HTTP_Server          |  29099 | Alive

You can use the opmnctl status command with <scope> to obtain additional detailed information. For example, the following command gives you the status of every process of every component of every OracleAS Instance in an entire farm.:

opmnctl @farm status

2.8.4.2 opmnctl ping

Syntax: opmnctl ping [<max_retry>]

The opmnctl ping command enables you to contact the local OPMN server to verify operation. <max_retry> specifies the maximum number of retry times. If <max_retry> is specified, the local OPMN is pinged every one second, until the command execution succeeds or max_retry is reached.

For example, the following command,

prompt > opmnctl ping 10

designates pinging of OPMN 10 times until the ping command succeeds

2.8.5 Help Commands

The opmnctl help commands enable you to obtain additional information regarding OPMN.

This section describes the help command options available with the opmnctl command. It includes the following sections:

2.8.5.1 opmnctl help

Syntax: opmnctl help

Use this command to print a short syntax description of opmnctl commands.

Example 2-7 shows the output from the opmnctl help command.

Example 2-7 opmnctl help Output

prompt > opmnctl help

usage: /ORACLE_HOME/bin/opmnctl [verbose] [<scope>] <command> [<options>]

verbose: print detailed execution message if available

Permitted <scope>/<command>/<options> combinations are:

  scope      command      options
_________   __________   __________
            start                         - Start opmn
            startall                      - Start opmn & all managed processes
            stopall                       - Stop opmn & all managed processes
            shutdown                      - Shutdown opmn & all managed processes
[<scope>]   startproc   [<attr>=<val>..]  - Start opmn managed processes
[<scope>]   restartproc [<attr>=<val>..]  - Restart opmn managed processes
[<scope>]   stopproc    [<attr>=<val>..]  - Stop opmn managed processes
[<scope>]   reload                        - Trigger opmn to reread opmn.xml
[<scope>]   status      [<options>]       - Get managed process status
            ping        [<max_retry>]     - Ping local opmn
            validate    [<filename>]      - Validate the given xml file
            help                          - Print brief usage description
            usage       [<command>]       - Print detailed usage description

2.8.5.2 opmnctl usage

Syntax: opmnctl usage [<command>]

The usage command displays help for all opmnctl commands, or only for the specified command.

The command can be one or more of the following:

  • start

  • startall

  • startproc

  • stopall

  • stopproc

  • restartproc

  • reload

  • shutdown

  • ping

  • status

  • help

For example, enter the following command to receive the output shown in Example 2-8.

prompt > opmnctl usage stopall

Example 2-8 opmnctl usage stopall output

opmnctl stopall
Stop opmn daemon and opmn managed processes for local ias instance.

This request first tries to stop all opmn managed processes gracefully.
Processes which will not stop gracefully will be forcefully shutdown.  After
stopping all managed processes, the opmn daemon will shutdown itself.

This request should only be performed when it is necessary to stop the opmn
daemon.  Once started, the opmn daemon should remain up until it is necessary to
reboot the computer or some other rare administrative event occurs.

To stop all opmn managed processes without stopping the opmn daemon, consider
using the stopproc command without any arguments.

To restart the opmn daemon without restarting any managed processes, consider
using the the reload command.  The reload command is the appropriate command to
use when the only goal is to restart the opmn daemon with a new configuration.

This request operates synchronously and will wait for the operation to complete
before returning.

2.8.5.3 opmnctl validate

Syntax: opmnctl validate [<filename>]

The opmnctl validate command validates the XML syntax of the opmn.xml file. The default ORACLE_HOME/opmn/conf/opmn.xml is validated if the filename parameter is not specified. The <filename> can be specified by either the relative or absolute path.

Only one file can be validated at a time. No output is generated for successful opmn.xml file validation.

2.9 OPMN Log Files

The log files generated by OPMN provide important information that can help you identify and diagnose performance and configuration issues. The Application Server Control Console makes reviewing these log files easier by helping you locate and view Oracle Application Server component log files:

2.10 Security

The OPMN local listener port used by ONS clients and PM administrative processes do not use Secure Socket Layer (SSL) encryption for security, but rely on two other mechanisms to ensure authorized access to the OPMN server:

For security reasons, the OPMN server logs any attempts to connect to its local port with an invalid form factor key (a key that does not match the value written by this OPMN process into the .formfactor file).

In addition to attempted security violations, there are three common user errors that can cause this error to occur.

  1. The user attempts to run the OPMN client manually with the wrong user identification. Only the application server user can read the value from the .formfactor file, and so requests or processes run as the wrong user will not be able to provide the correct key to the OPMN server.

  2. The user is attempting to run an OPMN client from the wrong ORACLE_HOME. It is possible to have multiple ORACLE_HOME instances set up on the same system. If the other ORACLE_HOME instances have OPMN configured to use the same local port then the Oracle Application Server process request from the wrong ORACLE_HOME will read the wrong .formfactor file.

  3. The user has manually changed the local port configuration in the opmn.xml file and started a new OPMN server without first stopping the previous OPMN server. The new OPMN server will run, bind to the new port, and overwrite the .formfactor file. The previous OPMN server is now unreachable via the local port, and can only be shutdown via remote OPMN requests (if SSL and authentication are configured) or by manually stopping the previous OPMN server.

2.10.1 Remote Security

OPMN supports remote requests to other OPMN servers in the same farm, but for security reasons all process control requests (start, restart and stop) are only enabled if SSL is enabled in the opmn.xml file and a wallet file is configured. If neither SSL nor a wallet file are configured, OPMN will reject any remote process control request with HTTP code 403.

The remote port used for remote administration must be SSL-enabled. The remote port should only be used for communication between multiple OPMN servers. Oracle Application Server components and Application Server Control Console transmit through the local port which is inaccessible to remote administration. All access control and authentication is controlled by going through Application Server Control Console.

2.11 iHAT

The Oracle Application Server Hi-Av Tool (iHAT) provides a real time, graphical interface view of your enterprise. iHAT displays all Oracle Application Server processes managed by one or more OPMN servers including useful performance metrics about each process. The snapshot of the system is updated continuously at a configurable interval.

iHAT shows your Oracle Application Server instance with Oracle Application Server components. The ias-component, process-set, and process-type levels are displayed for each Oracle Application Server component. The child process display of the process-type shows the status, process-type, process identification (pid), memory usage, uptime, and CPU usage.

Figure 2-2 shows an example of the iHAT display for an enterprise with two Oracle Application Server instances.

To download iHAT, visit the Oracle Technology Network (OTN):

http://otn.oracle.com/membership

Figure 2-2 Example iHAT Display

iHAT display
Description of the illustration small.gif