看mongodb.log日誌,發現日誌裡有以下語句:

來源:互聯網
上載者:User

看mongodb.log日誌,發現日誌裡有以下語句:
..............
Mon Mar  317:46:37 [conn148] Assertion: 10295:getFile(): bad file number value (corrupt db?): run repair
..............
翻譯 為: 聲明: getFile():錯誤的檔案數值(損壞的資料庫?):運行修複

查了查mongodb的文檔,遂用以下方法進程修複:

首先停止mongod服務,刪除 mongodb.log,也可以備份一下
# rm -rf  /data/mongodb/mongodb.log

刪除mongodb進程檔案
# rm -rf  /mongodb/mongod.lock

進行修複
# /usr/local/mongodb/bin/mongod --repair --dbpath /mongodb/ --repairpath /mongodb/repair/

這時mongodb進程會在/mongodb/repair/ 目錄下儲存臨時的修複資料庫檔案,檔案目錄為“$tmp_repairDatabase_0”所以此目錄空間要足夠大。
生產環境資料庫為100G,修複進行了大約3個半小時,在“/mongodb/repair/$tmp_repairDatabase_0"目錄下產生了近30G的資料庫臨時檔案,修複完成後資料庫臨時檔案自動清除。

之後開啟mongod服務,檢查資料庫,發現讀寫正常,mongodb.log沒有出現錯誤。修複OK!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.