資料庫損壞解決:資料庫已損壞,無法分配空間

量子物理學發表於2016-06-29
問題描述:
使用者將Domino升級完成之後,當使用者試圖訪問server上的郵箱庫時,碰到錯誤資訊“資料庫已損壞,無法分配空間”

解答:
這個錯誤資訊通常意味著資料庫損壞,在這種情況下,我們通常要用Fixup/Compact/Updall這幾個命令來嘗試修復資料庫。
1.fixup -f (這樣的引數會強制Fixup檢查資料庫中的所有文件)
2.compact -i -c -d -K(分別代表了忽略錯誤、拷貝樣式的壓縮、刪除檢視索引、設定較大的UNK表格)
3.updall -R(重建所有已使用的檢視)

提醒:這幾個修復命令既可以在伺服器執行時在控制檯上執行,對資料庫做動態的修復,也可以在伺服器停機的時候,對資料庫做離線的修復。通常單個或者少量資料庫的修復可以在伺服器執行的情況下,通過動態修復去進行,如果是伺服器遷移或者升級之後擔心大量資料庫損壞導致伺服器執行異常,建議在啟動伺服器之前,通過離線修復徹底對所有資料庫進行檢查之後,再啟動伺服器。

動態修復是在伺服器啟動的狀態下,在伺服器控制檯上對資料庫做下面的修復操作。如果您的資料庫比較大,這些操作會花費一定的時間,等一個命令執行完了之後再做下一個。注意拷貝式壓縮的方式要求資料庫在關閉的狀態。

load fixup -f mail\db.nsf 這裡的mail\db.nsf對應要修復資料庫的目錄和名稱,您可以根據實際情況修改。
load updall -R mail\db.nsf 
load compact -i -c -d -K mail\db.nsf 

離線修復是把伺服器停下來之後,開啟一個命令列視窗,進入domino的資料目錄。以Windows為例,執行nfixup -f mail\db.nsf(資料庫的全路徑),按照同樣的方式去執行下面的兩個命令。這些操作可能會花費一些時間,耐心等都結束了之後再去啟動伺服器。
ncompact -i -c -d -K mail\db.nsf
nupdall -R mail\db.nsf

注意:對於Unix作業系統,執行的命令為:
fixup -f mail\db.nsf
compact -i -c -d -K mail\db.nsf
updall -R mail\db.nsf

相關文章