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 指令行公用程式」一章的 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 指令的更多資訊,請參閱修復電子信箱和電子信箱資料庫

儲存常駐程式無法啟動

如果 stored 無法啟動,並傳回以下錯誤訊息:


# msg_svr_base/sbin/start-msg

msg_svr_base: Starting STORE daemon ...Fatal error: Cannot
find group in name service

這表示系統找不到 local.servergid 中配置的 UNIX 群組。Stored 及其他常駐程式需要將它們的 GID 設定為該群組。有時,由 local.servergid 定義的群組會被意外刪除。在這種情況下,就必須重建被刪除的群組,將 inetuser 加入群組,然後將 instance_root 及其檔案的所有權改授予 inetuser 和該群組。