问题描述:
用户将Domino升级完成之后,当用户试图访问server上的邮箱库时,碰到错误信息“数据库已损坏,无法分配空间”

解答:

这个错误信息通常意味着数据库损坏,在这种情况下,我们通常要用Fixup/Compact/Updall这几个命令来尝试修复数据库。

1.load fixup -f (这样的参数会强制Fixup检查数据库中的所有文档)

2.load compact -i -c -d -K(分别代表了忽略错误、拷贝样式的压缩、删除视图索引、设置较大的UNK表格)

3.load updall -R(重建所有已使用的视图)

提醒:这几个修复命令既可以在服务器运行时在控制台上运行,对数据库做动态的修复,也可以在服务器停机的时候,对数据库做离线的修复。通常单个或者少量数据库的修复可以在服务器运行的情况下,通过动态修复去进行,如果是服务器迁移或者升级之后担心大量数据库损坏导致服务器运行异常,建议在启动服务器之前,通过离线修复彻底对所有数据库进行检查之后,再启动服务器。

动态修复是在服务器启动的状态下,在服务器控制台上对数据库做下面的修复操作。如果您的数据库比较大,这些操作会花费一定的时间,等一个命令执行完了之后再做下一个。
 
注意:拷贝式压缩的方式要求数据库在关闭的状态。这里的mail\db.nsf对应要修复数据库的目录和名称,您可以根据实际情况修改。

load fixup -f mail\db.nsf

load updall -R mail\db.nsf

load compact -i -c -d -K mail\db.nsf

离线修复---是把服务器停下来之后,打开一个CMD命令行窗口,进入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