6 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:

6.1 Example of opmn.xml Elements and Attributes

Example 6-1 shows all possible elements and attributes that may appear in an opmn.xml file that are not specific to any system components.

6.1.1 Global Definitions and Syntax

All paths, module data values, and environment values may reference the following global variables, which is expanded to their platform specific values:

Table 6-1 Global Variables and Definitions

Global Variable Definition

ORACLE_HOME

Full path to ORACLE_HOME

ORACLE_INSTANCE

Full path to ORACLE_INSTANCE

:

The library path (or class path) separator (":" on Linux or ";" on Microsoft Windows, for example).

EXE_EXT

The executable file extension ("" on Linux or ".exe" on Microsoft Windows, for example)

SO_EXT

The shared library extension (".so" on Linux or ".dll" on Microsoft Windows, for example)

SHELL_EXT

The shell file extension (".sh" on Linux or ".bat" on Microsoft Windows, for example)


Each of the variables defined above must be referenced using the same syntax as an environment variable in Linux or Windows. For example any of these references, ORACLE_HOME, {ORACLE_HOME}, or %ORACLE_HOME% yields the full path to ORACLE_HOME.

OPMN also automatically converts path separators in any path, module data value, or environment value based upon the platform on which OPMN is running. For example, /oracle/instances/ias1 would remain the same on Linux, but on Microsoft Windows OPMN would convert it to \oracle\instances\ias1.

OPMN uses the ^ character as an escape character to disable path separator conversion for the following character, and so "^/" always yields "/" in the parsed string. Two ^ characters yields a single ^.

Example 6-1 Common Configuration Elements and Attributes

<opmn>
<log path="path" comp="comp-codes" rotation=-size="kBytes" rotation-hour="HOD"/>
<debug="path" comp="comp-codes" rotation-size="kBytes" rotation-hour="HOD"/>
   <notification-server interface="type">
      <ipaddr remote="ip; ip" request="ip; ip"/>
      <port local="port" remote="port" reqest="port"/>
      <ssl enabled="boolean" wallet-file="path" wallet-password="password" openssl-certfile="path"
       openssl-keyfile="path open" openssl-password="password" openssl-lib="path"/>


      <tune io-timeout="timeout" io-idle="interval" timeout="timeout"/>
   </notification-server>
   <process-manager insecure-remote-requests="boolean">
      <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"" name="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" infrastructure="boolean" 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="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" minprocs="min"
       maxprocs="max" status="state" working-dir="path" parallel-requests="boolean">
         <!-- environment-->
         <!-- module-data-->
         <!-- dependencies-->
         <!-- event-scripts-->
         <!-- start:-->
         <!-- stop-->
         <!-- restart-->
         <!-- ping-->
         <!-- port-->
      </process-set>
      </process-type>
      </ias-component>
      </ias-instance>
      <launch-targets>
      <launch-target id="id">
      <exec path="path"/>
      <argument value="argument"/>
      <timeout value="seconds"/>
      <max-concurrency value="number"/>
      </launch-target>
      </launch-targets>
   </process-manager>
</opmn>

6.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 system components. This section also provides attribute descriptions of the elements.

opmn


Required: true
Default: none
Parents: none
Attributes: none

<opmn> is the top-level element in the opmn.xml file.

log


Required: false
Default: see attributes
Parents: <opmn>
Attributes: path, comp, rotation-size, rotation-hour

The configuration definitions for the OPMN log mechanism.

path="path" 



Required: true
Default: ORACLE_INSTANCE/diagnostics/logs/OPMN/opmn/opmn.log
Valid Values: The path name for the OPMN log file.

comp="comp-codes"


Required: true
Default: internal, ons, pm
Valid Values: A list of comp-codes. A semi-colon must be used to separate the items on the comp-codes list.

The comp attribute specifies the component codes for logged events. These codes can be viewed and changed dynamically at OPMN run-time using the following commands:

> opmnctl query target=log
> opmnctl set target=log comp=<comp-codes>

The default comp-codes for log already include all possible log messages, and it is recommended that you do not change the value.

The following comp-codes are displayed in the log and debug elements of the opmn.xml file:

  • internal: a log for the common internal information for OPMN

  • ons: a log for the ONS component information for OPMN

  • pm: a log for the PM component information for OPMN

Both the ons and pm components consist of subcomponents which may be specified using the component[subcomponents] syntax. The component can be either ons or pm (separated by a semicolon if both are specified). The list of valid subcomponents for the given component are each separated by a comma. For example, comp="ons[local,listener];pm".

The following Table 6-2 lists the ONS component codes.

Table 6-2 ONS Component Codes

ONS Attribute Definition

all

all subcomponents

local

local information

listener

listener information

discover

discover (server or multicast) information

servers

remote servers currently up and connected to the farm

topology

current farm wide server connection topology

server

remote server connection information

client

client connection information

connect

generic connection information

subscribe

client subscription information

message

notification receiving and processing information

deliver

notification delivery information

special

special notification processing

internal

internal resource information

secure

SSL operation information

workers

worker threads


The following Table 6-3 lists the PM component codes.

Table 6-3 PM Component Codes

PM Attribute Definition

all

all subcomponents

requests

HTTP (user) requests

remote

remote HTTP requests

scheduler

scheduler thread and resource information

monitor

monitor thread information

workers

worker threads

process

managed processes

depend

dependency processing

internal

internal resources

schedjobs

periodic scheduled jobs

procjobs

for each process scheduled jobs

dms

DMS processing

modules

process module information. Only modules which call the modLog() (or modDebug for the debug log) function yields output. A specific module or list of modules may be specified with modules(module-ids). module-ids can be specified with a colon separated list of module-ids to be displayed: modules (module1-id:module2-id). module-ids that do not match a configured and enabled module are not processed.


Each subcomponent (for ons or pm) may be prefaced with the negation character ! which deselects the subcomponent. By using the term "all" with negated sub-components, specific subcomponents are eliminated from the display.

Components and subcomponents are set or negated in the order in which they are encountered. The ons[all,!topology] yields all ons subcomponents excluding topology, while ons[!topology,all] yields all ons subcomponents including topology.

rotation-size="kBytes"


Required: false
Default: none
Valid Values: An integer.

The rotation-size is the maximum size in kilobytes of the log file. When the log file reaches the configured size, the OPMN logging mechanism closes the log, rename it with a time stamp suffix, and then create a new log file. This attribute may be used with rotation-hour.

rotation-hour="HOD"


Required: false
Default: none
Valid Values: An integer value between 0 to 23.

At the given hour of the day, the OPMN logging mechanism closes the log, renames it with a time stamp suffix, and then creates a new log file. This attribute may be used with rotation-size.

debug


Required: false
Default: see attributes
Parents: <opmn>
Attributes: path, comp, rotation-size, rotation-hour

The debug element contains the configuration definitions for the OPMN debug log mechanism.

Note:

Enable usage of the opmn.debug file only after conferring with Oracle Support. The opmn.debug file is used by Oracle Support to debug and diagnose OPMN issues. Messages that are contained in the opmn.debug file are typically not readily comprehensible to the user.

path="path"


Required: true
Default: ORACLE_INSTANCE/diagnostics/logs/OPMN/opmn/opmn.log
Valid Values: The path name for the OPMN debug log file.

comp="comp-codes"


Required: true
Default: none
Valid Values: A list of comp-codes. A semi-colon must be used to separate the items on the comp-codes list.

The comp attribute specifies the component codes for logged events. These codes can be viewed and changed dynamically at OPMN run-time using the following commands:

> opmnctl query target=log
> opmnctl set target=log comp=<comp-codes>

The values revert back to the configured values in the opmn.xml file when OPMN is reloaded.

The following comp-codes are displayed in the log and debug elements of the opmn.xml file:

  • internal: a log for the common internal information for OPMN

  • ons: a log for the ONS component information for OPMN

  • pm: a log for the PM component information for OPMN

Both the ons and pm components consist of subcomponents which may be specified using the component[subcomponents] syntax. The component can be either ons or pm (separated by a semicolon if both are specified). The list of valid subcomponents for the given component are each separated by a comma. For example, comp="ons[local,listener];pm".

The following Table 6-4 lists the ONS component codes.

Table 6-4 ONS Component Codes

ONS Attribute Definition

all

all subcomponents

local

local information

listener

listener information

discover

discover (server or multicast) information

servers

remote servers currently up and connected to the farm

topology

current farm wide server connection topology

server

remote server connection information

client

client connection information

connect

generic connection information

subscribe

client subscription information

message

notification receiving and processing information

deliver

notification delivery information

special

special notification processing

internal

internal resource information

secure

SSL operation information

workers

worker threads


The following Table 6-5 lists the PM component codes.

Table 6-5 PM Component Codes

PM Attribute Definition

all

all subcomponents

requests

HTTP (user) requests

remote

remote HTTP requests

scheduler

scheduler thread and resource information

monitor

monitor thread information

workers

worker threads

process

managed processes

depend

dependency processing

internal

internal resources

schedjobs

periodic scheduled jobs

procjobs

for each process scheduled jobs

dms

DMS processing

modules

process module information. Only modules which call the modLog() (or modDebug for the debug log) function yields output. A specific module or list of modules may be specified with modules(module-ids). module-ids can be specified with a colon separated list of module-ids to be displayed: modules (module1-id:module2-id). module-ids that do not match a configured and enabled module are not processed.


Each subcomponent (for ons or pm) may be prefaced with the negation character ! which deselects the subcomponent. By using the term "all" with negated sub-components, specific subcomponents are eliminated from the display.

Components and subcomponents are set or negated in the order in which they are encountered. The ons[all,!topology] yields all ons subcomponents excluding topology, while ons[!topology,all] yields all ons subcomponents including topology.

rotation-size="kBytes"


Required: false
Default: none
Valid Values: An integer.

The rotation-size is the maximum size in kilobytes of the log file. When the log file reaches the configured size, the OPMN logging mechanism closes the log, renames the log with a time stamp suffix, and then creates a new log file.

The rotation-size attribute may be used with the rotation-hour attribute.

rotation-hour="HOD"


Required: false
Default: none
Valid Values: An integer value between 0 to 23.

The rotation-hour attribute for use with the log file at the specified time of day, the OPMN logging mechanism closes the log file, renames it with a time stamp suffix, and then creates a new log file. This attribute may be used with the rotation-size attribute.

notification-server


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

The notification-server element configures or, contains the elements to configure the ONS portion of OPMN.

interface="type"


Required: false
Default: any
Valid Values: any, IPv6, or IPv4

By default, OPMN supports both the IPv6 and IPv4 network interfaces (see Section 3.5 for information about IPv6 support). OPMN binds to both interfaces for its listener ports and attempts connections using either interface. OPMN always attempts to use the IPv6 interface first, if such an address is available. This behavior is the same as the default behavior for the Sun Java Virtual Machine (JVM).

Both IPv4 and IPv6, require that you use the same network for connection to other OPMN servers. For example, IPv6 forces OPMN to only use the IPv6 network interface even if the IPv4 interface is available. This means that OPMN is only be able to connect to (and be connected from) other OPMN servers that can use the same network interface. If you configure IPv6 or IPv4 on a system that does not provide the same network interface support, OPMN will not start.

ipaddr


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

The iapddr element specifies host information for ONS listener threads and host port bindings.

remote="ip; ip"


Required: false
Default: none
Valid Values: an IP address (in the IPv4 or IPv6 format) or host name to which ONS binds its remote port. A list of IP values may be configured to force ONS to bind to a specific set of IP addresses. Each IP value must be separated by a semi-colon on the list.

The remote attribute is the IP address or host name to which ONS binds its remote port. The remote port is used for ONS to ONS communication. Notifications pass from ONS to ONS through the remote port, and OPMN uses ONS to route remote requests to other OPMN servers through the remote port.

request="ip; ip"


Required: false
Default: IP address for default system host name
Valid Values: an IP address (in IPv4 or IPv6 format) or host name to which ONS binds its request port. A list of IP values may be configured to force ONS to bind to a set of specific IP addresses. The values on the list must be separated by a semi-colon.

The request attribute is for the IP address or host name to which ONS binds its remote port. This port can only be used for obtaining status information.

port


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

The port element contains configuration information for ONS listener threads host and port bindings.

local="port"


Required: true
Default: none
Valid Values: A valid port number.

The local attribute is for the ONS local port value.

remote="port"


Required: false
Default: none
Valid Values: A port number.

The remote attribute is for the ONS remote port value.

request="port"


Required: false
Default: none
Valid Values: A port number.

The request attribute is for the ONS request port value.

ssl


Required: false
Default: none
Parents: <notification-server>
Attributes: enabled, wallet-file, wallet-password, openssl-certfile, openssl-keyfile, openssl-password, and openssl-lib

The ssl element is used for ONS to ONS security and authentication configuration. You may configure either the Oracle SSL layer (wallet-file and wallet-password) or the Open SSL layer (openssl-certfile, openssl-keyfile, openssl-password, and openssl-lib). You cannot use both. If you configure both Oracle and Open SSL layers within the same opmn.xml file, the server will not start.

The Oracle SSL layer uses the libraries shipped with either the Oracle Fusion Middleware or Oracle Database products. The Oracle SSL layer uses the standard Oracle wallet.The Open SSL layer provides better performance, documentation, and support for encryption hardware. It also has uses less hardware space within OPMN. Open SSL is an open source tool kit to develop security protocols. You can find more information at:

http://www.openssl.org

enabled="boolean"


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

If the enabled value is set to true, it enables SSL connections for ONS.

wallet-file="path"


Required: false (for Oracle SSL only)
Default: none
Valid Values: The path name to the Oracle wallet.

wallet-password="password"


Required: false (for Oracle SSL only)
Default: none
Valid Values: A string for the wallet password.

The wallet-password attribute is the password string for the specified Oracle wallet.

openssl-certfile="path"


Required: true (for Open SSL only)
Default: none
Valid Values: The path name to the Open SSL cert file.

openssl-keyfile="path"


Required: true (for Open SSL only)
Default: none
Valid Values: The path name to the Open SSL key file.

openssl-password="password"


Required: true (for Open SSL only)
Default: none
Valid Values: A string for the openssl-keyfile password.

The openssl-password attribute is the password string for the specified openssl-keyfile.

openssl-lib="path"


Required: false (for Open SSL only)
Default: none
Valid Values: The path name to the Open SSL library.

tune


Required: false
Default: See attributes
Parents: <notification-server>
Attributes: io-timeout, io-idle, timeout

The tune element contains the information for the Tuneable Notification Server ONS parameters.

io-timeout="timeout"


Required: false
Default: 30
Valid Values: 0 or an integer value >= 4 and <= 3600

The io-timeout is the socket read timeout value in seconds used by each remote OPMN (or ONS) server directly connected to the local server. If the remote server does not receive any data across the connection with the local server in the configured io-timeout period, the remote server times-out the connection and close the socket. The io-timeout value is the timeout period remote OPMN (or ONS) servers uses for the local server.

The io-timeout value is also used as a timeout for resource cleanup after an ONS connection has disconnected. If the connection is reestablished before the timeout period, the resources are transferred to the new connection. Otherwise the resources are released after the timeout period has expired.

The io-timeout parameter should be increased for servers running on very busy or overloaded systems.

A value of 0 disables io-timeout checking on remote servers for the local server. The io-timeout disables cleaning up of failover participant state, duplicate notification detection state, and notifications queued for the down connection. Notifications continues to be queued until the connection is reestablished, which can consume an ever expanding amount of memory on the remote OPMN or ONS servers if the timeout check is disabled and the connection never comes back. The io-timeout parameter should only be set to 0 for debug purposes.

A configured non- zero value that is less than the minimum value is set to the minimum, and a value greater than the maximum is set to the maximum.

io-idle="interval"


Required: false
Default: io-timeout - ( io-timeout / 3 )
Valid Values: an integer value >= 2 and <= ( io-timeout - 2 )

The interval in seconds between sending a message to each remote server to which the local server is directly connected. If no normal network traffic is sent from the local server to any remote server in the configured interval, a message is sent to the remote server.

The io-idle parameter ensures that an idle but responsive OPMN server does not have its connection timed out when with a remote server. On busy systems, this value should be far enough below the io-timeout value such that there is enough time for the local server to queue and send the idle message to the remote server before the remote server detects the timeout.

If the io-timeout is 0, the io-idle attribute is ignored. A configured value that is less than the minimum value is set to the minimum, and a value greater than the maximum is set to the maximum.

timeout="timeout"


Required: false
Default: 20
Valid Values: an integer value >= 1 and <= 3600

The timeout parameter is the socket timeout value in seconds used for the local OPMN server for connection attempts and client connection writes. If the connection handshake to the local OPMN server takes longer than the configured timeout value, then the socket is closed and the connection resources are available. If a write on a client connection socket takes longer than the configured timeout value, then the socket is closed and the connection resources are available.

process-manager


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

The process-manager contains the configuration definitions for the PM portion of OPMN.

insecure-remote-requests="boolean"


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

The insecure-remote-request attribute is a security check which disables requests until security features are configured. By default OPMN only allows start, stop, restart, shutdown and reload requests rerouted from remote OPMN servers if ONS SSL is enabled and a wallet file is configured for authentication.

Note:

Setting the insecure-remote-request attribute to true overrides that security check and enables these requests to be issued remotely with no security features configured.

Setting the insecure-remote-request attribute to true is a major security risk and should only be done for testing purposes with all connected OPMN servers behind a well secured fire wall or completely disconnected from any external network.

process-modules


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

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

module


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

The module element is used to provide process-type specific support for the PM. Each module is implemented as a shared library. The module 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. Only one configured process module may list a specific process-type. No two modules can list the same process-type.

path="path"


Required: true
Default: none
Valid Values: The path name for the module shared library.

The path attribute must specify the path name of the shared library file. The library file has the system suffix of.so for Linux and .dll for Microsoft Windows. The suffix may be omitted and OPMN automatically appends it. ORACLE_HOME may be used when specifying the path name.

tag="tag-id"


Required: false
Default: The value specified by the path element.
Valid Values: A string uniquely identifying the module.

The tag attribute identifies the module. A module may report its tag value when logging errors to the PM log file or as part of the response to a request. While optional, it is a good idea to set this attribute to a meaningful value to help track any issues with process management.

status="state"


Required: false
Default: enabled
Valid Values: critical, enabled, or disabled

A module may be enabled, in which case PM loads in its shared library when it starts and calls the module's initialization functions, or disabled in which case the module entry is completely ignored. If the module process-types are configured in the opmn.xml file they must also be disabled. The critical state is the same as enabled, except that OPMN terminates with a fatal error code if the module initialization fails.

cron="interval"


Required: false
Default: none
Valid Values: An integer.

Specify the interval in seconds between calls to the module's cron callback function. Configuring a cron interval for a module that does not support the cron callback is not allowed. Unless you have designed the module, you should neither add nor alter this attribute.

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 the opmn.xml file, and OPMN creates 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 6-5 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 6-6 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 element is an organizational level within a module-data block.

id="id"


Required: true
Default: none
Valid Values: A string.

This id string identifies a data category. Each category id within a single module-data block must be unique, but multiple module-data blocks may contain the same data category ids, in which case the categories are considered to be related.

data


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

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

id="id"


Required: true
Default: none
Valid Values: A string.

This string identifies a data attribute. Each data id within a single category must be unique, but multiple categories may contain the same data identifications. Data elements with the same identification as other data elements, that are defined in different categories with the same identification, are related.

value="value"


Required: true
Default: none
Valid Values: A string.

The value string associated with the data element id. Any environment variable defined anywhere within the process-set (any level at or above the process-set) in which the data value is defined (again, any level at or above the process-set) referenced within the value string as $variable or %variable% is expanded to the variable value.

process-conversion="boolean"


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

The process-conversion attribute enables you to set the separator character. By default OPMN converts slashes in the data value string to be those of the directory path separator character for the system on which OPMN is running (on UNIX each \ character is converted to / and on Windows each / is converted to \). Set this attribute to false to disable this conversion.

Note that if process-conversion is true, OPMN uses the ^ character as an escape character to disable process conversion for the following character, and so ^/ on a Windows system yields a "/" in the string. Specify two ^ characters if you need to specify the ^ character in the resultant string: ^^ yields ^.

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.

id="module-id"


Required: true
Default: none
Valid Values: A string.

ias-instance


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

The configuration definitions for an Oracle instance. Only one ias-instance is supported for each OPMN.

id = ias-instance-id; name = ias-instance-name

id="ias-instance-name"


Required: true
Default: none
Valid Values: A string.

The string specifies the ias-instance id.

name="ias-instance-name"


Required: false
Default: ias-instance-id
Valid Values: A string.

The name string specifies the ias-instance name, and it is this value that is used to identify the Oracle instance.

environment


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

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

OPMN provides a default set of environment variables for each managed process, and a set of Java system properties for managed Java processes.

Environmental variables are described in Table 6-7:

Table 6-7 Environmental Variables

Environmental Variable Definition

ORACLE_HOME

Full path to the oracle home

ORACLE_INSTANCE

Full path to the Oracle instance home

INSTANCE_NAME

The name of the Oracle instance

PROCESS_UID

The unique process id

OPMN_UID

Synonym of PROCESS_UID

PROCESS_INDEX

The index of the process

OPMN_INDEX

Synonym of PROCESS_INDEX

COMPONENT_NAME

The name of the component

COMPONENT_TYPE

The type of the component

COMPONENT_CONFIG_PATH

Absolute path to the configuration files on disk for your component

COMPONENT_LOG_PATH

Absolute path to the log files on disk for your component

ORACLE_NLS

Defaults to ORACLE_NLS from the OPMN environment.

OPMN_ENV_LC_ALL

Defaults to OPMN_ENV_LC_ALL from the OPMN environment

OPMN_ENV_LANG

Defaults to OPMN_ENV_LANG from the OPMN environment.

OPMN_ENV_NLS_LANG

Defaults to OPMN_ENV_NLS_LANG from the OPMN environment.

LD_LIBRARY_PATH

By default this contains ORACLE_HOME/lib (not Microsoft Windows)

SHELL

By default /bin/sh (not MicrosoftWindows).

PATH

Linux default:

ORACLE_HOME/bin:ORACLE_HOME/jdk/bin:/bin:/usr/bin:/usr/local/bin

Microsoft Windows default:

%ORACLE_HOME%\lib;%ORACLE_HOME%\bin;%ORACLE_HOME%\jdk\bin;%SystemRoot%;%SystemRoot%\system32

COMSPEC

Defaults to %ComSpec% value from system. Microsoft Windows only.

SystemRoot

Defaults to %SystemRoot% value from the system. Microsoft Windows only.

SystemDrive

Defaults to %SystemDrive% value from the system. Microsoft Windows only.

ORACLE_ADMIN_REGISTERED

"true" if the Oracle instance is registered with an admin server

ORACLE_ADMIN_HOST

The associated admin host ("N/A" if not available)

ORACLE_ADMIN_PORT

The associated admin port ("N/A" if not available)

ORACLE_ADMIN_PROTOCOL

The associated admin protocol ("N/A" if not available)

ORACLE_ADMIN_USERNAME

The associated admin username ("N/A" if not available)


System Properties set for all managed Java processes (flagged as such to OPMN by the process module) are described in Table 6-8:

Table 6-8 System Properties

Environmental Variable Definition

oracle.process.uid

The unique process id

oracle.opmn.uid

Synonym of oracle.process.uid

oracle.process.index

The index of the process

oracle.opmn.index

Synonym of oracle.process.index

oracle.home

Full path to the oracle home

oracle.instance

Full path to the Oracle instance home

oracle.instance.name

The name of the Oracle instance

oracle.component.name

The name of the component

oracle.component.type

The type of the component

oracle.component.configpath

Absolute path to the configuration files on disk for your component

oracle.component.logpath

Absolute path to the log files on disk for your component

oracle.admin.registered

"true" if the Oracle instance is registered with an admin server

oracle.admin.host

The associated admin host ("N/A" if not available)

oracle.admin.port

The associated admin port ("N/A" if not available)

oracle.admin.protocol

The associated admin protocol ("N/A" if not available)

oracle.admin.username

The associated admin username ("N/A" if not available)


variable


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

The variable element defines the environment variable name and value.

id="id"


Required: true
Default: none
Valid Values: A string.

The id is the environment variable name. An environment id may be duplicated within an environment block, with the last defined value taking priority over earlier definitions. The same environment id may be defined within environment blocks for different elements, and the value defined at the lowest level takes priority over values defined at higher levels.

value="value"


Required: true
Default: none
Valid Values: A string.

The environment value. Environment variables referenced within the value string as $variable or %variable% is expanded to the variable value. The same environment variable may reference itself to use a definition defined at a higher level, or earlier within this same environment block or from the environment of OPMN.

You may use the Linux shell syntax for referencing an environment variable, $variable or ${variable}, or the Microsoft Windows format %variable%. Referenced variables that have not been defined remain in place as referenced, and so value="_notdefined_" would remain unchanged.

For example, the following environment block yields a value for accumulate of "foobar".

<environment>
   <variable id="accumulate" value="foo">
   <variable id="accumulate" value="${accumulate}bar">
</environment>

append="boolean"


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

You can force OPMN to append the new environment variable value to the previously defined value, with the system library delimeter placed in between the two values (':' for Linux and ';' for Microsoft Windows) by specifying a value of true for this attribute. This is useful when assembling a value for a variable such as CLASSPATH.

For example, the following environment block yields a value for CLASSPATH of "/foo:/bar" on a Linux system.

<environment>
   <variable id="CLASSPATH" value="/foo">
   <variable id="CLASSPATH" value="/bar" append="true">
</environment>

process-conversion="boolean"


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

ias-component


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

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

id="component-id"


Required: true
Default: none
Valid Values: a string

The id attribute uniquely identifies the ias-component within the ias-instance.

id-matching="boolean"


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

By default OPMN requests that do not specify ias-components match all configured ias-components, unless the id-matching attribute for a component is set to true, in which case the request must explicitly include the ias-component id in order to affect the ias-component or any process-type or process-set configured for that ias-component.

status="state"


Required: false
Default: enabled
Valid Values: enabled or disabled

An ias-component may be enabled, in which case OPMN parses all of its configured attributes and elements and enables requests to operate upon it, or disabled, in which case the ias-component entry is completely ignored.

type="component-type"


Required: false
Default: none
Valid values: A string.

The type attribute allows you to specify a relationship among ias-components within the same ias-instance.

When configured the component-type is used for the value of the per process COMPONENT_TYPE environment variable (or the oracle.component.type system property for Java processes), and for the type element of the paths specified by COMPONENT_CONFIG_PATH and COMPONENT_LOG_PATH (oracle.component.configpath and oracle.component.logpath). If component-type is not configured, then the process-type id attribute is used in the composition of these strings.

dependencies


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

OPMN uses dependencies to determine if a process should be started or not. Like module-data and environment block, dependencies blocks can be defined for multiple elements within the opmn.xml file, and OPMN creates 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 that dependency is made before starting a process. OPMN creates 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 is 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: Fusion Middleware Control Console.

An external program is executed by OPMN to perform the check on the resource. Internal dependencies are for system component 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 enables 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 determines how long OPMN waits 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 the 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

The database element specifies the database to check. Either db-connect-info or infrastructure-key is used to identify the database.

db-connect-info="connect"


Required: true if infrastructure-key is not specified.
Default: none
Valid Values: A string

The db-connect-info attribute is the string required to connect to the database. The string can be in either of the following formats:

  • <host>:<port>/<service name>

  • (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp) (HOST=<host>) (PORT=<port>)) (CONNECT_DATA=(SERVICE_NAME=<service name>)))

For example:

pdsundev7:1521/asdb.us.oracle.com

infrastructure-key="key"


Required: true if db-connect is not specified.
Default: none
Valid Values: A string

The infrastructure key attribute is required to identify the database.

timeout="depend-timeout"


Required: false
Default: 1200
Valid Values: An integer

The timeout attribute specifies in seconds how long OPMN waits for a dependency check to complete. If the check takes longer than the configured timeout, then OPMN considers the check to have failed.

cache-timeout="cache-timeout"


Required: false
Default: 600
Valid Values: An integer

The cache-timeout attribute specifies how long in seconds OPMN uses the current "up" status for the dependency entry in the cache. If the last successful dependency check was within the prescribed number of seconds from the current check, then the dependency check is instantly flagged as successful, otherwise another dependency check is performed. Note that the cache-timeout is only for the last successful check of the dependency, and if the previous check failed, another access of the dependency is performed for this check. A value of 0 indicates OPMN always performs the check.

OID


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

The <OID> element specifies the Oracle Internet Directory service to check an address string for a specific Oracle Internet Directory. This value is set to true to use the default Oracle Internet Directory.

address="address"


Required: true
Default: none
Valid Values: A string

The address element is the address string required to connect to Oracle Internet Directory.

infrastructure="boolean"


Required: true if address is not set.
Default: none
Valid Values: true or false

Use the default infrastructure Oracle Internet Directory for the Oracle instance.

ssl


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

The SSL information for the Oracle Internet Directory connection.

enabled="boolean"


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

To enable SSL on the Oracle Internet Directory connection, set the enabled attribute to true.

wallet-file="path"


Required: true
Default: none
Valid Values: A valid path name

The path name to the wallet file for authentication of the Oracle Internet Directory connection.

wallet-password="password"


Required: false
Default: none
Valid Values: A string

The wallet-password attribute is the password for the specified wallet-file.

timeout="depend-timeout"


Required: false
Default: 1200
Valid Values: An integer

The timeout attribute specifies in seconds how long OPMN waits for a dependency check to complete. If the check takes longer than the configured timeout, then OPMN considers the check to have failed.

cache-timeout="cache-timeout"


Required: false
Default: 600
Valid Values: An integer

The cache-timeout attribute specifies how long in seconds OPMN uses the current "up" status for the dependency entry in the cache. If the last successful dependency check was within the prescribed number of seconds from the current check, then the dependency check is flagged as successful. Otherwise, OPMN performs another dependency check. The cache-timeout is only for the last successful check of the dependency. If the previous check failed, OPMN performs another access of the dependency check. A value of 0 indicates OPMN always performs the check.

OSSO


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

The OSSO element specifies the Oracle Single Sign-On service to check.

host="hostname"


Required: true
Default: none
Valid Values: A string

The host attribute is the host name for the Oracle Single Sign-On connection.

port="port"


Required: true
Default: none
Valid Values: A port number

The port attribute is the port for the Oracle Single Sign-On connection.

URI="uri"


Required: true
Default: none
Valid Values: A string

The URI attribute is the URI for the Oracle Single Sign-On connection.

ssl


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

The ssl element is the SSL information for the Oracle Single Sign-On connection.

enabled="boolean"


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

The enabled attribute enables the SSL connection to Oracle Single Sign-On. To enable the connection set this attribute to true.

wallet-file="path"


Required: true
Default: none
Valid Values: A path name

The wallet-file attribute is the path name to the wallet file for authentication of the Oracle Single Sign-On connection. The ORACLE_HOME value may be used.

wallet-password="password"


Required: false
Default: none
Valid Values: A string

The wallet-password is the password for the specified wallet-file.

timeout="depend-timeout"


Required: false
Default: 1200
Valid Values: An integer

The timeout attribute specifies in seconds how long OPMN waits for a dependency check to complete. If the check takes longer than the configured timeout, then OPMN considers the check to have failed.

cache-timeout="cache-timeout"


Required: false
Default: 600
Valid Values: An integer

The cache-timeout attribute specifies how long in seconds OPMN uses the current "up" status for the dependency entry in the cache. If the last successful dependency check was within the prescribed number of seconds from the current check, then the dependency check is flagged as successful. Otherwise, OPMN performs another dependency check. The cache-timeout is only for the last successful check of the dependency. If the previous check failed, OPMN performs another dependency check. A value of 0 indicates OPMN always performs the check.

managed-process


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

The managed-process attribute specifies the managed process to check. A process for process-type or process-set does not start unless the specified dependency managed process is active. 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.

ias-instance="ias-instance-id"


Required: false
Default: The ias-instance of the current process-type or process-set.
Valid Values: A string

The ias-instance for the managed process dependency. If the specified ias-instance is not managed by the current OPMN, it is assumed to be a remote managed process dependency.

ias-component="ias-component-id"


Required: true
Default: none
Valid Values: A string

The ias-component for the managed process dependency.

process-type="process-type-id"


Required: true
Default: none
Valid Values: A string

The process-type-id for the managed process dependency.

process-set="process-set-id"


Required: true
Default: none
Valid Values: A string

The process-set-id for the managed process dependency.

autostart="boolean"


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

The autostart attribute is used for the managed process dependency. If the process is not running when the check is performed, the autostart element tries to get OPMN to attempt to start it.

autostop="boolean"


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

When the managed process dependency is stopped, then stop the managed process. The attribute is always false for remote managed process dependencies.

timeout="depend-timeout"


Required: false
Default: 1200
Valid Values: An integer

The timeout attribute specifies, in seconds, how long OPMN waits for a dependency check to complete. If the check takes longer than the configured timeout, then OPMN considers the check to have failed.

cache-timeout="cache-timeout"


Required: false
Default: 600
Valid Values: An integer

The cache-timeout attribute is only used for a process managed by a remote OPMN. The cache-timeout attribute specifies how long in seconds OPMN uses the current "up" status for the dependency entry in the cache. If the last timeout dependency check was within the prescribed number of seconds from the current check, then the dependency check is instantly flagged as successful, otherwise OPMN performs another dependency check. Note that the cache-timeout is only for the last successful check of the dependency, and if the previous check failed, OPMN access of the dependency is performed for this check. A value of 0 indicates OPMN always performs the check.

Note:

The cache-timeout is only for the last successful check of the dependency, and if the previous check failed, OPMN performs another dependency check.

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.

id="process-type-id"


Required: true
Default: none
Valid Values: a string

The id attribute uniquely identifies the process-type within the ias-component.

module-id="module-id"


Required: true
Default: none
Valid Values: a string

The module-id attribute must map directly map to the module-id attribute that supports the process-type.

status="state"


Required: false
Default: enabled
Valid Values: enabled or disabled

A process-type may be enabled, in which case OPMN parses all of its configured attributes and elements and enables requests to operate upon it, or disabled, in which case the process-type entry is completely ignored and treated as if it were not listed in the opmn.xml file.

working-dir="path"


Required: false
Default: none
Valid Values: A path name

The working-dir path name specifies the working location that is set for managed processes created by the process-type element. If a process-set also defines a working-dir attribute, then the process-set path name takes precedence over the process-type path name.

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 6-9 shows event script arguments.

Table 6-9 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 name for the stderr file pointer of the process.

-stdoutFootref 1

<path>

The path name for the stdout file pointer of the process. Note: this argument is only 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.

-startTimeFootref 2

<time>

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


Footnote 1 This argument is only 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.

Footnote 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 pre-start script after any configured dependency checks have been performed (and passed) and before the process is actually started. The timeout for the pre-start script is the timeout value configured for starting the process itself, and any time consumed by the execution of this script counts toward the process start timeout. If the script times out, the process is not started and any associated HTTP request fails.

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 hangs until it times out.

path="path"


Required: true
Default: none
Valid Values: The path name to the executable script.

The path name must specify either an executable program for which OPMN has execute permission, or a script file for which OPMN has both read and executable permission.

pre-stop


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

OPMN runs the specified script before stopping the associated process. The timeout for the script is the value configured for stopping the process itself. Any time consumed by the execution of the script counts toward the process stop timeout. If the script times out, any associated HTTP request fails. However, OPMN proceeds 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 hangs until it times out.

path="path"


Required: true
Default: none
Valid Values: The path name to the executable script.

The path attribute must specify either an executable program for which OPMN has execute permission, or a script file for which OPMN has both read and executable permission.

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 the script is the timeout value configured for stopping the process itself. After the script has terminated OPMN schedules a replacement of the terminated 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 hangs until it times out.

path="path"


Required: true
Default: none
Valid Values: The path name to the executable script.

The path attribute must specify either an executable program for which OPMN has execute permission, or a script file for which OPMN has both read and executable permission.

start


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

The start attribute contains the start parameters for a managed processes.

timeout="timeout"


Required: false
Default: 60
Valid Values: An integer

The timeout attribute specifies the timeout value in seconds for the start of a managed process.

retry="num"


Required: false
Default: 0
Valid Values: An integer

The retry attribute specifies the number of consecutive attempts that is made to start the process for a single request.

stop


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

The stop attribute specifies the stop parameters for managed processes.

timeout="timeout"


Required: false
Default: 30
Valid Values: An integer

The timeout value in seconds for the stopping a managed process.

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.

timeout="timeout"


Required: false
Default: 90
Valid Values: An integer

The timeout value in seconds for the restart of a managed process.

retry="num"


Required: false
Default: 0
Valid Values: An integer

The retry attribute is the number of consecutive attempts that is made to restart the process for a single request.

ping


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

The ping element is the ping parameters for managed processes.

timeout="timeout"


Required: false
Default: 20
Valid Values: An integer

The timeout value in seconds for the ping of a managed process. Each module specifies a ping timeout.

retry="num"


Required: false
Default: 0
Valid Values: An integer

The retry attribute is the number of consecutive ping failures that is tolerated before the module declares the process unreachable and restarts it. Each module specifies ping retries.

interval="interval"


Required: false
Default: 20
Valid Values: An integer

The interval attribute is the interval, in seconds, between each ping of a managed process.

port


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

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

id="id"


Required: true
Default: none
Valid Values: A string

The id attribute identifies the range of ports for the process-type. Each module has its own list of required or optional port ids.

range="range"


Required: true
Default: none
Valid Values: A port range

The port range specifies which ports to use for the id.

Upon request from a module for a port number from the id, OPMN checks if a port in the range has been bound on the local system, and if it has not, it returns that port number back to the module. Syntax of the port range is a comma separated list of individual port numbers or a low-high range specification.

Examples:

Specify ports 5555, 6666, 7777, 8888, and 9999:

range="5555,6666,7777,8888,9999"

Specify ports 4000 through 4250 (inclusive):

range="4000-4250"

Specify ports 7000 through 7049, 7775, 7785, and 8050 through 8099:

range="7000-7049,7775,7785,8050-8099"

process-set


Required: false
Default: id="component-id" numprocs="1"
Parents: <process-type>
Attributes: id, restart-on-death, numprocs, minprocs, maxprocs, status, working-dir, parallel-requests

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.

If a process-set is not configured, then one is automatically created using the same id as the ias-component and numprocs of 1.

id="process-set-id"


Required: true
Default: none
Valid Values: A string

The id attribute uniquely identifies the process-set within the process-type.

restart-on-death="boolean"


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

If a managed process terminates unexpectedly, that is, not stopped by a request, then OPMN will not automatically restart it. To disable automatic restarting of terminated managed processes set the attribute to false.

numprocs="num"


Required: true unless minprocs is configured; otherwise false
Default: none
Valid Values: An integer

Specifies the number of processes for OPMN to start for the process-set.

minprocs="min"


Required: true unless numprocs is configured; otherwise false
Default: none
Valid Values: An integer

Specifies the default number of processes for OPMN to start for this process set. If minprocs is configured, then maxprocs must be set with a value greater than or equal to the value for minprocs. If minprocs and maxprocs are configured, a specific number of processes may be given in an OPMN request for this process set. This attribute may not be specified if numprocs has been configured.

maxprocs="max"


Required: true if minprocs is configured; otherwise false
Default: none
Valid Values: An integer

The maxprocs attribute must be specified if minprocs has been configured, but cannot be specified if numprocs has been configured.

status="state"


Required: false.
Default: enabled
Valid Values: enabled or disabled

A process-set may be enabled, in which case OPMN parses all of its configured attributes and elements and enables requests to operate upon it, or disabled, in which case the process-set entry is complete ignored and treated as if it were not even listed in the opmn.xml file.

working-dir="path"


Required: false.
Default: ORACLE_INSTANCE
Valid Values: A path name

The working-dir path name specifies the working directory set for the managed processes created that belong to the process-set.

parallel-requests="boolean"


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

OPMN serializes requests at the process-set level, such that only one request can execute on a given process-set at a time: each subsequent request must wait until the previous request completes before it can execute. This default behavior is disabled for a process-set when parallel-requests is set to true.

Note:

When the parallel-requests attribute is enabled OPMN performs no serialization on requests for the process-set at all, which means conflicting requests may be issued and execute at virtually the same time, thus leaving processes in the process-set in unpredictable states; therefore when parallel-requests is set to true you must verify that conflicting requests are not issued at the same time for the process-set (this includes requests with implicit wild-cards for matching process-sets).

launch-targets


Required: false
Default: none
Parents: <process-manager>
Attributes: none

The launch-targets block is composed of a list of launch-target definitions. There can be only one launch-targets block.

launch-target


Required: false
Default: none
Parents: <launch-target>
Attributes: id

The definition of a process which OPMN starts via the launch request.


id="id"
Required: true
Default: none

Valid values: A string.The identifier for this launch-target. Each launch-target must have a unique id. This identifier is specified by the target argument of the launch request.

exec


Required: true
Default: none
Parents: <launch-target>
Attributes: path

The executable path for the launch-target. Only one exec element may be configured per launch-target.

path="path"


Required: true
Default: none
Valid values: A path to an executable.

Specify the full path to the executable file.

argument


Required: false
Default: none
Parents: <launch-target>
Attributes: value

An argument always passed to the configured executable process. Multiple argument elements may be configured per launch-target, and the arguments are passed to the executable in the order in which they are configured.

Any additional arguments passed in via the launch request are passed in after the configured arguments.

value="argument"


Required: true
Default: none
Valid values: A string.

Specify a single argument for the executable; spaces are not argument delimeters-use multiple argument elements to define multiple arguments.

timeout


Required: false
Default: 120
Parents: <launch-target>
Attributes: value

The timeout used for each io made from the launch request thread. Only one timeout element may be configured per launch-target.

value="seconds"


Required: true
Default: none
Valid values: An integer value between 5 and 3600.

The io timeout value in seconds.

max-concurrency


Required: false
Default: 5
Parents: launch-target
Attributes: value

The maximum number of concurrent processes for this launch-target. Only one max-concurrency element may be configured per launch-target.

value="maximum"


Required: true
Default: none
Valid values: An integer value between 1 and 250.

The maximum number of concurrent processes for this launch-target.