4 Understanding Process Control of Oracle Internet Directory Components

This chapter describes the Oracle Internet Directory process control model and related concepts. The process control model applies to the Oracle Internet Directory LDAP server and the replication server.

This chapter contains these topics:

For information on creating and destroying Oracle Internet Directory server instances, see Chapter 8, "Managing Oracle Internet Directory Instances."

For information on starting and stopping the Oracle Directory Integration and Provisioning server, see the chapter on managing the Oracle Directory Integration and Provisioning server in Oracle Fusion Middleware Administrator's Guide for Oracle Directory Integration Platform.

4.1 Oracle Internet Directory Process Control Architecture

The Oracle Process Manager and Notification Server (OPMN) is a daemon process that monitors Oracle Fusion Middleware system components, including Oracle Internet Directory. Oracle Enterprise Manager Fusion Middleware Control uses OPMN to stop or start instances of Oracle Internet Directory. If you stop or start Oracle Internet Directory components from the command line, you use opmnctl, the command-line interface to OPMN

OPMN is responsible for the direct start, stop, restart and monitoring of the daemon process, OIDMON (ORACLE_HOME/bin/oidmon). OIDMON is responsible for the process control of an Oracle Internet Directory instance. In 11g Release 1 (11.1.1), you can have multiple instances of Oracle Internet Directory on the same Oracle instance on the same node. The recommended way to create a new Oracle Internet Directory instance is to create a Oracle Fusion Middleware component of type OID. Each Oracle Internet Directory instance created in this manner has its own OIDMON.

Figure 4-1 shows the overall architecture for Oracle Internet Directory process control. For each Oracle Fusion Middleware component of type OID, OPMN spawns an OIDMON process. The figure shows two components, oid1 and oid2. OIDMON spawns the OIDLDAPD dispatcher process, then the dispatcher process spawns one or more OIDLDAPD server processes. If replication is configured for that instance, OIDMON spawns a replication server process. Each dispatcher process has its own non-SSL and SSL port for receiving requests. The number of OIDLDAPD server processes that the dispatcher spawns for a component is controlled by the attribute orclserverprocs in the instance-specific configuration entry for the component.

Figure 4-1 Oracle Internet Directory Process Control

Surrounding text describes Figure 4-1 .

See Also:

Chapter 8, "Managing Oracle Internet Directory Instances" for information about creating new Oracle Internet Directory instances.

4.2 The ODS_PROCESS_STATUS Table

Oracle Internet Directory process information is maintained in the ODS_PROCESS_STATUS table in the ODS database user schema. OIDMON reads the contents of the table at a specified interval and acts upon the intent conveyed by the contents of that table. The interval is controlled by the value of the sleep command line argument used at OIDMON startup, and the default value is 10 seconds.

Table 4-1 describes the information in the ODS_PROCESS_STATUS table that is relevant to process control:

Table 4-1 Process Control Items in the ODS_PROCESS_STATUS Table

Item Meaning

Instance

Unique instance number for a given server ID on a given host

PID

Process ID of the server that is up and running

ServerID

Server ID (2=OIDLDAPD, 3=OIDREPLD)

Flags

Command line arguments that must be passed to the server instance

Hostname

Name of the host on which this server must be present

State

State of the Server Instance (0=stop, 1=start, 2=running, 3=restart, 4=shutdown, 5=failed-over, 7=delete, 8=add). OIDMON updates the state.

RetryCount

Number of attempts to start the server instance before it could be started successfully

Instancename

Name of the server instance, for example: server1

Compname

Name of the server component, for example: OID1


Notes:

  • There is a uniqueness constraint on: Instance,Instancename, Compname, ServerID,Hostname.

  • Details about ODS_PROCESS_STATUS are provided here for informational purposes only. Do not attempt to modify this table directly.

4.3 Starting, Stopping, and Monitoring of Oracle Internet Directory Processes

This section describes the events that occur when OPMN starts and stops Oracle Internet Directory. It also describes process monitoring. This section includes the following topics:

4.3.1 Oracle Internet Directory Snippet in opmn.xml

When OPMN starts OIDMON, it determines what arguments to use based on the Oracle Internet Directory snippet in the OPMN configuration file, ORACLE_INSTANCE/config/OPMN/opmn/opmn.xml. The following is a sample Oracle Internet Directory snippet:

<ias-component id="<componentName>">
 <process-type id="OID" module-id="OID">
  <process-set id="OID" numprocs="1">
   <environment>
      <variable id="TNS_ADMIN" value="ORACLE_INSTANCE/config" />
      <variable id="DB_CONNECT_STR" value="db_alias" />
   </environment>
   <module-data>
    <category id="oidmon-parameters">
     <data id="start-cmdline-opts" value="connect=$DB_CONNECT_STR start"/>
     <data id="stop-cmdline-opts" value="connect=$DB_CONNECT_STR stop"/>
    </category>
    </module-data>
   </process-set>
  </process-type>
 </ias-component>

Two tags are specific to Oracle Internet Directory:

  • Oracle Internet Directory component-specific directives for OPMN are located under the tag <ias-component id="OID" status="enabled>.

  • OIDMON-related requirements are located under the tag <category id="oidmon parameters">. There should be only one such directive.

4.3.2 OPMN Starting Oracle Internet Directory

Oracle Internet Directory is started as follows:

Note:

When you use opmnctl to start only Oracle Internet Directory instances, the opmn.xmlparameters are not reloaded as they are when you use opmnctl startall. Execute opmnctl reload to reload the changes in the file ORACLE_INSTANCE/config/OPMN/opmn/opmn.xml.

4.3.3 OPMN Stopping of Oracle Internet Directory

Oracle Internet Directory is stopped as follows:

Note:

When you use opmnctl to start only Oracle Internet Directory instances, the opmn.xmlparameters are not reloaded as they are when you use opmnctl startall. Execute opmnctl reload to reload the changes in the file ORACLE_INSTANCE/config/OPMN/opmn/opmn.xml.

4.3.4 Process Monitoring

OPMN does not monitor server processes directly. OPMN monitors OIDMON and OIDMON monitors the server processes. The events are as follows:

  • When you start OIDMON through OPMN, OPMN starts OIDMON and ensures that OIDMON is up and running.

  • If OIDMON goes down for some reason, OPMN brings it back up.

  • OIDMON monitors the status of the Oracle Internet Directory dispatcher process, LDAP server processes, and replication server process and makes this status available to OPMN and Fusion Middleware Control. The opmnctl status command can show OIDLDAPD process PIDS because OIDMON sends OPMN that information.

4.4 Oracle Internet Directory Process Control–Best Practices

The recommended approach for using opmnctl and oidctl is as follows:

  • Use opmnctl to stop or start Oracle Internet Directory as a component. That is, use it to stop or start all Oracle Internet Directory LDAP and replication server instances.

    • Using opmnctl to stop Oracle Internet Directory causes OPMN to issue an oidmon stop, which results in OIDMON shutting down all configured LDAP and replication server instances.

    • Using opmnctl to start Oracle Internet Directory causes OPMN to issue an oidmon start, which results in OIDMON starting up all configured LDAP and replication server instances.

    See Also:

    Chapter 8, "Managing Oracle Internet Directory Instances"Chapter 38, "Setting Up Replication" for more information on starting and stopping Oracle Internet Directory.
  • Use oidctl to stop and start an Oracle Internet Directory Replication Server Instance without affecting the associated OIDMON and LDAP server instance managed by OIDMON.

    See Also: