Skip Headers

Oracle® Process Manager and Notification Server Administrator's Guide
10g (9.0.4)

Part Number B12057-01
Go To Documentation Library
Home
Go To Product List
Solution Area
Go To Table Of Contents
Contents
Go To Index
Index

Go to previous page Go to next page

4
opmn.xml Common Configuration

This chapter provides common configuration examples, and descriptions of elements and attributes for the OPMN opmn.xml file.

It contains the following topics:

4.1 Example of opmn.xml Elements and Attributes

Example 4-1 shows all possible elements and attributes that may appear in an opmn.xml file that are not specific to any Oracle Application Server component.

Example 4-1 Common Configuration Elements and Attributes

<opmn>
   <notification-server>
      <ipaddr local="ip" remote="ip" request="ip"/>
      <port local="port" remote="port" request="port"/>
      <log-file path="path" level="level" rotation-size="kBytes" rotation-hour="HOD"/>
      <ssl enabled="boolean" wallet-file="path" wallet-password="password"/>
   </notification-server>
   <process-manager insecure-remote-requests="boolean">
      <log-file path="path" level="level" rotation-size="kBytes" rotation-hour="HOD"/>
   <process-modules>
      <module path="path" tag="tag-id" status="state" cron="interval">
      <module-data>
         <category id="id">
            <data id="id" value="value" process-conversion="boolean"/>
         </category>
      </module-data>
         <module-id id="module-id"/>
      </module>
   </process-modules>
      <ias-instance id="ias-instance-name" ORACLE_HOME="path">
         <environment>
            <variable id="id" value="value" append="boolean" process-conversion="boolean"/>
         </environment>
         <!-- module-data -->
         <ias-component id="component-id" id-matching="boolean" status="state">
            <!-- environment -->
            <!-- module-data -->
            <dependencies>
               <database db-connect-info="connect" infrastructure-key="key" 
               timeout="depend-timeout"cache-timeout="cache-timeout"/>
               <OID address="address" timeout="depend-timeout" cache-timeout="cache-timeout">
                  <ssl enabled="boolean" wallet-file="path" wallet-password="password">
               </OID>
               <OSSO host="hostname" port="port" URI="uri" timeout="depend-timeout" 
               cache-timeout="cache -timeout"/>
                  <ssl enabled="boolean" wallet-file="path" wallet-password="password">
               </OSSO>
               <managed-process ias-instance="ias-instance-id" ias-component="ias-component-id" 
               process-type="process-type-id" process-set="process-set-id" autostart="boolean" 
               autostop="boolean" timeout="depend-timeout" cache-timeout="cache-timeout"/>
            </dependencies>
            <process-type id="process-type-id" module-id="module-id" status="state" 
            working-dir="path">
               <!--<environment>-->
               <!-- module-data -->
               <!-- dependencies -->
               <event-scripts>
                  <pre-start path="path">
                  <pre-stop path="path">
                  <post-crash path="path">
               </event-scripts>
               <start timeout="timeout" retry="num"/>
               <stop timeout="timeout"/>
               <restart timeout="timeout" retry="num"/>
               <ping timeout="timeout" retry="num" interval="interval"/>
               <port id="id" range="range"/>
               <process-set id="process-set-id" restart-on-death="boolean" numprocs="num" 
               status="state" working-dir="path">
                  <!-- environment -->
                  <!-- module-data -->
                  <!-- dependencies -->
                  <!-- event-scripts -->
                  <!-- start -->
                  <!-- stop -->
                  <!-- restart -->
                  <!-- ping -->
                  <!-- port -->
               </process-set>
            </process-type>
         </ias-component>
      </ias-instance>
   </process-manager>
</opmn>

4.2 opmn.xml Element and Attribute Descriptions

This section describes the elements and attributes in the opmn.xml file that are not specific to any Oracle Application Server component. This section also provides attribute descriptions of the elements.

<opmn>
Required: true
Default: none
Parents: none
Attributes: none

Top-level element for opmn.xml

<notification-server>
Required: true
Default: none
Parents: <opmn>
Attributes: none

Configures or, contains elements to configure the ONS portion of OPMN.

<ipaddr>
Required: true
Default: none
Parents: <notification-server>
Attributes: local, remote, request

Specifies host information for ONS listener threads and host port bindings.

<port>
Required: true
Default: none
Parents: <notification-server>
Attributes: local, remote, request

Configuration of the port information for ONS listener threads host and port bindings.

<log-file>
Required: true
Default: none
Parents: <notification-server>
Attributes: path, level, rotation-size, rotation-hour

Configuration definitions for the ONS log mechanism.

<ssl>
Required: false
Default: none
Parents: <notification-server>
Attributes: enabled, wallet-file, wallet-password

<process-manager>
Required: true
Default: none
Parents: <opmn>
Attributes: insecure-remote-requests

Contains the configuration definitions for the PM portion of OPMN.

<log-file>
Required: true
Default: none
Parents: <process-manager>
Attributes: path, level, rotation-size, rotation-hour

Configuration definitions for the PM log mechanism.

<process-modules>
Required: true
Default: none
Parents: <process-manager>
Attributes: none

The PM dynamically loads in a library for each specified process module. Each process module is designed to support a specific set of process-type, and is only required if those process-type are configured.

<module>
Required: true
Default: none
Parents: <process-modules>
Attributes: path, tag, status, cron

A module is used to provide process-type specific support for the PM. Each module is implemented as a shared library which exports a set of standard functions and uses the PM process module API. A module must provide a list of the process-types it supports, and only one configured process module may list a specific process-type; no two modules can list the same process-type.

<module-data>
Required: false
Default: none
Parents: <module>, <ias-instance>, <ias-component>, <dependencies>, <process-set>
Attributes: none

The module-data blocks are used to define module specific name-value pairs that are meaningful only to a specific module. Each module-data block is organized into categories, which contain the name-value data pairs.

The module-data blocks can be defined for multiple elements within opmn.xml, and OPMN will create an aggregate module-data block at the process-set level that contains all values defined at or above it. If multiple definitions exist in this hierarchy with the same category id and data id, the value defined at the lowest level is used.

Table 4-1 illustrates the module-data defined at each level in the hierarchy (with the highest level displayed at the top) and the resultant union at the process-set level of all of the module-data definitions:

Table 4-1 module-data Hierarchy  
Module Definition

ias-instance

<category id="CatA">
   <data id= "DataAA" value="aaaa"/>
</category>

ias-component

<category id="CatA">
   <data id= "DataAB" value="abab"/>
</category>
<category id="CatB">
   <data id= "DataBA" value="baba"/>
</category>

module

<category id="CatA">
   <data id= "DataAC" value="acac"/>
</category>

process-type

<category id="CatA">
   <data id= "DataAA" value="XXXX"/>
</category>

process-set

<category id="CatB">
   <data id= "DataBB" value="bbbb"/>
</category>

RESULT

<category id="CatA">
   <data id= "DataAA" value="XXXX"/>
   <data id= "DataAB" value="abab"/>
   <data id= "DataAC" value="acac"/>
</category>
<category id="CatB">
   <data id= "DataBA" value="baba"/>
   <data id= "DataBB" value="bbbb"/>
</category>

<category>
Required: true
Default: none
Parents: <module-data>
Attributes: id

The category is an organizational level within a module-data block.

<data>
Required: true
Default: none
Parents: <category>
Attributes: id, value, process-conversion

A data name value definition within a module-data category.

<module-id>
Required: true
Default: none
Parents: <module>
Attributes: id

The module-id name defines the type of process and associates the configuration with a process module.

This identifier is used by each process-type to specify which module supports it. A module may be configured with multiple module-ids.

<ias-instance>
Required: true
Default: none
Parents: <process-manager>
Attributes: id, ORACLE_HOME

The configuration definitions for an Oracle Application Server instance. Only one ias-instance is supported per OPMN.

<environment>
Required: true
Default: Refer to the following paragraph.
Parents: <ias-instance>, <ias-component>, <dependencies>, <process-set>
Attributes: none

Like module-data blocks, environment blocks can be defined for multiple elements within the opmn.xml file, and OPMN will create an aggregate environment block at the process-set level that contains all values defined at, or above it. If multiple definitions exist in this hierarchy with the same id, the value defined at the lowest level is used.


Note:

OPMN sets the following default environment variables at the ias-instance level, with the values extracted either from the ias-instance configuration or from the OPMN run time environment:

UNIX: ORACLE_HOME, ORACLE_NLS, OPMN_ENV_LC_ALL, OPMN_ENV_LANG, OPMN_ENV_NLS_LANG, SHELL

Windows: COMSPEC, SYSTEM_DRIVE, and SYSTEM_ROOT


<variable>
Required: true
Default: none
Parents: <environment>
Attributes: id, value, append, process-conversion

The environment variable name and value are defined with this element.

        Required: false
        Default: false
        Valid Values: true or false

         Required: false
         Default: true
         Valid Values: true or false

<ias-component>
Required: true
Default: none
Parents: <ias-instance>
Attributes: id, id-matching, status

An ias-component is a logical grouping of process-type for administrative purposes.

<dependencies>
Required: false
Default: none
Parents: <ias-component>, <dependencies>, <process-set>
Attributes: none

OPMN uses dependencies to determine if a process should be started or not. Like module-data, environment blocks can be defined for multiple elements within opmn.xml. OPMN will create an aggregate dependency list at the process-set level that contains all dependencies defined at or above it. If duplicate dependencies are defined at different levels, then duplicate checks on the dependency will be made before starting a process.

There are two primary types of dependencies: external and internal. External dependencies are for those resources not managed by OPMN. For example: OracleAS Metadata Repository and Application Server Control.

An external program is executed by OPMN to perform the check on the resource. Internal dependencies are for OPMN-managed processes (unit), which may include processes managed on a remote OPMN.

OPMN maintains a cache of dependency states which contains the last known state of each dependency, and the time it was last checked. A cache-timeout parameter for each dependency allows users to specify how long to use its state in the cache, or if it should be used at all. Similarly, a general timeout parameter for each dependency will determine how long OPMN will wait for a status update from that dependency before aborting the dependency check and the process start.

OPMN checks dependencies in the order in which they are declared. The traversal of this list of dependencies concludes either with the full sequence of successful checks, the dependency is available, or the first check failure, the dependency is not available, or the dependency check timed out.

<database>
Required: false
Default: none
Parents: <dependencies>
Attributes: db-connect-info, infrastructure-key, timeout, cache-timeout

Specifies the database to check: either db-connect-info or infrastructure-key is used to identify the database.

<OID>
Required: false
Default: none
Parents: <dependencies>
Attributes: address, infrastructure, timeout, cache-timeout

Specifies the Oracle Internet Directory service to check either an address string for a specific Oracle Internet Directory, or that the OracleAS Infrastructure flag is set to true to use the default infrastructure Oracle Internet Directory.

<ssl>
Required: false
Default: none
Parents: <OID>
Attributes: enabled, wallet-file, wallet-password

The SSL information for the Oracle Internet Directory connection.

<OSSO>
Required: false
Default: none
Parents: <dependencies>
Attributes: host, port, URI, timeout, cache-timeout

Specifies the OracleAS Single Sign-On service to check.

<ssl>
Required: false
Default: none
Parents: <OSSO>
Attributes: enabled, wallet-file, wallet-password

The SSL information for the OracleAS Single Sign-On connection.

<managed-process>
Required: false
Default: none
Parents: <dependencies>
Attributes: ias-instance, ias-component, process-type, process-set, autostart, autostop, timeout, cache-timeout

Specifies the managed process to check. A process for process-type or process-set does not start unless the specified dependency managed process is alive. Circular dependencies are detected and rejected for local managed processes, but not for remote managed processes; this may result in a dependency check deadlock, which times out.

<process-type>
Required: true
Default: none
Parents: <ias-component>
Attributes: id, module-id, status, working-dir

A process-type is a grouping of process-sets that are supported by the same module.

<event-scripts>
Required: false
Default: none
Parents: <process-type>, <process-set>
Attributes: none
A configured event script is executed when a specific process related event has occurred. OPMN waits until the script completes or times out before proceeding with the next action for the process.
Table 4-2 shows event script arguments.
Table 4-2 Event Script Arguments 
Option Name Option Argument Description

-timeStamp

<time>

An integer value for the current time on the system (in seconds).

-instanceName

<instance-name>

The instance-name of the managed process.

-componentId

<component-id>

The component-id of the managed process.

-processType

<process-type-id>

The process-type of the managed process.

-processSet

<process-set-id>

The process-set of the managed process.

-processIndex

<index>

The process-index of the managed process.

-stderrFoot 1

<path>

The path for the stderr file pointer of the process.

-stdoutFootref 1

<path>

The path for the stdout file pointer of the process. Note: this argument will only be given for a pre-start script if the start is part of a process restart request.

-reason

<reason>

A string indicating the reason script was executed. The http_request indicates the process action is the result of the user http request to OPMN. The non_http_request indicates the process action was initiated by OPMN itself.

-pidFoot 2

<process-id>

The operating system integer value given for the process-id.

-startTimeFoot 2

<time>

An integer value for the system start time of the process (in seconds).

1 This argument will only be given for a pre-start script if the start is part of a process restart request. The pre-start event is triggered only prior to performing a start. A restart operation may be composed of a stop operation followed by a start operation. A start operation can occur as an operation all by itself or as a sub-operation of a restart.
2 This argument is only available with pre-stop or post-crash event scripts.

<pre-start>
Required: false
Default: none
Parents: <event-scripts>
Attributes: path

OPMN runs the specified script after any configured dependency checks have been performed (and passed) and before the process is actually started. The timeout for this script is the timeout value configured for starting the process itself, and any time consumed by the execution of this script counts towards the process start timeout. If the script times out, the process will not be started and any associated http request will fail.

Be cautious when you execute any OPMN process requests such as start, stop or restart within an event script. These requests are serialized at the process-set level. If the script invokes a request on a process-set on which the current request (or another already queued request) is operating, then the script will hang until it times out.

<pre-stop>
Required: false
Default: none
Parents: <event-scripts>
Attributes: path

OPMN runs the specified script before stopping the associated process. The timeout for this script is the value configured for stopping the process itself. Any time consumed by the execution of this script counts towards the process stop timeout. If the script times out, any associated http request will fail. However, OPMN will proceed with stopping the process.

Be cautious when you execute any OPMN process requests such as start, stop or restart. These requests are serialized at the process-set level. If the script invokes a request on a process-set on which the current request (or another already queued request) is operating, then the script will hang until it times out.

<post-crash>
Required: false
Default: none
Parents:<event-scripts>
Attributes: path

OPMN runs the specified script after the associated process has terminated unexpectedly. The timeout for this script is the timeout value configured for stopping the process itself. After the script has terminated OPMN schedules a replacement of the dead process.

Be cautious when you execute any OPMN process requests such as start, stop or restart. These requests are serialized at the process-set level. If the script invokes a request on a process-set on which the current request (or another already queued request) is operating, then the script will hang until it times out.

<start>
Required: false
Default: Refer to the values in the following paragraphs.
Parents: <process-type>, <process-set>
Attributes: timeout, retry

The start parameters for managed processes.

<stop>
Required: false
Default: Refer to the values in the following paragraphs.
Parents: <process-type>, <process-set>
Attributes: timeout

The stop parameters for managed processes.

<restart>
Required: false
Default: Refer to the values in the following paragraphs.
Parents: <process-type>, <process-set>
Attributes: timeout, retry

The restart parameters for managed processes.

<ping>
Required: false
Default: Refer to the values in the following paragraphs.
Parents: <process-type>, <process-set>
Attributes: timeout, retry, interval

The ping parameters for managed processes.

<port>
Required: false
Default: none
Parents: <process-type>, <process-set>
Attributes: id, range

OPMN provides a port management mechanism for modules to use. Each module uses the ports configured with id.

<process-set>
Required: true
Default: none
Parents: <process-type>
Attributes: id, restart-on-death, numprocs, status, working-dir

A process-set is the abstraction of a process within OPMN. All module-data, environment variables, and other configuration parameters are resolved into their final values at the process-set level.


Go to previous page Go to next page
Oracle
Copyright © 2003 Oracle Corporation.

All Rights Reserved.
Go To Documentation Library
Home
Go To Product List
Solution Area
Go To Table Of Contents
Contents
Go To Index
Index