在数据库服务器异常关机的情况下,可能会导致数据库坏掉(异常关闭导致数据文件未能整理,重启后文件模块异常,会报告磁盘已满),其实这只是碎片问题。
可以用db.repairDatabase() 来整理数据库,这个过程非常的慢,而且可能会导致数据真的坏掉了。如果没有备份,那么,就真无解了。
所以我们通常会先将数据文件打包为ZIP。
接下来才是repaire的过程,不过再次需注意,db.repairDatabase() 需要先指定数据库。
也会存在数据库版本过低的情况,不支持repairDatabase方法。
在Windows平台下同样会出现此类问题。
我们需要在启动数据库时添加参数 --repair 。