如果您沒有未損毀的緊急備份,但有歸檔檔案備份及其作業事件記錄,則可以透過執行以下步驟復原已歸檔資料庫的最新未損毀版本:
識別所有未套用的或開啟以備在已損毀的即時資料庫目錄中寫入的記錄檔。
關閉開啟以備寫入的記錄。它包含最新作業事件。
建立新的 (回復) 目錄。
將最新的歸檔檔案副本及其記錄檔複製到新的回復資料庫目錄。
將已毀壞的即時資料庫目錄中的任何未套用的 log.* 檔案複製到新的回復資料庫目錄中。
配合執行 db_recover 與針對新的回復資料庫指定的 -c -h 選項。
例如,如果新的回復目錄名為 recoverydb,則指令將如下所示:
db_recover -c -h recoverydb
將 log.* 檔案保留在新的回復目錄中。
db_recover 程式將記錄檔套用於新的回復資料庫,但是從 4.2 版開始,Berkeley DB 要求仍舊將這些記錄檔保留在此處。
對新的回復目錄中的資料庫檔案執行 db_verify。
如需說明,請參閱檢查行事曆資料庫是否損毀。
對新的回復目錄執行 csdb -v list。
如果新的回復目錄通過了前面所有三個回復步驟,請用新的回復資料庫替代舊的已損毀的即時資料庫。
將新的即時資料庫複製到緊急備份目錄中,以作為新的快照執行。
啟動 CalendarServer。
如果新的回復目錄在任何一個步驟中失敗,請按照如下說明識別未損毀的更舊的歸檔檔案備份:
向後執行歸檔檔案備份副本,透過依次對每一個歸檔檔案備份副本執行以下三個回復程式以尋找未損毀的最新副本:db_recover -c-h、db_verify 和 csdb -v list。
通過的第一個歸檔檔案副本可以被復原至即時資料庫目錄。
使用未使用的歸檔檔案備份替代已毀壞的即時資料庫,如復原歸檔檔案備份中所述。
如果您的歸檔檔案備份都不可用,請致電技術支援。