Skip Headers

Distributed Configuration Management Reference Guide
10g (9.0.4)
Part No. B12052-01
Go To Documentation Library
Home
Go To Product List
Solution Area
Go To Table Of Contents
Contents
Go To Index
Index

Previous Next

3 Troubleshooting

This chapter contains information on troubleshooting problems you may encounter when using DCM. Usually, the problems are reported by the dcmctl utility.

This chapter contains the following major sections:

Troubleshooting Guidelines

This section presents a step-by-step approach for troubleshooting problems with DCM. It contains the following steps:


Step 1: Analyze the verbose and debug output from the dcmctl utility

When an error occurs, dcmctl usually provides a detailed error message and contextual information on a possible cause and solution. If an exception occurs, the -d option provides a stack trace. Sometimes this information may allow you to resolve the problem. The stack trace must be supplied if you contact Oracle support. By default, the dcmctl utility sets the -v (verbose) option and the -d (debug) option on. Change these defaults with the set command.

To view the error message and stack trace that most recently occurred, use this command:

ORACLE_HOME/dcm/bin/dcmctl getError


Step 2: Examine the log files

If the information provided by the dcmctl verbose and debug output is not sufficient, try examining the log files. Often, they will contain error messages that will help you determine the problem. Table 3-1 describes the log files related to DCM.

Table 3-1 Distributed Configuration Management Log Files

File Description
ORACLE_HOME/dcm/logs/dcmctl_logs/log.xml DCM client log for dcmctl shell
ORACLE_HOME/dcm/logs/emd_logs/log.xml DCM client log for Application Server Control
ORACLE_HOME/dcm/logs/daemon_logs/log.xml DCM daemon log
ORACLE_HOME/dcm/logs/busrule_logs/log.xml DCM business rule execution log
ORACLE_HOME/opmn/logs/* Oracle Process Manager and Notification Server logs


Step 3: Review the DCM Problems and Solutions section

If you have determined the error but are not sure how to proceed, try searching for the problem, or one similar, in "DCM Problems and Solutions".


Step 4: Determine whether the problem was caused by a related component

Many problems reported by DCM have root causes in the operation of a related component, such as OPMN, Oracle HTTP Server, Oracle Application Server Containers for J2EE, Oracle Internet Directory, and the metadata repository. Table 3-2 provides tips on recognizing these types of problems and pointers to more information.

Table 3-2 Problems with Related Technologies

Type of Problem May be due to:
Starting and stopping Oracle Process Manager and Notification Server, Oracle HTTP Server, or Oracle Application Server Containers for J2EE problems

See Also: Oracle Process Manager and Notification Server Administrator's Guide

See Also: Oracle Application Server Containers for J2EE User's Guide

Application deployment or clustering Oracle Application Server Containers for J2EE problems

See Also: Oracle Application Server Containers for J2EE User's Guide

Directory or password problems Oracle Internet Directory problems

See Also: Troubleshooting Oracle Internet Directory

See Also: Oracle Internet Directory Administrator's Guide, Appendix I, Troubleshooting

Repository problems (metadata repository) Metadata Repository problems

See Also: Troubleshooting the Metadata Repository

Repository problems (File based repository) File system problems

See Also: Troubleshooting the File based Repository



Step 5: Get assistance from Oracle Support

If none of the preceding steps led to a solution, report the problem to Oracle Support. Have the following information ready:

DCM Problems and Solutions

This section describes problems reported by Distributed Configuration Management and suggested techniques for resolving these problems.

It contains the following topics:

OPMN is Unable to Start Due to Corrupted or Missing opmn.xml File


Problem

During a configuration operation, the opmn.xml file was corrupted or removed. This error may be accompanied by one of the following error messages:

ADMN-202001
An exception has occurred while accessing DCM repository. Please refer to the
 accompanying base exception for more details.
Base Exception:
oracle.ons.ONSException:Unable to open file /private/10g/opmn/conf/opmn.xml

or

ADMN-705002
The most likely causes are: 
1. Configuration error; TaskMaster cannot read configuration file; 
2. Cannot connect to the repository.
Base Exception:
oracle.ons.SubscriptionException:Subscription request timed out after 120000
millseconds. Possible causes: OPMN is not running, you may have OPMN running in an alternate ORACLE_HOME using duplicate port values, OPMN may be misconfigured.


Solution 1

Restart OPMN using the last saved version of the opmn.xml configuration file and then perform a dcmctl resyncinstance command to update the configuration files with the version last saved to the repository.

To do this, perform the following steps:

  1. Perform a opmnctl validate operation on the saved opmn.xml.bak file.

    % cd $ORACLE_HOME/opmn/conf
    % $ORACLE_HOME/opmn/bin/opmnctl validate opmn.xml.bak
    
    
  2. If step 1 returns the following, then continue to the next step:

    opmnctl: opmn validation succeeded!
    
    

    If step one returns with the message:

    opmnctl: opmn validation failed!
    
    

    Then, if you know how to correct the error in opmn.xml.bak then correct it and try step 1 again. Otherwise, try Solution 2.

  3. Replace the opmn.xml file with the file that was saved in the last DCM operation. The saved version of opmn.xml should be in the file $ORACLE_HOME/opmn/conf/opmn.xml.bak.

    For example:

    % cd $ORACLE_HOME/opmn/conf
    % cp opmn.xml.bak opmn.xml
    
    
  4. Start the DCM shell and run the resyncinstance command.

    % cd $ORACLE_HOME/dcm/bin
    % dcmctl shell
    dcmctl> resyncinstance -force
    All OC4J components are stopped during a resyncinstance -force.
    They will need to be restarted after the command completes.
    Current State for Instance:10gM21.tvanraal-sun.us.oracle.com
    
    
  5. Use opmnctl to check the status of all components, and if any components that you expect to be running are not running, then start them:

    % cd $ORACLE_HOME/opmn/bin
    % opmnctl status
    

Solution 2

Modify the last saved version of the opmn.xml file to allow DCM to run, and then perform a dcmctl resyncinstance command to update the configuration files with the version last saved to the repository.

To do this, perform the following steps:

  1. Perform a opmnctl validate operation on the saved opmn.xml.bak file.

    % cd $ORACLE_HOME/opmn/conf
    % $ORACLE_HOME/opmn/bin/opmnctl validate opmn.xml.bak
    
    
  2. If step one returns the following:

    opmnctl: opmn validation failed!
    
    

    Then, you need to correct the error in opmn.xml.bak to allow you to start the dcm daemon. First, backup your current version of opmn.xml.bak, in case you have problems, so you can revert to your backup copy. For example, use the following command:

    cp opmn.xml.bak opmn.xml.bak.orig
    
    

    Edit the $ORACLE_HOME/opmn/conf/opmn.xml.bak file and add the attribute status="disabled" for each <ias-component> element in opmn.xml.bak. For only the component dcm-daemon, set the status= "enabled".

    For example:

    <ias-component id="OC4J" status="disabled">
    <ias-component id="dcm-daemon" status="enabled" id-matching="true">
    
    
  3. Replace the opmn.xml file with the updated version of opmn.xml.bak.

    For example:

    % cd $ORACLE_HOME/opmn/conf
    % cp opmn.xml.bak opmn.xml
    
    
  4. Start the DCM shell and run the resyncinstance command.

    % cd $ORACLE_HOME/dcm/bin
    % dcmctl shell
    dcmctl> resyncinstance -force
    All OC4J components are stopped during a resyncinstance -force.
    They will need to be restarted after the command completes.
    Current State for Instance:10gM21.tvanraal-sun.us.oracle.com
    
    
  5. Use opmnctl to check the status of all components; if any components that you expect to be running are not running, start them:

    % cd $ORACLE_HOME/opmn/bin
    % opmnctl status
    

Solution 3

If Solution 1 and Solution 2 do not solve this problem, then both the opmn.xml and the opmn.xml.bak files have been corrupted. In this case, you need to manually create an opmn.xml file that allows you to start the dcm-daemon and then perform a dcmctl resyncinstance command to update the configuration files with the version last saved to the repository.

To create a version of opmn.xml that is sufficient for starting the dcm-daemon, perform the following steps:

  1. Copy and paste the text shown in Example 3-1 to $ORACLE_HOME/opmn/conf/opmn.xml.

  2. Edit the port element such that the attributes local, remote, and request have the correct values for your environment. These values are shown as XXXX, YYYY, and ZZZZ in Example 3-1.

  3. Using this file, the OPMN Server should start up, which should allow the DCM Daemon to start so that you can restore the opmn.xml file from the DCM repository using the dcmctl resyncInstance command.

Example 3-1 Basic opmn.xml File For Emergency Startup - Replace Port Values Before Using

<opmn xmlns="http://www.oracle.com/ias-instance">
  <notification-server>
    <port local="XXXX" remote="YYYY" request="ZZZZ"/>
    <log-file path="$ORACLE_HOME/opmn/logs/ons.log" level="4"
      rotation-size="1500000"/>
    <ssl enabled="true" wallet-file="$ORACLE_HOME/opmn/conf/ssl.wlt/default"/>
  </notification-server>
  <process-manager>
    <log-file path="$ORACLE_HOME/opmn/logs/ipm.log" level="4"
      rotation-size="1500000"/>
    <process-modules>
      <module path="$ORACLE_HOME/opmn/lib/libopmndcmdaemon">
        <module-id id="DCMDaemon"/>
      </module>
    </process-modules>
    <ias-instance id="foo">
      <environment>
        <variable id="TMP" value="/tmp"/>
      </environment>
      <ias-component id="dcm-daemon" status="enabled" id-matching="true">
        <process-type id="dcm-daemon" module-id="DCMDaemon">
          <process-set id="dcm" numprocs="1">
            <module-data>
              <category id="start-parameters">
                <data id="java-parameters"
                  value="-Xmx256m -Doracle.ias.sysmgmt.logging.loglevel=ERROR -Djava.net.preferIPv4Stack=true -Djava.io.tmpdir=$TMP" />
                <data id="jar-file" value="$ORACLE_HOME/dcm/lib/dcm.jar"/>
                <data id="application-parameters" value="daemon -logdir $ORACLE_HOME/dcm/logs/daemon_logs 
 -o $ORACLE_HOME" />              </category>
            </module-data>
          </process-set>
        </process-type>
      </ias-component>
    </ias-instance>
  </process-manager>
</opmn>



See Also:

"dcmctl Returns a SubscriptionException"

Oracle Process Manager and Notification Server Administrator's Guide


BOM (Bill of Materials) Not Updated


Problem

The DCM log file contains the entry "BOM Not Updated". Usually, this error is accompanied by a detailed message resembling the following:

Error writing file path to file for plugin plugin name.


Solution

This message is logged when configuration files for the Oracle Application Server instance are not synchronized with the configuration information stored in the DCM repository. DCM was not able to update the configuration files due to a file system full condition, file permissions problem, or an operating system problem. Examine the following log files to find the reasons for which DCM could not write to the file system:

ORACLE_HOME/dcm/logs/dcmctl_logs/log.xml

ORACLE_HOME/dcm/logs/emd_logs/log.xml

ORACLE_HOME/j2ee/home/log/log.xml

Another way to pinpoint a problem writing to the file system is to log in to the operating system as the user that installed Oracle Application Server, and attempt to write to a configuration file. The operating system will return an error message that describes the problem precisely.

After you resolve the file system problem, you can resynchronize the instance with this command:

ORACLE_HOME/dcm/bin/dcmctl resyncinstance

’In Sync’ Status is False


Problem 1

dcmctl getState displays an In Sync status of "False: Configuration" for one or more components.


Solution 1

This indicates that the configuration files for the Oracle Application Server instance are out of sync with the configuration information stored in the DCM repository. This can happen if a previous operation was not able to complete properly. To resolve this problem, you need to restore the configuration information from the DCM repository to the instance as follows:

  1. Stop Oracle Enterprise Manager Application Server Control to ensure that no attempts are made to change the configuration while you are synchronizing it.

  2. Resynchronize the instance with this command:

    ORACLE_HOME/dcm/bin/dcmctl resyncinstance

    This will usually fix the problem. If not, the resyncinstance operation will return error information that will help you determine what is wrong and how to proceed.


Problem 2

dcmctl updateconfig returns the message "The configuration files for this Oracle Application Server instance are inconsistent with the configuration stored in the repository."


Solution 2

This indicates that the configuration files for the Oracle Application Server instance are out of sync with the configuration information stored in the DCM repository. Stop and resynchronize the instance. After the configuration files for the Oracle Application Server instance are in sync, synchronized, you can make your original modifications. Be sure to run dcmctl updateconfig again after making the changes.


See Also:

Problem 1 and Solution 1 in this section


Problem 3

A DCM configuration file has zero bytes after an operation.


Solution 3

A file size of zero bytes indicates there was a problem writing to the configuration file during a DCM operation. To resolve the problem:

  1. Log on to the operating system as the user that installed the Oracle Application Server instance, and:

    1. Check the file permissions.

    2. Attempt to write to the configuration file, noting the operating system error message after any failure. Resolve the condition that caused the failure.

    3. Verify file system quotas.

    4. Ensure that there are no problems with the operating system that are preventing writing to the configuration file.

  2. Resolve any problems found.

  3. Restore the file from the DCM repository with the resyncInstance command.

Unable to Connect to the Directory


Problem

dcmctl returns ADMN-100999 and the base exception is "Unable to connect to Directory."


Solution

This error occurs when DCM cannot access Oracle Internet Directory. DCM needs to connect to the directory in order to retrieve the passwords it uses to connect to the database repository.

See if restarting Oracle Internet Directory solves the problem. If it does not, refer to "Troubleshooting Oracle Internet Directory".

Problem Accessing the Infrastructure Database


Problem

dcmctl returns ADMN-202026 and the base exception is "Unable to connect to Directory."


Solution

This error occurs when DCM cannot access Oracle Internet Directory. DCM needs to connect to the directory in order to retrieve the passwords it uses to connect to the database repository.

See if restarting Oracle Internet Directory solves the problem. If it does not, refer to "Troubleshooting Oracle Internet Directory".

DCM Daemon Cannot Start


Problem

The DCM daemon does not start.


Solution

This can occur due to insufficient memory problem or an OPMN problem. You can investigate this problem as follows:

  1. Review the error messages in ORACLE_HOME/opmn/logs/dcm-daemon~dcm-daemon~dcm~1.

  2. Review the error messages in the log files in ORACLE_HOME/opmn/logs/*.

  3. Ensure that the ports OPMN uses are free of conflicts. These ports are listed in ORACLE_HOME/opmn/conf/opmn.xml under the <notification-server> element.

resyncInstance Command Does Not Restore Properly


Problem

A configuration change was not reverted as expected in the following sequence of steps:

  1. Update of DCM-managed configuration file

  2. Execute the updateConfig command

  3. Manually remove change to configuration file

  4. Execute the resyncinstance command


Solution

Make DCM aware of the removal of the configuration change in Step 3 by issuing the updateConfig command after Step 3. You can use the -force option to force DCM to resynchronize the instance whether it thinks it necessary or not:

ORACLE_HOME/dcm/bin/dcmctl resyncinstance -force

Invalid username/password


Problem

dcmctl returns "invalid username/password; logon denied"


Solution

This could mean that DCM is having problems accessing Oracle Internet Directory or the DCM schema in the metadata repository. Refer to "Troubleshooting Oracle Internet Directory" for the steps for troubleshooting this problem.

dcmctl Takes a Long Time to Start a Component


Problem

dcmctl start times out while trying to start a component.


Solution

First, verify whether the component does eventually start. To do this, issue the following command repeatedly until the component starts successfully, or fails to start and returns an error:

ORACLE_HOME/dcm/bin/dcmctl getreturnstatus

If the component eventually starts, then it may be that the component needs more time than allowed by the current timeout setting to start. Some reasons for this are:

  • The first time an Oracle Application Server Containers for J2EE (OC4J) instance is started, it takes more time than in subsequent starts.

  • When all OC4J instances are started with one command, DCM starts them sequentially. If there are many OC4J instances, the time needed to start them will probably exceed the timeout.

    You can increase the timeout value for all DistributedDCM operations with the following command:

    ORACLE_HOME/dcm/bin/dcmctl set -t timeout_in_seconds

If the component fails to start, and returns an error, refer to the documentation for the component to resolve the problem, then try dcmctl start again.

dcmctl Returns a SubscriptionException


Problem

The dcmctl start command returns:

ADMN-705002. Examining

ORACLE_HOME/dcm/logs/dcmctl_logs/log.xml

shows SubscriptionException: Subscription request timed out after 30000 milliseconds.


Solution

This indicates that DCM is trying to communicate with Oracle Process Manager and Notification Server. This is usually due to a port conflict with one of the Oracle Notification Server (ONS) ports. Check the ORACLE_HOME/opmn/conf/opmn.xml file, examine the ports used for the <notification-server> element (local, remote, request), and verify that they are free.


See Also:

"OPMN is Unable to Start Due to Corrupted or Missing opmn.xml File"

Oracle Process Manager and Notification Server Administrator's Guide


dcmctl getState Hangs


Problem

When the dcmctl getState -d command is executed, it returns the following and then stops:

Current state for Instance:myinstance.example.com

Component Type Up Status In Sync Status

=============================


Solution

Determine which process has actually stopped. It could be that a process associated with one of the related components (that is, OHS, OPMN, OC4J) has stopped.

  1. Determine the PID of the dcm-daemon process, using the following command:

    ORACLE_HOME/opmn/bin/opmnctl status

  2. Send a kill -3 signal to the dcm-daemon process with the following command:

    kill -3 PID

    This tells the JVM to dump an execution stack trace.

  3. Open the ORACLE_HOME/opmn/logs/dcm-daemon~dcm-daemon~dcm~1 file and examine the execution stack trace to identify the process that caused DCM to stop.

dcmctl joinFarm Produces Error


Problem

When the dcmctl joinfarm command is executed, it returns the following:

ADMN-202026
A problem has occurred accessing the OracleAS 10g infrastructure database.
Base Exception:
oracle.ias.repository.schema.SchemaException:DCM Repository is not Configured
Please refer to the base exception for resolution or call Oracle support.
oracle.ias.repository.schema.SchemaException: DCM Repository is not Configured
.
.
.

Solution

If you are attempting to join a File based repository, issue the command again, using the -r option to specify the repository ID for the File based repository.

The -r option is required to specify the ID of a File based repository. If you erroneously omit the -r option, dcmctl attempts to join an Infrastructure database farm with the repository ID you provided.

Repository Unreachable After repositoryRelocated Command


Problem

You executed repositoryRelocated and now the repository is unreachable.

The repositoryRelocated command is intended to be used in conjunction with the importRepository command. A farm can only be associated with one repository at a time. When the repository is imported to a new instance of the farm, the old instance must be notified, through the repositoryRelocated command, that it is no longer the repository host. If the repository was not imported to a new instance, then there is currently no instance managing the repository.


Solution

The solution depends on the circumstances under which the command was issued.

If the intent was to import an exported repository image to a new instance, simply issue the importRepository command. After the repository is imported to a new instance, all instances will be able to locate the new repository host. If the command was run in error, and you wish to continue to use the current repository:

  1. Stop the instance.

  2. Navigate to the ORACLE_HOME/dcm/config directory.

  3. Compare the files with the command:

    diff dcm.conf dcm.conf.bak

    The result should be:

    < repository_type=cache

    > repository_type=cache rep

  4. Restore the dcm.conf file to the original version with the command:

    cp dcm.conf.bak dcm.conf

  5. Start the instance.

    The repository is now available to the farm.

The dcm.conf or dcmCache.xml file is empty


Problem

Occasionally, during configuration management operations, configuration files in are written out as zero length files. This is usually due to disk write problems, such as lack of space on the disk.


Solution

Copy the corresponding .bak file, dcm.conf.bak or dcmCache.xml.bak, to dcm.conf or dcmCache.xml respectively, and start the instance.

Handling Unexpected Messages or Failures With a File Based Repository


Problem

Occasionally, while using dcmctl commands with file based clustering, unexpected messages or failures may be seen.


Solution

Restarting all dcmctl processes, dcm daemons, and Application Server Control on all the instances in the farm may allow you to recover from these problems. Restarting these processes will not result in a loss of configuration information.

resetHostInformation Workaround for Unreachable IP Address


Problem

The following Application Server Control or dcmctl errors may occur if the configuration file ORACLE_HOME/dcm/config/dcmCache.xml includes a <communication> element with a <coordinator> subelement that specifies an ip attribute for an IP address that is not reachable.

The exception 202504, has occurred in the cache layer of the persistence manager. "Network port is in use.". Resolution: Please, refer to the base exception for the details.

And the following dcmctl error is also associated with this problem:

Local Stack:
oracle.ias.cache.group.GroupException: Network port is in use
at oracle.ias.cache.group.Transport.ssinit(Unknown Source)
at oracle.ias.cache.group.Transport.init(Unknown Source)

Solution

The IP address could become unreachable if the IP address for the machine changes, for example, in a DHCP environment.

Use the following procedure to workaround this problem:

  1. Change the ip attribute specified in the <coordinator> element of the ORACLE_HOME/dcm/config/dcmCache.xml configuration file. There are several ip attributes and <coordinator> elements specified in this file; change the <coordinator> element with attribute "original=true". In this element change the ip attribute to the correct value for the machine. Use the hostname and nlslookup commands or similar commands to identify the correct IP address.

  2. Change the VirtualHostName value in ORACLE_ HOME/config/ias.properties to the corresponding correct hostname.

  3. Run the command dcmctl resetHostInformation.

This should correct the problem.

DCM Repository Unavailable With Start Stop and Restart Commands


Problem

If the DCM repository is not available, the dcmctl start, stop, and restart commands fail.

For example if dcmctl start returns the exception,

ADMN-202037

The DCM repository is unavailable and there is currently insufficient information cached locally for DCM to initialize or the operation to be completed.

Solution

Work around: use opmnctl to start, stop, or restart processes.

The getState Command Cannot Be Used With Older Instances (9.0.2 or 9.0.3)


Problem

Invoking the command dcmctl getstate -i instance_name from an Oracle Application Server 10g (9.0.4) Oracle Home results in an ADMN-604104 exeption. This problem occurs when the instance_name is a 9.0.2 or 9.0.3 instance.


Solution

When trying to retrieve the state of a 9.0.2 or 9.0.3 instance, invoke the dcmctl utility from a 9.0.2 or 9.0.3 Oracle Home, and not from the Oracle Application Server 10g (9.0.4) Oracle Home.

Registered Plugin Named Discoverer Could Not Be Loaded Found in log.xml


Problem

3266895After installing BI and Forms, the $ORACLE_HOME/dcm/logs/daemon_logs/log.xml file includes messages similar to the following:

<MSG_TEXT>The registered plugin named discoverer could not be loaded and will
be not be functional within the iAS Home: /private1/iasinst/OraHome1 until
this problem is resolved, due to the following exception: </MSG_TEXT>
<SUPPL_DETAIL><![CDATA[java.io.FileNotFoundException:
... /j2ee/OC4J_BI_Forms/applications/discoverer/web/WEB-I
NF/configuration.xsd (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:103)
at java.io.FileInputStream.<init>(FileInputStream.java:66)

.

.
.

Solution

This problem causes no loss of service and requires no user or administrator action.


Explanation

This is an Oracle Application Server installation configuration tool timing issue that the system recovers from, with no action required by the user or the administrator.

When the OracleAS Discoverer component registers its SMI Plugin with DCM, the XML Schema files have not been placed in the Oracle Home. When DCM attempts to initialize the Plugin, the Plugin throws exceptions because the xsd files are not available. DCM correctly logs this exception and continues processing without the OracleAS Discoverer Plugin.

In the OC4J Configuration Assistant, the OracleAS Discoverer component deploys J2EE Applications. OracleAS Discoverer XML Schema files are contained within the application. At the end of the OC4J Configuration Assistant (OCA), the OCA calls an explicit API that causes DCM to reinitialize failed Plugins. Because the XML Schema documents, required by the OracleAS Discoverer Plugin, now exist on disk, the Plugin will correctly initialize and function.

Troubleshooting Problems with Related Components

Some problems reported by DCM have root causes in a related component or system (that is, OPMN, OHS, OC4J, Oracle Internet Directory, the metadata repository, or the file system). This section contains tips for recognizing, verifying, and fixing these types of problems. It contains the following topics:

Troubleshooting Oracle Process Manager and Notification Server

Troubleshooting Oracle Internet Directory

Troubleshooting the Metadata Repository

Troubleshooting Oracle Process Manager and Notification Server

A problem with starting or stopping could be due to OPMN, or to one of the components it is attempting to start and stop. The OPMN logs are the starting point for determining the source of the problem. The OPMN logs are located in the ORACLE_HOME/opmn/logs/. In addition to the main logs, opmn.log, ipm.log, and ons.log, there are log files for each component managed by OPMN.


See Also:

Oracle Process Manager and Notification Server Administrator's Guide

Troubleshooting Oracle Internet Directory

If DCM returns an error referring to the directory, or a problem with a password, problems with Oracle Internet Directory may be the cause. This section provides instructions on how to resolve these types of problems.

How DCM Uses Oracle Internet Directory

DCM uses Oracle Internet Directory only if the instance is configured to use Identity Management and a metadata repository. In this case:

  1. DCM obtains a password for the metadata repository from Oracle Internet Directory.

  2. It logs in to Oracle Internet Directory using an internal, randomly generated password that is stored with the Oracle Application Server instance.

  3. It obtains the metadata repository password from Oracle Internet Directory.

  4. It uses this password to access the metadata repository.

How to Troubleshoot Oracle Internet Directory Problems

  1. Determine the host and port the instance is using to access Oracle Internet Directory. Examine the ORACLE_HOME/config/ias.properties file in the Oracle home of the middle tier instance that is reporting the DCM failure. In the file, the Oracle Internet Directory host is OIDhost. The Oracle Internet Directory port is OIDport.

  2. Ping the Oracle Internet Directory host from another computer to see if the network is running. If the ping is unsuccessful, then the network is stopped.

  3. If the ping is successful, run the following command to see if you can access Oracle Internet Directory:

    ORACLE_HOME/bin/ldapbind -p oid_port -h oid_host

  4. If this command fails, then Oracle Internet Directory is stopped. Try to restart Oracle Internet Directory using Oracle Process Manager and Notification Server. If it does not start, then contact the Oracle Internet Directory Administrator with a request to restart Oracle Internet Directory.

    Use one of the following commands, on the Oracle Application Server instance that contains the OID component to start or restart Oracle Internet Directory:

    • opmnctl startall

    • opmnctl startproc ias-component=OID

  5. Try the DCM command again. If it fails, continue with the next step.

  6. Ensure that the metadata repository is running. DCM accesses the metadata repository differently, depending on installation type and configuration, as follows:

    • For J2EE and Web Cache installations using Identity Management and a metadata repository: The metadata repository the instance is using is the DBConnect field corresponding to ComponentNameDCM in the ORACLE_HOME/config/iasschema.xml file.

    • For Portal and Wireless and Business Intelligence and Forms installations: The metadata repository the instance is using is the InfrastructureDBCommonName field in the ORACLE_HOME/config/ias.properties file.

  7. Ensure that the DCM schema password stored in Oracle Internet Directory matches the DCM schema password in the metadata repository.

    1. Obtain the DCM schema password from Oracle Internet Directory by following the instructions in Oracle Application Server 10g Installation Guide, Section 7.5, "How to Determine the Password for the DCM Schema".

    2. Try to log in to the DCM schema in the metadata repository using the password:

      sqlplus dcm/password@connectstring

      If the passwords do not match, you have two options:

Option 1:

Reset the password in Oracle Internet Directory and the metadata repository using the Oracle Enterprise Manager Application Server Control (Application Server Control):

  1. Log in to the Application Server Control and navigate to the Instance Home page for the instance that is reporting the problem.

  2. Click Infrastructure.

  3. Select the DCM schema.

  4. Click Change Schema.

  5. Click Change Password.

  6. Set the new password.

  7. Try the DCM command again.


See Also:

Oracle Internet Directory Administrator's Guide for more information on troubleshooting Oracle Internet Directory.

Option 2:

Reset the DCM password in the metadata repository to match that which is stored in Oracle Internet Directory. To do this, log in to the metadata repository as the SYS user and issue the command:

sql> ALTER DCM IDENTIFIED BY password_in_oid

where password_in_oid is the DCM schema password retrieved from Oracle Internet Directory.

Troubleshooting the Metadata Repository

If DCM is reporting problems with the repository, and you are using the metadata repository (not a File based repository), you can troubleshoot the repository as described in this section.

How DCM Uses the Metadata Repository

DCM stores configuration information in the DCM schema in the metadata repository.

How to Troubleshoot Problems with the Metadata Repository

  1. Ensure that the metadata repository is running and that you can access it from your system. The metadata repository for the instance is listed in the DBConnect field in the ORACLE_HOME/config/iasschema.xml file.

  2. If the error message states that an instance is inconsistent with the repository, issue the resyncInstance command:

    ORACLE_HOME/dcm/bin/dcmctl resyncinstance

  3. Examine the log files for errors. The repository could be corrupted in some way, due to database or system errors. These will be captured in the following log files:

    METADATA_REPOSITORY_ORACLE_HOME/admin/iasdb/bdump

    METADATA_REPOSITORY_ORACLE_HOME/admin/iasdb/udump

    If there is evidence of database failure or corruption, refer to database documentation for information on restoring and recovering the database.

Troubleshooting the File based Repository

If DCM is reporting problems with a File based repository, you can troubleshoot the repository as described in this section.

How DCM Uses the File based Repository

DCM stores configuration information in ORACLE_HOME/dcm/repository.

How to Troubleshoot Problems with the File based Repository

Most File based repository problems are due to file system problems.

  1. Ensure that:

    • The file system is not full.

    • File system usage is within quotas.

    • The operating system user that installed Oracle Application Server has write permission on the repository. For example, if the user is oracle, the repository file owner and permissions strings should be as shown in Example 3-2.

Example 3-2 File based Repository Permissions

drwxr-x---   4 oracle   g632         512 Apr  4 17:30 .
drwxr-xr-x   7 oracle   g632         512 Apr  4 16:48 ..
-rw-r-----   1 oracle   g632         990 Apr  4 17:45 app.bom
-rw-r-----   1 oracle   g632           0 Apr  4 16:48 archive
-rw-r-----   1 oracle   g632           0 Apr  4 16:48 archmember
-rw-r-----   1 oracle   g632        1291 Apr  4 17:30 cluster
-rw-r-----   1 oracle   g632          42 Apr  4 16:48 cluster.bom
-rw-r-----   1 oracle   g632        1034 Apr  4 17:30 componentCluster
-rw-r-----   1 oracle   g632         635 Apr  4 17:45 conf.bom
-rw-r-----   1 oracle   g632         650 Apr  4 16:48 farm
-rw-r-----   1 oracle   g632        1545 Apr  4 17:30 instance
-rw-r-----   1 oracle   g632        3597 Apr  4 17:30 instanceAttr
-rw-r-----   1 oracle   g632        3855 Apr  4 17:30 member
drwxr-x---   2 oracle   g632         512 Apr  5 16:07 mutex
-rw-r-----   1 oracle   g632         777 Apr  4 16:48 node
-rw-r-----   1 oracle   g632        5140 Apr  4 17:30 obj
-rw-r-----   1 oracle   g632           0 Apr  4 16:48 tag
drwxr-x---   2 oracle   g632         512 Apr  4 17:30 tmp
-rw-r-----   1 oracle   g632         550 Apr  4 17:39 tp.bom


  1. If the error message states that an instance is inconsistent with the repository, issue the resyncInstance command:

    ORACLE_HOME/dcm/bin/dcmctl resyncinstance

  2. If the repository files contain errors or some or all have been removed, you can restore them as follows:

    If the instance is in a cluster:

    1. In the Oracle home of the instance you are trying to recover:

      ORACLE_HOME/dcm/bin/dcmctl resyncinstance

    If you have a backup of the Oracle home:

    1. Restore the repository files in ORACLE_HOME/dcm/repository.

    2. In the Oracle home of the instance you are trying to recover, issue this command:

      ORACLE_HOME/dcm/bin/dcmctl resyncinstance