无法在MongoDB中映射文件内存

Jus*_*tin 10 mongodb

托管我们的MongoDB实例的Windows Server 2003框用完了磁盘空间,Mongo开始生成错误:

无法映射文件内存.

向服务器添加额外的磁盘空间并重新启动MongoDB Windows服务后,对数据库的任何操作仍会生成"无法映射文件内存"错误.我尝试修复甚至它给出了同样的错误:

> db.repairDatabase(); {"assertion":"无法映射文件内存","assertionCode":10085,"errmsg":"db assertion failure","ok":0}

知道我可以做些什么来让我的数据库再次运行?

Jus*_*tin 9

停止服务,删除锁定文件,然后执行mongod --repair工作,即使db.repairDatabase没有.


Pet*_*son 6

贾斯汀的答案为我工作.

以下是Ubuntu的一些更详细的说明:

Stop Mongo Service: sudo service mongodb stop
Delete Lock File: sudo rm /var/lib/mongodb/mongod.lock
Repair the DB: sudo mongod --repair --dbpath=/var/lib/mongodb
Restart the Mongo Service: sudo service mongodb start
Run Code Online (Sandbox Code Playgroud)

希望能帮助别人.

(编辑 - 注意mongodb是服务名称,但是mongod是正确的修复命令)