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

使用傾印和載入程序回復行事曆資料庫

本小節包含以下主題:

傾印和載入概況

使用傾印和載入程序以嘗試復原已損毀的資料庫。傾印和載入程序使用 Berkeley 資料庫 db_dumpdb_load 公用程式,Calendar Server 在以下目錄中提供這些公用程式:


cal_svr_base/SUNWics5/cal/tools/unsupported/bin

db_dump 公用程式使用與 db_load 公用程式相容的格式,來讀取資料庫檔案並將資料庫項目寫入輸出檔案。

如需有關 db_dumpdb_load 公用程式的文件,請參閱 Sleepycat Software 網站:

http://www.sleepycat.com/docs/utility/index.html

使用 db_dumpdb_load 公用程式回復資料庫成功與否取決於資料庫的損毀程度。在成功地回復資料庫之前,您可能需要嘗試多個 db_dump 選項。但是,如果您的資料庫嚴重毀壞,回復也許是不可能的,您可能需要復原至資料庫的最後一個完好的緊急備份或歸檔檔案備份。


備註 –

在執行傾印和載入程序之前,行事曆資料庫必須為 Berkeley DB 3.2.9 版,或更高版本。如果您的版本是舊版,請首先執行 cs5migrate 公用程式以對您的行事曆資料庫進行升級。

如需 cs5migrate 的最新版本,請致電 Sun 技術支援。


Procedure執行傾印和載入程序

步驟
  1. 以執行 Calendar Server 的使用者與群組 (例如 icsusericsgroup) 身份登入,或以超級使用者 (root) 身份登入。

  2. 如有必要,請停止 Calendar Server。

  3. 使用公用程式 (例如 csbackup、Sun StorEdge Enterprise BackupTM 軟體或 Legato Networker®) 備份已毀壞的資料庫。

    如需更多資訊,請參閱第 17 章, 備份與復原 Calendar Server 資料

  4. 使用 db_dump 公用程式傾印每個已毀壞的資料庫檔案。

    資料庫檔案為 ics50calprops.db ics50journals.dbics50alarms.dbics50events.dbics50todos.dbics50gse.db

    請依次使用以下選項執行 db_dump,直到已回復資料庫 (或直到您確定無法回復資料庫) 為止:

    • No 選項,用於次要資料庫損毀。

    • -r 選項,用於中度資料庫損毀。

    • -R 選項,用於嚴重資料庫損毀。-R 選項從已毀壞的資料庫中傾印的資料要比 -r 選項多,包括部分已刪除的記錄。

      例如,配合執行 db_dump-r 選項:


      db_dump -r ics50events.db \> ics50events.db.txt
  5. 使用 db_load 公用程式將輸出檔案載入至新的資料庫檔案。

    例如:


    db_load new.ics50events.db < ics50events.db.txt

    如果 db_load 報告的鍵值或資料項目為奇數,請編輯 db_dump 輸出檔案,並移除奇數鍵值或資料項目。然後再次執行 db_load

  6. 對其他已毀壞的資料庫檔案重複前面的兩個步驟。

    亦即對其他已毀壞的資料庫檔案執行 db_dump

  7. 使用 csdb rebuild 指令重建回復的資料庫檔案,如重建已損毀的行事曆資料庫中所述。

    rebuild 完成後,請複查輸出檔案中的輸出。如果重建成功,rebuild.out 檔案中的最後一行應為:


    Calendar database has been rebuilt

    如果 csdb rebuild 指令未成功,請使用下一個 db_dump 選項 (-r-R) 傾印資料庫。

    如果 db_dump -R 選項無法回復已毀壞的資料庫,請與 Sun Microsystems 技術支援或銷售客戶代表連絡,以尋求援助。同時,您可能需要復原至您資料庫的最後一個完好備份。