Sun Java System Messaging Server 6 2005Q4 管理指南

常见问题和解决方案

本节列出了常见的邮件存储问题和解决方案:

Messenger Express 或 Communications Express 未装入邮件页面

如果用户无法装入任何 Messenger Express 页面或 Communications Express 邮件页面,则问题可能是数据压缩后被破坏。如果系统部署了过时的代理服务器,则有时可能会出现这种情况。要解决此问题,请尝试将 local.service.http.gzip.staticlocal.service.http.gzip.dynamic 设置为 0 以禁用数据压缩。如果这样能够解决问题,您可能需要更新代理服务器。

使用通配符模式的命令不起作用

某些 UNIX shell 可能需要用引号引起通配符参数,某些则不需要。例如,C shell 尝试将包含通配符(*、?)的参数扩展为文件,如果未找到任何匹配项,则将失败。这些模式匹配参数可能需要包含在引号中,以传递给命令(如 mboxutil)。

例如:

mboxutil -l -p user/usr44*

将在 Bourne shell 中运行,但在 tsch 和 C shell 中将失败。这些 shell 可能需要以下命令:

mboxutil -l -p "user/usr44*"

如果使用通配符模式的命令不起作用请验证是否需要为该 shell 的通配符使用引号。

未知/无效分区

如果用户邮箱被移动到刚创建的新分区并且尚未刷新或重新启动 Messaging Server,则用户将会从 Messenger Express 获得消息“未知/无效分区”。此问题仅在新分区中发生。如果现在向此新分区添加其他用户邮箱,则不必刷新/重新启动 Messaging Server。

用户邮箱目录问题

当邮件存储的损坏仅限于少数用户且没有对系统造成全局损坏时,将出现用户邮箱问题。以下指导建议了识别、分析和解决用户邮箱目录问题的进程:

  1. 查看日志文件、错误消息或用户观察到的任何异常性能。

  2. 要保存调试信息和历史记录,请将整个 store_root/mboxlist/ 用户目录复制到邮件存储以外的其他位置。

  3. 要查找可能导致问题的用户文件夹,请运行命令 reconstruct -r -n。如果使用 reconstruct 找不到该文件夹,则该文件夹可能不在 folder.db 中。

    如果使用 reconstruct -r -n 命令找不到该文件夹,使用 hashdir 命令以确定位置。有关 hashdir 的更多信息,请参见hashdir 实用程序,以及 《Sun Java System Messaging Server 6 2005Q4 Administration Reference》 的 "Messaging Server Command-line Utilities" 一章中的 hashdir 实用程序部分。

  4. 找到文件夹后,请检查文件、检查权限并验证正确的文件大小。

  5. 使用 reconstruct -r(不使用 -n 选项)重建邮箱。

  6. 如果 reconstruct 未检测到您观察到的问题,您可以使用 reconstruct -r -f 命令强制执行对邮件文件夹的重建。

  7. 如果文件夹不在 mboxlist 目录 (store_root/mboxlist) 中,而是在 partition 目录 (store_root/partition) 中,则可能存在全局不一致性。在此情况下,应运行 reconstruct -m 命令。

  8. 如果前面的步骤不起作用,可以删除 store.idx 文件并再次运行 reconstruct 命令。


    注意 – 注意 –

    如果确定是在 reconstruct 命令无法找到的文件中有问题,则应仅删除 store.idx 文件。


  9. 如果问题限制为有问题的邮件,则应将邮件文件复制到邮件存储以外的其他位置,并对 mailbox/ 目录运行命令 reconstruct -r

  10. 如果确定文件夹存在于磁盘(store_root/partition/ 目录)上,但是显然不在数据库(store_root/mboxlist/ 目录)中,则运行命令 reconstruct -m 以确保邮件存储的一致性。

有关 reconstruct 命令的更多信息,请参见修复邮箱和邮箱数据库

store 守护程序不启动

如果 stored 不启动,并显示以下错误消息:


# msg_svr_base/sbin/start-msg

msg_svr_base: 正在启动 STORE 守护进程...致命错误: 无法找到名称服务中的组

这表示找不到 local.servergid 中配置的 UNIX 组。Stored 和其他命令需要将其 gid 设置到该组。有时 local.servergid 定义的组可能会被无意删除。在此情况下,请创建已删除的组,将 inetuser 添加到该组,将 instance_root 及其文件的拥有权更改为 inetuser 和该组。