我在Amazon AWS上运行MongoDB,直到有一天它用完了空间。然后,数据库完全无法访问,我试图关闭数据库。重新启动服务器并安装更大的磁盘后,无法启动MongoDB。 我试图修复数据库,错误如下所示:
Wed Aug 15 10:08:04 [initandlisten] MongoDB开始:pid = 1447 port = 27017 dbpath = / var / lib / mongodb / 32-bit
**注意:使用MongoDB 32位时,限制为大约2千兆字节的数据 **见http://blog.mongodb.org/post/137788967/32-bit-limitations **与--dur,限制较低
Wed Aug 15 10:08:04 [initandlisten] db version v1.8.3,pdfile version 4.5 8月15日星期三10:08:04 [initandlisten] git版本:c206d77e94bc3b65c76681df5a6b605f68a2de05 8月15日星期三10:08:04 [initandlisten]构建系统信息:Linux domU-12-31-39-01-70-B4 2.6.21.7-2.fc8xen#1 SMP Fri 2月15日12:39:36 EST 2008 i686 BOOST_LIB_VERSION = 1_37 8月15日星期三10:08:04 [initandlisten] ** 8月15日星期三10:08:04 [initandlisten] ** 8月15日星期三10:08:04 [initandlisten]需要使用pdfile版本559903.1345021735升级数据库md,新版本:4.5 8月15日星期三10:08:04 [initandlisten]开始升级 8月15日星期三10:08:04 [initandlisten] md repairDatabase md 8月15日星期三10:08:04 [initandlisten] md.system.namespaces断言失败isOk()db / pdfile.h 259 0x817c27b 0x819121e 0x83cf525 0x83d6bec 0x83f5420 0x82a4fb7 0x83f8680 0x83fcece 0x8401358 0x8401e29 0x8402abd 0x828f755 0x83b3d67 0x83b931c 0x83bb3df 0x81ce25f 0x81ae714 0x8380f31 0x83831ba 0x83d4faf mongod(_ZN5mongo12sayDbContextEPKc + 0xcb)[0x817c27b] mongod(_ZN5mongo8assertedEPKcS1_j + 0x12e)[0x819121e] mongod(_ZN5mongo11DataFileMgr7findAllEPKcRKNS_7DiskLocE + 0x7a5)[0x83cf525] mongod(_ZN5mongo13findTableScanEPKcRKNS_7BSONObjERKNS_7DiskLocE + 0x13c)[0x83d6bec] mongod(_ZNK5mongo9QueryPlan9newCursorERKNS_7DiskLocEi + 0x830)[0x83f5420] mongod(_ZN5mongo11UserQueryOp5_initEv + 0x437)[0x82a4fb7] mongod(_ZN5mongo12QueryPlanSet6Runner6initOpERNS_7QueryOpE + 0x110)[0x83f8680] mongod(_ZN5mongo12QueryPlanSet6Runner3runEv + 0x2ee)[0x83fcece] mongod(_ZN5mongo12QueryPlanSet5runOpERNS_7QueryOpE + 0x2e8)[0x8401358] mongod(_ZN5mongo16MultiPlanScanner9runOpOnceERNS_7QueryOpE + 0x59)[0x8401e29] mongod(_ZN5mongo16MultiPlanScanner5runOpERNS_7QueryOpE + 0x2d)[0x8402abd] mongod(_ZN5mongo8runQueryERNS_7MessageERNS_12QueryMessageERNS_5CurOpES1_ + 0x1575)[0x828f755] mongod()[0x83b3d67] mongod(_ZN5mongo16assembleResponseERNS_7MessageERNS_10DbResponseERKNS_8SockAddrE + 0x70c)[0x83b931c] mongod(_ZN5mongo14DBDirectClient4callERNS_7MessageES2_bPSs + 0x7f)[0x83bb3df] mongod(_ZN5mongo14DBClientCursor4initEv + 0x15f)[0x81ce25f] mongod(_ZN5mongo12DBClientBase5queryERKSsNS_5QueryEiiPKNS_7BSONObjEii + 0x2a4)[0x81ae714] mongod(_ZN5mongo6Cloner2goEPKcRSsRKSsbbbb + 0x451)[0x8380f31] mongod(_ZN5mongo9cloneFromEPKcRSsRKSsbbbb + 0x5a)[0x83831ba] mongod(_ZN5mongo14repairDatabaseESsRSsbb + 0x38f)[0x83d4faf] 8月15日星期三10:08:04 [initandlisten]断言0断言db / pdfile.h:259 ns:md.system.namespaces query:{} 8月15日星期三10:08:04 [initandlisten]断言:10290:错误的system.namespaces对象{$ err:“断言db / pdfile.h:259”} 0x819045e 0x8381181 0x83831ba 0x83d4faf 0x852a30c 0x852b217 0x852e733 0x852f59c 0x85366bb 0xb74a4ce7 0x810b551 mongod(_ZN5mongo11msgassertedEiPKc + 0x15e)[0x819045e] mongod(_ZN5mongo6Cloner2goEPKcRSsRKSsbbbb + 0x6a1)[0x8381181] mongod(_ZN5mongo9cloneFromEPKcRSsRKSsbbbb + 0x5a)[0x83831ba] mongod(_ZN5mongo14repairDatabaseESsRSsbb + 0x38f)[0x83d4faf] mongod(_ZN5mongo11doDBUpgradeERKSsSsPNS_14DataFileHeaderE + 0x6c)[0x852a30c] mongod()[0x852b217] mongod(_ZN5mongo14_initAndListenEiPKc + 0x4b3)[0x852e733] mongod( ZN5mongo13initAndListenEiPKc + 0x2c)[0x852f59c] mongod(主要是+ 0x6bdb)[0x85366bb] /lib/libc.so.6(_libc_start_main+0xe7)[0xb74a4ce7] mongod()[0x810b551] 8月15日星期三10:08:04 initAndListen中的[initandlisten]异常std :: exception:bad system.namespaces对象{$ err:“assertion db / pdfile.h:259”},终止 8月15日星期三10:08:04 dbexit: 8月15日星期三10:08:04 [initandlisten]关闭:关闭监听套接字...... 8月15日星期三10:08:04 [initandlisten]关闭:要刷新diaglog ... 8月15日星期三10:08:04 [initandlisten]关闭:关闭套接字...... 8月15日星期三10:08:04 [initandlisten] shutdown:等待fs preallocator ... 8月15日星期三10:08:04 [initandlisten]关闭:关闭所有文件... 8月15日星期三10:08:04 closeAllFiles()完成了 8月15日星期三10:08:04 [initandlisten]关闭:删除fs锁... 8月15日星期三10:08:04 dbexit:现在真的退出
我完全拥有所有* .number和* .ns文件。但似乎ns文件已损坏。我可以用任何方式修复数据库吗?
由于
答案 0 :(得分:1)
如果修复不起作用,那么很遗憾你不幸。
我假设您没有启用日记功能或任何备份。我强烈建议您在启用日记功能的情况下运行,并遵循其中一项备注策略here。 LVM快照易于实现,相当快速和可靠。
最好在64位系统上运行MongoDB。 32位将您限制为2gb of data。你说你“没空间了”?