本章包含发行目录代理服务器时可用的特定于产品的重要信息。
本章包含以下部分:
本部分列出了 Directory Proxy Server 6.1 和 6.0 发行版中修复的错误。
下表仅包含此发行版中修复的选定错误。有关此发行版中修复错误的完整列表,请参见修补程序目录中的 README.patchnumber 文件。
目录代理服务器有时无法根据虚拟 DN 解析搜索。
当您设置某些服务器属性时,dpconf 命令错误地指出需要重新启动。
使用 dpconf delete-jdbc-object-class 命令后,必须重新启动目录代理服务器才能使更改生效。
在两个属性都已通过 JDBC 映射到同一数据库表列的情况下,目录代理服务器只检索其中一个属性。
无法通过 JDBC 数据视图执行一级搜索。
在 Windows 系统上,如果在安装目录服务器之后使用 dsee_deploy 命令安装目录代理服务器,该命令会返回错误,指出不应删除某些公用文件。
JDBC 数据库无法执行部分 LDAP 事务。
更改数据视图的 base-dn 属性时,目录代理服务器不重新计算 alternate-search-base-dn 属性。
在 Windows 系统上,将目录代理服务器作为服务启用时,不要使用 dpadm cert-pwd-prompt=on 命令。
要在目录代理服务器和本地主机上的邮件用户之间启用电子邮件警报,请在启用电子邮件警报之前指定 email-alerts-message-from-address 属性。
增大目录代理服务器工作线程数可能会使服务器无法重新启动。此问题的表现方式是在服务器启动时显示 java.lang.OutOfMemoryError 错误。
将 dpadm 命令与 jvm-args 标志一起使用(以便为 Java 虚拟机分配额外的内存)时,即使内存分配失败,该命令仍返回退出状态 0。但命令行上将显示错误消息。
默认情况下,目录代理服务器禁用 SSLv2,因为它是 SSL/TLS 安全协议系列的最旧版本,相对来说功能性很弱并已过时。现在目录代理服务器仅启用 SSLv3 和 TLSv1 安全协议。
目录代理服务器丢弃了 searchResultDone 中的 LDAP 响应控制。
允许分别链接读取和写入请求。
添加基于字母和散列的数据分配算法。
目录代理服务器无法识别绑定请求中的引用。
目录代理服务器日志文件不能超过 2 GB。
目录代理服务器文件处理泄漏内存。
在执行 Beta 版程序的过程中发现下列错误,并随后进行了修复。
通过目录代理服务器执行搜索时出错,并且进行密码锁定。
目录服务控制中心不允许创建证书请求。
客户端应用程序放弃通过目录代理服务器执行的 LDAP 搜索后,目录代理服务器未放弃该搜索。
无法通过联接数据视图执行子串搜索。
通过目录代理服务器搜索 DB2 会产生 SqlException。
创建 JDBC对象类时,从表不是可选的。
无法正常删除 SQL 数据库条目。
忽略数据库中共享的多值属性值。
本部分列出了发行时的已知问题和限制。
本部分列出了产品限制。
在某些情况下,对已安装的 Directory Server Enterprise Edition 产品文件的权限进行更改可能会导致软件无法正常运行。只能按照产品文档中的说明或 Sun 支持人员的指导来更改文件权限。
要解除此限制,请以具有适当用户和组权限的用户身份来安装产品和创建服务器实例。
创建自签名服务器证书时,请确保指定足够长的有效期,这样便无需续订证书。
在德语语言环境中的 Windows 2003 上运行时, 请使用 Java ES 分发包从本地软件包进行安装。
本部分列出了发行 Directory Proxy Server 6.1 时发现的已知问题。此列表是对Directory Proxy Server 6.0 中的已知问题列表的补充。
目录代理服务器无法恢复在数据源连接失败后已恢复的 JDBC 数据源连接。 目录代理服务器仅在重新启动目录代理服务器实例后才能恢复连接。
在目录代理服务器中,引用跳数限制无效。
在 Windows 上,dsadm 和 dpadm 命令的输出以及帮助消息未使用简体中文和繁体中文进行本地化。
要解决此问题,请使用以下命令设置类路径:
set CLASSPATH="C:Program FilesSunJavaES5DSEEds6libslapwcli.jar; C:Program FilesSunJavaES5DSEEds6libslapy.jar; C:Program FilesSunJavaES5DSEEds6libslapycli.jar; C:Program FilesSunJavaES5DSEEds6libslapycli_l10n.jar; C:Program FilesSunJavaES5DSEEdsee6libclip.jar; C:Program FilesSunJavaES5DSEEdsee6libjarcommon.jar; C:Program FilesSunJavaES5DSEEdsee6libjarcommon_cfg.jar; C:Program FilesSunJavaES5DSEEds6libslapwcli_l10n.jar; C:Program FilesSunJavaES5DSEEdsee6libclip_l10n.jar; C:Program FilesSunJavaES5DSEEdsee6libjarcommon_cfg_l10n.jar;" java -Dsun.directory.clip.arg0=dsadm -Dsun.directory.dcc.path.slapx=dsadm -classpath %CLASSPATH% com.sun.directory.slapy.cli.SlapyMain --help |
如果使用配置了 DB2 数据库的 JDBC 数据视图执行搜索,并且在搜索结果中返回大量条目,则在返回 1344 个条目后可能会发生错误。
要解除这一限制,可以增加大型软件包的数量,方法是将 CLI/ODBC 配置关键字 CLIPkg 的值最大设置为 30。但搜索结果仍被限定为最多 11712 个条目。
有关详细信息,请参见 DB2 文档。
目录代理服务器无法写入表明 JDBC 数据库表之间多对多 (N:N) 关系的 JDBC 属性。
带有多字节 DN 并使用 DSCC 创建的目录代理服务器实例在 Linux 上无法启动。
在 Solaris 10 上使用 Service Management Facility (SMF) 启用服务器实例时,重新引导系统时实例可能无法启动。
要解决此问题,请将标记有 + 的以下行添加到 /opt/SUNWdsee/ds6/install/tmpl_smf.manifest 中。
... restart_on="none" type="service"> <service_fmri value="svc:/network/initial:default"/> </dependency> + <dependency name="nameservice" grouping="require_all" \ + restart_on="none" type="service"> + <service_fmri value="svc:/milestone/name-services"/> + </dependency> <exec_method type="method" name="start" exec="%%%INSTALL_PATH%%%/bin/dsadm start --exec %{sunds/path}"... |
在 HP-UX 上,如果使用针对不同语言环境设置的多个浏览器会话访问 DSCC,则 DSCC 可能会使用其他语言环境显示某些字符串,而不使用浏览器中设置的语言环境。
如果计算机有多个主机名,控制台不会检索目录代理服务器实例的后端状态。
使用 filter-join-rule 配置联接数据视图之后,即使在从数据视图上设置了转换规则,仍无法向联接数据视图中添加条目。
本部分列出了发行 Directory Proxy Server 6.0 时发现的问题。
LDIF 数据视图、JDBC 数据视图、联接数据视图和访问控制数据视图不支持修改 DN 操作。
定义本地代理 ACI 时,使用“获得有效的权限控制”的操作可能无法返回正确信息。
目录代理服务器拒绝那些将子类型指定给目标属性的 ACI,如 targetattr = "locality;lang-fr-ca"。
dpconf 命令不拒绝属性值中的新行字符和换行字符。应避免在设置属性值时使用新行字符和换行字符。
配置 ACI 时,目录代理服务器返回的结果与对 LDAP 数据源直接搜索返回的结果不同。
重新启动目录服务器数据源后,目录代理服务器返回操作错误,指明服务器无法读取绑定响应。
更改验证模式配置后,必须重新启动目录代理服务器。
为目录代理服务器生成 CA 签名证书请求后,可以刷新目录服务控制中心。然后目录服务控制中心会将证书标记为自签名。
当客户端应用程序使用 SSL 进行连接时,可以配置为使用 SSL 连接。如果目录代理服务器所用的 SSL 端口不正确,则目录代理服务器会在进行安全搜索后关闭所有连接。
将目录代理服务器配置为使用基于客户端应用程序凭证(而非代理授权)的验证时,它将无法正确计算引用跃点数。
只有在最初创建数据视图时,目录代理服务器才允许将该数据视图的 base-dn 属性设置为根 DN ""。
目录服务控制中心将值作为字符串进行排序。因此,在目录服务控制中心中对数字进行排序时,数字将被视为字符串。
对 0、20 和 100 进行升序排序的结果为 0、100、20。对 0、20 和 100 进行降序排序的结果为 20、100、0。
定义属性规则时,不要使用美元符号 $。
配置警报后,必须重新启动目录代理服务器才能使更改生效。
使用 DN 规则配置虚拟分层结构时,目录代理服务器有时无法基于虚拟 DN 解析搜索。例如,如果将虚拟 DN 配置为 uid=${entry.uid},cn=${entry.cn},dc=example,dc=com,则范围为 cn=some-cn ,dc=example,dc=com 搜索将失败。
如果配置了数字或词典数据分配,目录代理服务器无法重命名移动到其他数据视图的条目。
使用联接数据视图时,目录代理服务器不会采用构成该联接的视图中的数据分配算法。
要解决此问题,请在同时使用联接和数据分配时,在联接数据视图级别上配置数据分配。
如果从本地软件包安装软件,并且在安装时移动了本地软件包,则 dpadm autostart 命令将不起作用。
配置 JDBC 数据源后,必须重新启动目录代理服务器才能使更改生效。
设置 bind-dn 和 num-write-init 属性时,dpconf 命令错误地要求重新启动。
JDBC 数据视图中的条目不支持修改 RND 操作。
使用 dpconf delete-jdbc-object-class 命令后,必须重新启动目录代理服务器才能使更改生效。
在两个属性都已通过 JDBC 映射到同一数据库表列的情况下,目录代理服务器只检索其中一个属性。
访问未在配置中指定的 JDBC 属性时,目录代理服务器不正确地返回错误 32,指出没有此类对象。
无法通过 JDBC 数据视图执行一级搜索。
目录代理服务器不允许通过 LDAP 管理模式。
在 Windows 系统上,如果在安装目录服务器之后使用 dsee_deploy 命令安装目录代理服务器,该命令会返回错误,指出不应删除某些公用文件。
在主表中使用 filter-join-rule 属性时,目录代理服务器应忽略该属性。
在 Windows 系统上完成安装并创建服务器实例后,安装和服务器实例文件夹的文件权限允许所有用户进行访问。
要解决此问题,请更改安装和服务器实例文件夹上的权限。
通过目录代理服务器访问目录服务器时,Access Manager 在重新启动目录服务器后遇到与持久性搜索相关的缓存问题。
要解决此问题,请在重新启动目录服务器后重新启动 Access Manager 或目录代理服务器。
要进一步进行优化,可以增加 Access Manager 尝试次数以及尝试之间的延迟时间,以便重新建立持久性搜索连接。可以通过更改 AMConfig.properties 文件中的下列属性来增大这些参数。
增大 com.iplanet.am.event.connection.num.retries,该属性表示尝试次数。默认值为 3 次尝试。
增大 com.iplanet.am.event.connection.delay.between.retries,该属性表示两次尝试之间的延迟时间(以毫秒为单位)。默认值为 3000 毫秒。
使用目录服务控制中心创建自签名证书时,不要使用多字节字符作为证书名称。
目录服务控制中心不显示允许通过目录代理服务器的默认 LDAP 控件。
目录代理服务器不通过事务更新 JDBC 数据源。目录代理服务器按阶段执行操作。因此,即使对关系数据库执行的更新操作中有一部分失败,仍有一部分操作可能是成功的。
配置 JDBC 语法后,必须重新启动目录代理服务器才能使更改生效。
更改现有的排除子树或备用搜索基的 DN 时,目录服务控制中心会删除逗号。
更改数据视图的 base-dn 属性时,目录代理服务器不重新计算 alternate-search-base-dn 属性。
在 Windows 系统上,将目录代理服务器作为服务启用时,不要使用 dpadm cert-pwd-prompt=on 命令。
要在目录代理服务器和本地主机上的邮件用户之间启用电子邮件警报,请在启用电子邮件警报之前指定 email-alerts-message-from-address 属性。
$ dpconf set-server-prop email-alerts-message-from-address:admin@localhost |
增大目录代理服务器工作线程数可能会使服务器无法重新启动。此问题的表现方式是在服务器启动时显示 java.lang.OutOfMemoryError 错误。Java 虚拟机的可用内存不足而无法为所有工作线程分配空间时,将发生此问题。
要解决此问题,请使用 dpadm 命令允许服务器使用更多内存,或者使用 instance-path/config/conf.ldif.startok 替换服务器配置文件 instance-path/config/conf.ldif,以使用以前的配置设置。
首次启用或禁用非安全 LDAP 访问后,必须重新启动目录代理服务器才能使更改生效。
使用 split 的虚拟目录宏未正常工作。
时间限制和大小限制设置仅适用于 LDAP 数据源。
使用命令 dpadm set-flags cert-pwd-store=off 后,无法使用目录服务控制中心重新启动目录代理服务器。
将 dpadm 命令与 jvm-args 标志一起使用(以便为 Java 虚拟机分配额外的内存)时,即使内存分配失败,该命令仍返回退出状态 0。但命令行上将显示错误消息。
使用 dpadm 命令的 jvm-args 标志并重新启动服务器时,无法为 Java 虚拟机成功分配超过 2 GB 的内存。
要解决此问题,请使用 dpadm stop 和 dpadm start,而不要使用 dpadm restart。
在 dpadm start 命令中使用由 ASCII 和日语多字节字符组成的服务器实例名称时,该命令会失败。
在现有的连接处理程序上设置 data-view-routing-custom-list 属性时发生错误,因为数据视图名称中包含必须转义的字符(如逗号)。
要解决此问题,请不要使用包含必须转义的字符的数据视图名称。例如,不要使用包含 DN 的数据视图名称。
与以前的版本不同,如手册页 allowed-ldap-controls(5dpconf)中所述,目录代理服务器 在默认情况下不允许使用服务器端排序控件。
通过在允许的 LDAP 控件(由 allowed-ldap-controls 属性指定)列表中添加 server-side-sorting,可以使目录代理服务器支持服务器端排序控件。
$ dpconf set-server-prop \ allowed-ldap-controls:auth-request \ allowed-ldap-controls:chaining-loop-detection \ allowed-ldap-controls:manage-dsa \ allowed-ldap-controls:persistent-search \ allowed-ldap-controls:proxy-auth-v1 \ allowed-ldap-controls:proxy-auth-v2 \ allowed-ldap-controls:real-attributes-only \ allowed-ldap-controls:server-side-sorting |
请注意,必须重复现有设置。否则,将只允许服务器端排序控件。
请注意,使用目录代理服务器的 DN 重命名功能时,重复的 DN 部分将被重命名为一个替换部分。
例如,要将以 o=myCompany.com 结尾的 DN 重命名为以 dc=com 结尾。对于 DN 与原始部分重复的条目(如 uid=userid,ou=people,o=myCompany.com,o=myCompany.com),重命名后所生成的 DN 为 uid=userid,ou=people,dc=com,而不是 uid=userid,ou=people,o=myCompany.com,dc=com。
在德语和中文语言环境下使用时,目录服务控制中心无法创建新的目录代理服务器实例。dsccreg add-server 也无法注册目录代理服务器实例。
要在 Windows 系统上解决此问题,请在创建实例前切换到英语(美国)语言环境。
用于通过目录代理服务器访问 Oracle 9 的 JDBC 连接配置可能不像文档中所述的那样简便。
请考虑以下配置。您有一台在主机 myhost 的端口 1537 上侦听的 Oracle 9 服务器,其中包含系统标识符 (system identifier, SID) 为 MYINST 的实例。该实例具有数据库 MYNAME.MYTABLE。
通常,要配置对 MYTABLE 的访问,需要设置以下属性。
在 JDBC 数据源上,设置 db-name:MYINST。
在 JDBC 数据源上,设置 db-url:jdbc:oracle:thin:myhost:1537:。
在 JDBC 表中,设置 sql-table:MYNAME.MYTABLE。
如果以上设置不起作用,请尝试通过以下设置来配置对 MYTABLE 的访问。
在 JDBC 数据源上,设置 db-name:(CONNECT_DATA=(SERVICE_NAME=MYINST)))。
在 JDBC 数据源上,设置 db-url:jdbc:oracle:thin:@(DESCRIPTION= (ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=myhost)(PORT=1537)))。
在 JDBC 表中,设置 sql-table:MYNAME.MYTABLE。