28 Oracle Virtual Directory

This chapter describes issues associated with Oracle Virtual Directory. It includes the following topics:

28.1 General Issues and Workarounds

This section describes general issues and workarounds. It includes the following topics:

28.1.1 Oracle Directory Services Manager Browser Window is Not Usable

In some circumstances, after you launch Oracle Directory Services Manager from Fusion Middleware Control, then select a new Oracle Directory Services Manager task, the browser window might become unusable. For example, the window might refresh repeatedly, appear as a blank page, fail to accept user input, or display a null pointer error.

As a work around, go to the URL: http://host:port/odsm, where host and port specify the location where Oracle Directory Services Manager is running, for example, http://myserver.example.com:7005/odsm. You can then use the Oracle Directory Services Manager window to log in to a server.

28.1.2 Exceptions May Occur in Oracle Directory Services Manager When Managing Multiple Oracle Virtual Directory Components and One is Stopped

Under certain circumstances, when managing multiple Oracle Virtual Directory components from the same Oracle Directory Services Manager session, exception or error messages may appear if you stop one of the Oracle Virtual Directory components. For example, you are managing Oracle Virtual Directory components named ovd1 and ovd2 from the same Oracle Directory Services Manager session. Both ovd1 and ovd2 are configured and running. If you stop ovd1, an exception or Target Unreachable message may appear when you try to navigate Oracle Directory Services Manager.

To work around this issue, exit the current Oracle Directory Services Manager session, close the web browser, and then reconnect to Oracle Virtual Directory components in a new Oracle Directory Services Manager session.

28.1.3 Identifying the DN Associated with an Access Control Point in Oracle Directory Services Manager

When you create an Access Control Point (ACP) using Oracle Directory Services Manager, the Relative Distinguished Name (RDN) of the DN where you created the ACP appears in the navigation tree on the left side of the screen. For example, if you create an ACP at the DN of cn=ForExample,dc=us,dc=sales,dc=west, then cn=ForExample appears in the navigation tree. After clicking an ACP in the navigation tree, its settings appear in the right side of the screen and the RDN it is associated with appears at the top of the page.

To identify the DN associated with an ACP, move the cursor over ("mouse-over") the ACP entry in the navigation tree. The full DN associated with the ACP will be displayed in a tool-tip dialog box.

Mousing-over ACPs in the navigation tree is useful when you have multiple ACPs associated with DNs that have identical RDNs, such as:

ACP 1 = cn=ForExample,dc=us,dc=sales,dc=west

ACP 2 = cn=ForExample,dc=us,dc=sales,dc=east

28.1.4 Issues With Oracle Virtual Directory Metrics in Fusion Middleware Control

This topic describes issues with Oracle Virtual Directory metrics in Fusion Middleware Control, including:

28.1.4.1 Configuring Operation-Specific Plug-Ins to Allow Performance Metric Reporting in Fusion Middleware Control After Upgrading to 11g Release 1 (11.1.1)

If you upgraded an Oracle Virtual Directory Release 10g installation with plug-ins configured to execute on specific operations, such as add, bind, get, and so on, to 11g Release 1 (11.1.1), you may have to update those operation-specific plug-ins before you can use Fusion Middleware Control to view performance metrics.

After upgrading to 11g Release 1 (11.1.1) and performing some initial operations to verify the upgrade was successful, check the Oracle Virtual Directory home page in Fusion Middleware Control. You should see data for the Current Load and Average Response Time and Operations metrics.

If you do not see any data for these metrics, you must update the plug-ins configured to execute on specific operations. The work-around is to add the Performance Monitor plug-in to the operation-specific plug-in's configuration chain.

Perform the following steps to add the Performance Monitor plug-in to the operation-specific plug-in's configuration chain:

  1. If the operation-specific plug-in is a Global-level plug-in, edit the server.os_xml file located in the ORACLE_INSTANCE/config/OVD/NAME_OF_OVD_COMPONENT/ directory.

    If the operation-specific plug-in is an adapter-level plug-in, edit the adapters.os_xml file located in the ORACLE_INSTANCE/config/OVD/NAME_OF_OVD_COMPONENT/ directory.

    Note:

    If multiple adapters are configured, you must perform steps 2 and 3 for every adapter configuration in the adapters.os_xml file.
  2. Locate the pluginChains element in the file. For example, if the Dump Transactions plug-in is configured to execute on the get operation, you will see something similar to the following:

    Example 28-1 Dump Transactions Plug-In Configured for get Operation

      <pluginChains xmlns="http://xmlns.oracle.com/iam/management/ovd/config/plugins">
       <plugins>
          <plugin>
            <name>Dump Transactions</name>
            <class>com.octetstring.vde.chain.plugins.DumpTransactions.DumpTransactions</class>
            <initParams>
              <param name="loglevel" value="info"/>
            </initParams>
          </plugin>
          <plugin>
            <name>Performance Monitor</name>
            <class>com.octetstring.vde.chain.plugins.performance.MonitorPerformance</class>
            <initParams/>
          </plugin>
       </plugins>
       <default>
          <plugin name="Performance Monitor"/>
       </default>
       <get>
          <plugin name="Dump Transactions">
            <namespace>ou=DB,dc=oracle,dc=com </namespace>
          </plugin>
        </get>
      </pluginChains>
    
  3. Add the following Performance Monitor plug-in element within the operation-specific configuration chain:

    <plugin name="Performance Monitor"/>
    

    For example:

    Example 28-2 Adding the Performance Monitor to the Operation-Specific Plug-In Configuration Chain

     <pluginChains xmlns="http://xmlns.oracle.com/iam/management/ovd/config/plugins">
       <plugins>
          <plugin>
            <name>Dump Transactions</name>
            <class>com.octetstring.vde.chain.plugins.DumpTransactions.DumpTransactions</class>
            <initParams>
              <param name="loglevel" value="info"/>
            </initParams>
          </plugin>
          <plugin>
            <name>Performance Monitor</name>
            <class>com.octetstring.vde.chain.plugins.performance.MonitorPerformance</class>
            <initParams/>
          </plugin>
       </plugins>
       <default>
          <plugin name="Performance Monitor"/>
       </default>
       <get>
          <plugin name="Dump Transactions">
            <namespace>ou=DB,dc=oracle,dc=com </namespace>
          </plugin>
          <plugin name="Performance Monitor"/>
        </get>
      </pluginChains>
    
  4. Save the file.

  5. Restart Oracle Virtual Directory.

28.1.5 Using a Wildcard when Performing an LDAPSEARCH on a TimesTen Database Causes an Operational Error

Currently, a TimesTen bug is preventing wildcard searches (such as "cn=t*") from working in a Database adapter with TimesTen.

To work around this problem, enable the Case Insensitive Search option and create the necessary linguistic indexes for any database columns used in the search.

For more information, see the related TimesTen Enhancement Request, Bug# 9885055 and Section 12.2.2 "Creating Database Adapters for Oracle TimesTen In-Memory Database" in the Oracle® Fusion Middleware Administrator's Guide for Oracle Virtual Directory.

28.1.6 ODSM Version 11.1.1.4.0 Does Not Support OVD Versions 11.1.1.2.0 or 11.1.1.3.0

Oracle Directory Services Manager Version 11.1.1.4.0 does not support Oracle Virtual Directory Versions 11.1.1.2.0 or 11.1.1.3.0.

Changes introduced in Oracle Directory Services Manager Version 11.1.1.4.0 improve configuration auditing, and these changes require that you use Oracle Virtual Directory 11.1.1.4.0.

28.1.7 ODSM Version 11.1.1.5.0 Does Not Support OVD Versions 11.1.1.2.0, 11.1.1.3.0, or 11.1.1.4.0

Oracle Directory Services Manager Version 11.1.1.5.0 does not support Oracle Virtual Directory Versions 11.1.1.2.0, 11.1.1.3.0, or 11.1.1.4.0.

Changes introduced in Oracle Directory Services Manager Version 11.1.1.5.0 improve configuration auditing, and these changes require that you use Oracle Virtual Directory 11.1.1.5.0.

28.1.8 Problem Running CRUD Operations on Windows Platforms Using JDK 6

Running CRUD operations on Windows platforms using JDK 6 causes an issue in NIO (Non Input Output) mode because JDK 6 does not support IPv6 stack in Windows Vista/2008.

Note:

Support for IPv6 stack was added in JDK 7 Build b36.

For more information, refer to JDK Bug IDs 6230761 (http://bugs.sun.com/view_bug.do?bug_id=6230761) and 4640544 (http://bugs.sun.com/view_bug.do?bug_id=4640544).

The Oracle Virtual Directory development team verified this use case with JDK 7 and confirmed that it works in Oracle Virtual Directory NIO mode.

Workaround:

Note:

You must apply this workaround in the Oracle Virtual Directory server.

Turn off NIO mode by adding the <useNIO>false</useNIO> XML element in <OracleInstance>/config/OVD/ovd1/listeners.os_xml at the following location, then stop and restart the Oracle Virtual Directory server:

  <ldap id="LDAP Endpoint" version="0">
      <port>6501</port>
      ...
      <socketOptions>
          ...
      </socketOptions>
      <useNIO>false</useNIO>
  </ldap>

28.1.9 Users with Non-ASCII Names Might Encounter Problems when Using ODSM with SSO

When ODSM is configured to use Oracle Access Manager 11g Release 1 (11.1.1.2) for single sign-on, a user whose name contains non-ASCII characters might observe the following issues after logging in:

  • The user name displayed on the Home page is garbled.

  • Single sign-on connections to Oracle Virtual Directory servers do not appear in the list of connections.

28.1.10 Creating an Attribute/Object Class Throws NPE Error

After upgrading Oracle Directory Services Manager, creating an attribute or an objectclass causes an NPE error.

Workaround:

Refresh the entries by clicking Refresh every time the creation fails.

28.1.11 Patch Required to Enable Account Lockout Feature

An additional Patch 10365116 is required to enable the Account Lockout functionality.

In addition, Oracle Virtual Directory may not update the AD badpasswdcount until the account is fully locked out, which means AD badpasswdcount shows the correct number when it reaches the bad password count setting in AD.

28.2 Documentation Errata

This section describes documentation errata. It includes the following topics:

28.2.1 Additional Step for Editing the Oracle Virtual Directory Administrative Listener Settings Using Fusion Middleware Control

Section 11.4.3.1.1 in the Administrator's Guide for Oracle Virtual Directory, which describes "Editing the Oracle Virtual Directory Administrative Listener Settings" using Oracle Enterprise Manager Fusion Middleware Control, is incomplete.

The following, additional step must be performed after completing the six steps that are documented in section 11.4.3.1.1:

7. Use the opmnctl updatecomponentregistration command to update the registration of the Oracle Virtual Directory component that contains the Admin Listener you edited.

The syntax for opmnctl updatecomponentregistration is:

$ORACLE_INSTANCE/bin/opmnctl updatecomponentregistration 
   [-adminHost hostname] 
   [-adminPort weblogic_port] 
   [-adminUsername weblogic_admin]
   [-adminPasswordFile 'FILE_WITH_WEBLOGIC_ADMIN_PASSWORD']
   [-componentType OVD] 
   -componentName componentName
   [-Host OVD_HOST_NAME]

Notes:

  • If you do not use the -Host option, the value in listeners.os_xml will be used.

  • Both the componentName and componentType parameters are required.

For example:

$ORACLE_INSTANCE/bin/opmnctl updatecomponentregistration -adminHost myhost \
-adminPort 7001 -adminUsername weblogic -componentType OVD -componentName ovd1    

28.2.2 Wrong Command and Path in Appendix B of Oracle Fusion Middleware Administrator's Guide for Oracle Virtual Directory

The following error has been noted in Appendix B, "Starting and Stopping the Oracle Stack" of the Administrator's Guide for Oracle Virtual Directory.

In Step 3 of "Starting the Stack,"

MW_HOME/user_projects/domains/DOMAIN_NAME/bin/startNodeManager.sh

should be

MW_HOME/wlserver_10.3/server/startNodeManager.sh

28.2.3 Code Example Does Not Close Connection to LDAP Server

The code example currently provided in section 18.3.3.3, "Operation Plug-In Implementation Point" of the Administrator's Guide for Oracle Virtual Directory does not close the connection to the back-end LDAP server.

The example code uses chain.getVSI().get, which populates a Vector<EntrySet> with one EntrySet for each adapter. Each EntrySet in get() contains a live handle to the data source connection, which is used to retrieve entries.

To release this data source connection to the pool, you must provide a call to EntrySet.cancelEntrySet()or Oracle Virtual Directory could be blocked. Blocking occurs when the plug-in occupies all of the configured connections from the pool and no connections are available to execute new requests.

The example code should be updated to implement a call to entrySet.cancelEntrySet() as follows:

ChainVector results = new ChainVector();
try
{
chain.getVSI().get(...);
}
catch (...)
{
 
}
finally
{
for (EntrySet entrySet : results)
entrySet.cancelEntrySet();
}