即時資料庫被毀壞時,應首先選擇緊急備份。若要復原緊急備份,請執行以下步驟:
識別所有未套用的或開啟以備在已損毀的即時資料庫目錄中寫入的記錄檔。
關閉開啟以備寫入的記錄。它包含最新作業事件。
建立新的 (回復) 目錄。
將目前的緊急備份副本複製到新的回復資料庫目錄中。
將已毀壞的即時資料庫目錄中的 log.* 檔案複製到新的回復資料庫目錄中。
如果您保留了資料庫的歸檔檔案副本,請將尚未套用於即時資料庫的記錄複製到歸檔檔案目錄,這樣您的歸檔檔案備份副本就完整了。
配合執行 db_recover 與針對新的回復資料庫指定的 -c -h 選項。
例如,如果新的回復目錄名為 recoverydb,則指令將如下所示:
db_recover -c -h recoverydb
將 log.* 檔案保留在新的回復目錄中。
db_recover 程式將記錄檔套用於新的回復資料庫,但是從 4.2 版開始,Berkeley DB 要求保留這些記錄檔。
對新的回復目錄中的資料庫檔案執行 db_verify。
如需說明,請參閱檢查行事曆資料庫是否損毀。
對新的回復目錄執行 csdb -v list。
如果新的回復目錄通過了前面所有三個回復步驟,請用新的回復資料庫替代舊的已損毀的即時資料庫。
將新的即時資料庫複製到緊急備份目錄中,以做為新的快照執行。
在拍攝下個常規快照之前,所有新記錄將被套用於此副本。
啟動 CalendarServer。
如果新的回復目錄在任何一個步驟中失敗,請按照如下說明識別未毀壞的更舊的緊急備份: