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:
Section 4.1, "Oracle Internet Directory Process Control Architecture"
Section 4.3, "Starting, Stopping, and Monitoring of Oracle Internet Directory Processes"
Section 4.4, "Oracle Internet Directory Process Control–Best Practices"
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.
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
See Also:
Oracle Fusion Middleware Oracle Process Manager and Notification Server Administrator's Guide for more information about the Oracle Process Manager and Notification Server
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, 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.
Beginning with Oracle Internet Directory 11g Release 1 (11.1.1.7.0), the OIDLDAPD process is separated as the OIDDISPD (dispatcher) process and the OIDLDAPD (server) process. On UNIX and Linux systems, however, the ps -ef
command will continue to show both of these processes as OIDLDAPD at runtime.
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.
See Also:
Chapter 8, "Managing Oracle Internet Directory Instances" for information about creating new Oracle Internet Directory instances.
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.
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:
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.
Oracle Internet Directory is started as follows:
You start an Oracle Internet Directory instance with Oracle Enterprise Manager Fusion Middleware Control or with the command opmnctl
.
OPMN issues an oidmon start
command with appropriate arguments, as specified in the "oidmon parameters"
in the OID Snippet in opmn.xml
.
OIDMON then starts all Oracle Internet Directory Server instances whose information in the ODS_PROCESS_STATUS table has state
value 1 or 4 and ORACLE_INSTANCE, COMPONENT_NAME, INSTANCE_NAME
values matching the environment parameters set by OPMN.
Note:
When you use opmnctl
to start only Oracle Internet Directory instances, the opmn.xml
parameters 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
.
Oracle Internet Directory is stopped as follows:
You stop an Oracle Internet Directory instance with Oracle Enterprise Manager Fusion Middleware Control or with opmnctl
.
OPMN issues an oidmon stop
.
For each row in the ODS_PROCESS_STATUS table that matches the environment parameters ORACLE_INSTANCE, COMPONENT_NAME, and INSTANCE_NAME, the oidmon
stop
command kills OIDMON, OIDLDAPD, and OIDREPLD processes and updates the state to 4.
Note:
When you use opmnctl
to start only Oracle Internet Directory instances, the opmn.xml
parameters 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
.
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.
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 40, "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:
Chapter 40, "Setting Up Replication" for more information on starting and stopping a replication server.
Appendix B, "Managing Oracle Internet Directory Instances by Using OIDCTL."