本节列出了在发布 目录服务器 11g 发行版 1 (11.1.1) 时发现的已知问题。
在执行导出、备份、存储或建立索引期间停止服务器时,目录服务器 出现故障。
一些 目录服务器 错误引用 Database Errors Guide,其并不存在。如果您无法理解未记录的严重错误消息的含义,请与 Oracle 支持部门联系。
从 LDIF 导入条目时,目录服务器 不能生成 createTimeStamp 和 modifyTimeStamp 属性。
LDIF 导入为提高速度而进行了优化。导入过程不会生成这些属性。要解决此问题,请添加而不是导入条目。另外,预处理 LDIF 以在导入前添加属性。
正在运行 stop-slapd 命令时,目录服务器 会挂起。
将属性的模式定义从多值变更为单值后,在该属性上实施修改替换操作被拒绝。
作出此类变更后若要防止潜在问题的出现,请执行以下步骤:
导出附加数据,无需复制(dsadm export -Q ...)。
从生成的 LDIF 文件重新导入数据。
请注意,如果生成的条目不再与模式相兼容,可能会跳过条目。
重新初始化拓朴中的另一个副本。
对目标后缀使用 SSL 客户端验证时,dsconf accord-repl-agmt 命令无法使复制协议的验证属性一致。
要解决此问题,请执行以下步骤将供应者证书存储在使用方的配置中。显示的命令示例基于同一主机的两个实例。
将证书导出到文件。
以下示例显示了符合为 /local/supplier 和 /local/consumer 中的服务器执行导出。
$ dsadm show-cert -F der -o /tmp/supplier-cert.txt \ /local/supplier defaultCert $ dsadm show-cert -F der -o /tmp/consumer-cert.txt \ /local/consumer defaultCert |
交换客户端证书和供应者证书。
以下示例显示了如何为 /local/supplier 和 /local/consumer 中服务器执行交换。
$ dsadm add-cert --ca /local/consumer supplierCert \ /tmp/supplier-cert.txt $ dsadm add-cert --ca /local/supplier consumerCert \ /tmp/consumer-cert.txt |
使用正确的 subjectDN 将 SSL 客户端条目添加到使用方,包括 usercertificate;binary 属性中的 supplierCert 证书。
将复制管理器 DN 添加到使用方。
$ dsconf set-suffix-prop suffix-dn repl-manager-bind-dn:entryDN |
更新 /local/consumer/alias/certmap.conf 中的规则。
使用 dsadm start 命令重新启动两台服务器。
目录服务控制中心 将值作为字符串来进行排序。因此,您在 目录服务控制中心 中 排序数值时,系统会将数值作为字符串来进行排序。
对 0、20 和 100 进行升序排时,所得到的列表为 0、100、20。 对 0、20 和 100 进行降序排时,所得到的列表为 20、100、0。
包含多字节字符的证书名在 dsadm show-cert instance-path valid-multibyte-cert-name 命令的输出中显示为点。
目录服务器 不能正确地解析包含换码引号或单个换码逗号的 ACI 目标 DN。以下修改示例导致语法错误。
dn:o=mary\"red\"doe,o=example.com changetype:modify add:aci aci:(target="ldap:///o=mary\"red\"doe,o=example.com") (targetattr="*")(version 3.0; acl "testQuotes"; allow (all) userdn ="ldap:///self";)
dn:o=Example Company\, Inc.,dc=example,dc=com changetype:modify add:aci aci:(target="ldap:///o=Example Company\, Inc.,dc=example,dc=com") (targetattr="*")(version 3.0; acl "testComma"; allow (all) userdn ="ldap:///self";)
但是,在具有多个已换码逗号的情况下,已证实可以正确地进行解析。
在 Windows 中,SASL 验证因以下两个原因失败:
使用了 SASL 加密。
要解决 SASL 加密导致的问题,请停止服务器,编辑 dse.ldif,然后将 SASL 重置为以下设置。
dn: cn=SASL, cn=security, cn=config dssaslminssf: 0 dssaslmaxssf: 0 |
安装使用本地软件包完成。
要解决本地软件包安装导致的问题,请将 SASL_PATH 设置为 install-dir\share\lib。
目录服务控制中心 不能正确地显示 userCertificate 二进制值。
设置了 passwordRootdnMayBypassModsCheck 配置属性后,无法从该配置属性的名称明确判断服务器现在是否允许任何管理员在修改其他用户的密码时规避密码语法检查。
在 Windows 中,dsadm 和 dpadm 命令的输出以及帮助消息未本地化为简体中文和繁体中文。
尽管 目录服务控制中心 允许您复制现有服务器的配置,其并不允许您复制插件的配置。
在 Windows 系统中,dsconf 命令无法导入 LDIF 文件名中具有双字节字符的 LDIF。
要解决此问题,请更改 LDIF 文件名,使其不包含双字节字符。
目录服务控制中心 和 dsconf 命令都不允许您配置 目录服务器 处理无效差价签名的方式。默认行为是验证插件签名,但并不是要求它们有效。目录服务器 会针对无效签名记录警告。
要更改服务器行为,请调整 cn=config 上的 ds-require-valid-plugin-signature 和 ds-verify-valid-plugin-signature 属性。可以将两个属性设置为 on 或 off。
目录服务控制中心 不允许您浏览配置为返回对其他后缀引用的后缀。
完成安装并在 Windows 系统上创建了服务器实例后, 系统将允许所有用户对安装和服务器实例文件夹具有 文件访问权限。
要解决此问题,请更改对安装和服务器实例文件夹的 权限。
对于 HP-UX 平台,无法从命令行访问以下各节的 Directory Server Enterprise Edition 手册页:
man5dpconf.
man5dsat.
man5dsconf.
man5dsoc.
man5dssd.
如要解决此问题,请访问手册页网址 《Oracle Fusion Middleware Man Page Reference for Oracle Directory Server Enterprise Edition 》。 从该位置中,您可以下载所有 Directory Server Enterprise Edition 手册页的 PDF 格式文件。
尝试输入无效 CoS 模板导致 Directory Server 6 版本出现故障。
使用 目录服务控制中心 通过 Internet Explorer 6 为 目录服务器 启用引用模式时,确认引用模式窗口中的文本被截断。
要解决此问题,请使用其他浏览器,例如 Mozilla Web 浏览器。
升级副本并将服务器移动到新系统后,您必须重新创建复制协议才能使用更新主机名。目录服务控制中心 使您可以删除现有复制协议,但不允许您创建新协议。
在 Red Hat 系统中,dsadm autostart 命令不总是确保服务器实例在引导时启动。
dsconf 命令在配置 DSML 时不提示输入相应的 dsSearchBaseDN。
在 Windows 系统中,目录服务器 在实例的基名为 ds 时无法启动。
dsconf help-properties 命令设置为仅在创建实例后正常发挥作用。此外,dsml-client-auth-mode 命令值的正确列表应为 client-cert-first | http-basic-only | client-cert-only。
在本地修补程序传送中,用于为过滤访问日志选择日期的小型日历在繁体中文版本中未正确地本地化。
在自定义模式下建立索引时,DSCC 未完全传播 all-ids-threshold 的后缀级别更改。
dsccmon、dsccreg、dsccsetup 和 dsccrepair 命令显示的部分输出未被本地化。
更改系统的语言环境并启动 DSCC 不会以您选择的语言环境显示弹出窗口消息。
在 Solaris 10 中,对其 DN 在英语和日语语言环境中具有多字节字符的实例进行密码验证失败。
如果 ns-slapd 进程是使用 rsh 远程启动的,则 Java Enterprise System Monitoring Framework 不能成功地找到 目录服务器 的实例。
在 HP-UX 系统中,通过 gdb 进行调查后,使用 NSPR 库的应用程序会出现故障并进行信息转储。将 gdb 连接到正在运行的 目录服务器 实例,然后使用 gdb quit 命令时,会出现该问题。
在使用 Internet Explorer 时,单击浏览 DSCC 联机帮助不会显示联机帮助。
Directory Server 插件 API 包括 slapi_value_init()()、slapi_value_init_string()() 和 slapi_value_init_berval() () 函数。
这些函数都需要“完成”的函数释放内部元素。但是,公共 API 缺少 slapi_value_done()() 函数。
使用 目录服务控制中心 修改密码策略时,可能会无意间重置尚未更改的属性。
使用 目录服务控制中心 管理默认密码策略不会导致任何错误。但是,使用 目录服务控制中心 管理专用密码策略会导致未更改的属性被重置。
在 Solaris 10 中使用服务管理工具 (SMF) 启用服务器实例时,该实例在您重新启动系统时可能不会启动,并返回以下错误:
svcadm: Instance "svc:/instance_path" is in maintenance state. |
如要解决此问题,请使用本地用户创建 Directory Server 和 Directory Proxy Server 服务器(即在机器上进行本地定义的用户而非 NIS 用户。)
在 HP-UX 中,dsadm 和 dpadm 命令可能找不到 libicudata.sl.3 共享库。
此问题的解决方法是,设置 SHLIB_PATH 变量。
env SHLIB_PATH=${INSTALL_DIR}/dsee6/private/lib dsadm |
在重新引导系统时,dsadm autostart 会使本地 LDAP 验证失败。
解决方法是,以相反的顺序排序重新引导脚本。默认顺序为 /etc/rc2.d/S71ldap.client 和 /etc/rc2.d/S72dsee_directory。
在 Solaris 9 和 Windows 中,从控制台访问使用 Web 归档文件 (WAR) 配置的联机帮助时,系统会显示错误。
如果使用 DSCC 在已复制后缀的服务器上修改端口号,则设置服务器之间的复制协议时会出现问题。
对于在 DSCC 中注册为侦听所有接口 (0.0.0.0) 的服务器,尝试使用 dsconf 修改服务器的侦听地址会产生 DSCC 错误。
要仅使用 SSL 端口并通过 Directory Server Enterprise Edition 设置 secure-listen-address,请使用以下解决方法:
从 DSCC 取消注册服务器:
dsccreg remove-server /local/myserver |
禁用 LDAP 端口:
dsconf set-server-prop ldap-port:disabled |
设置 secure-listen-address:
$ dsconf set-server-prop secure-listen-address:IPaddress |
$ dsadm restart /local/myserver |
使用 DSCC 注册服务器。在“注册服务器”向导中,指定服务器的 IP 地址。此操作无法撤消。
目录服务控制中心 和 6.1 或更高版本中的 dsadm 命令不显示在 6.0 版本中使用 dsadm 命令创建的 目录服务器 实例的内置 CA 证书。
要解决此问题,请执行以下步骤:
使用 64 位版本的 modutil 添加 64 位模块:
$ /usr/sfw/bin/64/modutil -add "Root Certs 64bit" \ -libfile /usr/lib/mps/64/libnssckbi.so -nocertdb \ -dbdir /instance-path/alias -dbprefix slapd- -secmod secmod.db |
dsadm show-*-log l 命令的输出不包括更正行。它包括上一轮转日志的最后几行。
如果日志中的部分行包含 1024 个以上的字符,则 dsadm show-*-log 命令的输出不正确。
部署 WAR 文件后,“查看拓扑”按钮不总是起作用。有时出现 Java 异常,其基于 org.apache.jsp.jsp.ReplicationTopology_jsp._jspService
在韩文语言环境的 Windows 中,ns-slapd 无法启动时,dsadm start 命令不能显示 nsslapd 错误日志。
更改或删除 目录服务控制中心 中“索引”选项卡下“其他索引”表中的属性,会导致显示过时的信息,直到刷新浏览器。
在 UNIX 系统中,尝试使用 dsconf set-log-prop 或 DSCC 更改任何尚不存在日志文件的路径会失败。
Microsoft Windows 中网络驱动器的规范是区分大小写的。因此,例如重新启动主帮助集后,在 DSEE 管理命令中同时使用 C:/ 和 c:/ 会导致复制失败。解决方法是,使用 dsconf accord-repl-agmt 命令更正复制协议。
Microsoft Windows 中网络驱动器的规范是区分大小写的。因此,例如在 DSEE 管理命令中同时使用 C:/ 和 c:/ 会产生各种错误消息,例如以下消息:
WARNING<4227> - Plugins - conn=-1 op=-1 msgId=-1 - Detected plugin paths from another install, using current install |
要避免这些警告,请确保全部使用 C:/。
DSCC 中的联机帮助可能链接到未知网页。特别是,某些向导菜单可能建议以下内容:
For more information about data source configuration, see the "Oracle Directory Server Enterprise Edition Reference." |
选择 Directory Server Enterprise Edition 参考文档的链接会产生错误消息。
要解决此问题,请使用第三个鼠标按钮选择链接,然后从弹出菜单中选择“在新窗口中打开链接”命令。选定的文档即会显示在新的浏览器窗口中。
无法在 Solaris 9 的 CACAO 中注册 DSCC 代理。如果系统中缺少 SUNWxcu4 软件包,则命令 DSE _HOME/dscc6/bin/dsccsetup cacao-reg 会失败,并出现错误无法配置 Cacao。
要修复此问题,请在您的系统上安装缺少的 SUNWxcu4 软件包。
-f 选项无法与 ldapcompare 命令一起发挥作用。
在 Windows 中,CLI 显示垃圾字符。
DSCC 不支持主机同义词。复制 DSCC 后缀时,复制协议中的主机名必须与 DSCC 注册表中的主机名匹配。
当日志根据 rotation-time 或 rotation-interval 进行轮换时,轮换发生的准确时间取决于若干变量,包括以下内容:
rotation-time、rotation-interval 、rotation-now 和 rotation-size 属性的值。
内务处理线程的调度
满足轮换条件时日志文件的有效大小
因此,被轮换日志文件(例如 access.timestamp)中的timestamp 可以保证。
如果正在运行 dsmig 命令的用户没有目标 Directory Server 实例,则该命令会失败,因为其没有足够的权限来生成和访问迁移文件。
如果 dsmig 命令由拥有目标 Directory Server 且至少具有对源 Directory Server 的读取权限的用户运行,则该命令会成功运行。如果不符合这些条件,请通过导出数据库并将其导入至新的 Directory Server 来执行迁移。
hosts_access 的手册页错误地指明 IPv6 在 Windows 系统上不受支持。
某些调试消息和错误 Error #20502 在数据库检查点操作期间出现严重故障,err=2 (无此文件或目录),有时会在导入处理开始前被记录。可以忽略这些消息,因为它们指的是将被删除的旧后缀数据。
如果在服务器实例上将空闲超时设置为非常小的值,例如 2s,DSCC 可能显示衔接错误并阻止需要较长时间完成的一些操作(例如轮转日志)。请确保将空闲超时至少设置为 10s 或 20s,并根据您的网络延迟调整空闲超时。
运行 dsadm show-access-log 或 dsadm show-error-log 命令时,如果当日志轮换正在进行中时发起命令,则服务有时会崩溃。
在 Windows 系统上,运行 dsccsetup dismantle 命令不会完全删除 CACAO Windows 服务。
解决方法: 在运行完 dsccsetup dismantle 命令后,卸载 Directory Server Enterprise Edition 之前请运行 cacaoadm prepare-uninstall 。这将删除 CACAO Windows 服务。
全新的 符合 RFC 4511 的副作用是,使用多值属性时部分搜索可能比 目录服务器 的早期版本要慢。要减轻这一问题,请将 compat-flag 设置为 no-rfc4511 或在模式中声明用户属性为 SINGLE-VALUE。
dsconf help-properties 命令反转部分复制属性的说明。以下输出:
repl-fractional-exclude-attr ... Replicate only the specified set of attributes repl-fractional-include-attr ... Do not replicate the specified set of attributes |
应当为如下所示:
repl-fractional-exclude-attr ... Do not replicate the specified set of attributes repl-fractional-include-attr ... Replicate only the specified set of attributes |