<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

MongoDB數據恢復—MongoDB數據庫文件損壞的數據恢復案例

Frombyte ? 來源:Frombyte ? 作者:Frombyte ? 2024-04-23 14:48 ? 次閱讀

服務器數據恢復環境:
一臺Windows Server操作系統服務器,服務器上部署MongoDB數據庫。

MongoDB數據庫故障&檢測
工作人員在未關閉MongoDB數據庫服務的情況下,將數據庫文件拷貝到其他分區??截愅瓿珊髮⒃璏ongoDB數據庫所在分區進行了格式化操作,然后將數據庫文件拷回原分區,重新啟動MongoDB服務,服務無法啟動。報錯如下:

poYBAGQ-Pg6AWHFxAAJ9VHkTNrk678.png

北亞企安數據恢復——MongoDB數據恢復



Tips:在MongoDB服務沒有關閉的情況下,直接拷貝MongoDB數據庫文件會導致mongod.lock文件以及WiredTiger.lock文件拷貝出錯。這種情況下只要在拷貝出的文件中刪除這兩個文件,重新啟動MongoDB服務后MongoDB會自動重新生成這2個文件。
對工作人員拷貝出的文件進行檢測后發現,拷貝出的數據庫文件中沒有發現_mdb_catalog.wt文件。
Tips:_mdb_catalog.wt文件里存儲了MongoDB數據庫中所有集合的元數據,MongoDB數據庫啟動時需要從_mdb_catalog.wt文件中讀取相關信息。_mdb_catalog.wt文件丟失會導致MongoDB數據庫無法獲取數據庫中集合對應的名字、集合的創建選項、集合的索引信息等元數據,MongoDB數據庫無法啟動。

MongoDB數據庫數據恢復過程:
1、將服務器中所有磁盤編號后取出,初步檢測后沒有發現明顯的硬件故障,都可以正常讀取。以只讀方式將所有磁盤進行扇區級全盤鏡像,鏡像完成后將所有詞磁盤按照編號還原到原服務器中,后續的數據分析和數據恢復操作都基于鏡像文件進行,避免對原磁盤數據造成二次破壞。
2、嘗試從文件系統層面恢復_mdb_catalog.wt文件。掃描數據庫分區并沒有發現_mdb_catalog.wt文件相關信息。根據MongoDB數據庫中數據文件的特征值掃描MongoDB數據庫所在分區,也沒有發現和_mdb_catalog.wt相關的數據區域。這種情況下可以判斷_mdb_catalog.wt文件已經被徹底破壞,無法恢復。
3、嘗試從數據庫層面恢復數據。
本案例中部署的MongoDB數據庫是基于WT存儲引擎的數據庫系統,可以使用WT實用工具包提取數據庫中的數據。
a、下載WT實用工具包,在windows環境下編譯出可執行的wt工具。

poYBAGQ-Ph-AMmzIAAC7iEG0z_I132.png

北亞企安數據恢復——MongoDB數據恢復



b、使用編譯出來的wt工具清洗MongoDB數據庫的集合文件中的數據。清洗完成后,讀取文件中的數據并寫入到一個dump文件中。
c、將MongoDB數據庫的各個集合文件中的全部可用數據提取出來。
d、重新創建一個MongoDB數據庫,根據提取出的集合文件創建對應數量的空集合。使用wt工具將提取出來的dump文件一一寫入到新創建的空集合中。
e、通過查詢集合中的數據,確認這些集合與元數據庫中集合的對應關系。修改集合名稱,重建索引信息。
通過查詢集合中的記錄,確定記錄類型,從而確定fs.files和fs.chunks集合的位置。修改這兩個集合名稱為xxx.files和xxx.chunks后,重建集合索引,集合恢復完成,可以正常查看其中數據:

poYBAGQ-PimASfrhAAD_HobNY0g256.png

北亞企安數據恢復——MongoDB數據恢復

pYYBAGQ-PimAFxmBAAFG3HpaTRk463.png

北亞企安數據恢復——MongoDB數據恢復


MongoDB數據庫數據驗證:
將全部集合進行索引重建后,由用戶方對MongoDB數據庫進行查詢驗證,經過驗證用戶方確認數據無誤,認可數據恢復結果。本次數據恢復工作完成。

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據恢復
    +關注

    關注

    10

    文章

    417

    瀏覽量

    16881
  • 數據庫
    +關注

    關注

    7

    文章

    3591

    瀏覽量

    63369
  • mongodb
    +關注

    關注

    0

    文章

    21

    瀏覽量

    331
收藏 人收藏

    評論

    相關推薦

    數據庫數據恢復—Sql Server數據庫文件丟失的數據恢復案例

    。存儲空間LUN劃分了兩個邏輯分區。 服務器故障&初檢: 由于未知原因,Sql Server數據庫文件丟失,丟失數據涉及到3個庫,表的數量有3000左右。數據庫文件丟失原因還沒有查清
    的頭像 發表于 04-11 15:38 ?170次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b><b class='flag-5'>恢復</b>—Sql Server<b class='flag-5'>數據庫文件</b>丟失的<b class='flag-5'>數據</b><b class='flag-5'>恢復</b>案例

    MySQL數據庫是如何應對故障恢復數據恢復回滾的問題呢?

    今天這篇文章,我想聊一聊MySQL數據庫是如何應對故障恢復,與數據恢復回滾的問題。一個最基本的數據庫,應當可以做到以下幾點
    的頭像 發表于 11-27 10:04 ?374次閱讀
    MySQL<b class='flag-5'>數據庫</b>是如何應對故障<b class='flag-5'>恢復</b>與<b class='flag-5'>數據</b><b class='flag-5'>恢復</b>回滾的問題呢?

    數據庫數據恢復MongoDB數據庫服務無法啟動并報錯數據恢復案例

    一臺Windows Server操作系統的虛擬機,虛擬機上部署有MongoDB數據庫。
    的頭像 發表于 11-22 14:48 ?282次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b><b class='flag-5'>恢復</b>—<b class='flag-5'>MongoDB</b><b class='flag-5'>數據庫</b>服務無法啟動并報錯<b class='flag-5'>數據</b><b class='flag-5'>恢復</b>案例

    navicat怎么導出數據庫文件

    導出數據庫文件數據庫管理中的一個重要操作,而Navicat是一款流行的數據庫管理工具,具有強大的導出功能。在本文中,我將詳細介紹如何使用Navicat導出數據庫文件,并在步驟中提供所
    的頭像 發表于 11-21 10:53 ?3925次閱讀

    數據庫數據恢復——MongoDB數據庫介紹和數據恢復案例

    MongoDB數據庫是文檔數據存儲庫,將文檔存儲在集合之中,不是像MySQL一樣的關系型數據庫。
    的頭像 發表于 11-08 15:04 ?464次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b><b class='flag-5'>恢復</b>——<b class='flag-5'>MongoDB</b><b class='flag-5'>數據庫</b>介紹和<b class='flag-5'>數據</b><b class='flag-5'>恢復</b>案例

    如何在HarmonyOS對數據庫進行備份,恢復與加密

    出現問題,開發者可以使用恢復功能,將數據庫恢復到之前的狀態,重新對數據庫進行操作。 在數據庫被篡改、刪除、或者設備斷電場景下,
    發表于 11-07 08:57

    數據庫數據恢復-數據庫文件被刪除/分區被格式化的SQL SERVER數據恢復方案

    數據庫數據恢復-數據庫文件被刪除/分區被格式化的SQL SERVER數據恢復方案
    的頭像 發表于 09-21 14:34 ?466次閱讀

    數據庫數據恢復-Oracle ASM故障數據恢復案例

    數據庫數據恢復環境: Oracle數據庫ASM磁盤組有4塊成員盤。 數據庫故障&分析: Oracle
    的頭像 發表于 08-11 15:27 ?877次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b><b class='flag-5'>恢復</b>-Oracle ASM故障<b class='flag-5'>數據</b><b class='flag-5'>恢復</b>案例

    數據庫數據恢復-Oracle數據庫文件損壞數據恢復案例

    打開Oracle數據庫時報錯,報錯信息:“system01.dbf需要更多的恢復來保持一致性,數據庫無法打開”。用戶急需恢復zxfg用戶下的數據
    的頭像 發表于 08-03 15:10 ?418次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b><b class='flag-5'>恢復</b>-Oracle<b class='flag-5'>數據庫文件</b>塊<b class='flag-5'>損壞</b>的<b class='flag-5'>數據</b><b class='flag-5'>恢復</b>案例

    數據庫數據恢復-Syabse數據庫數據恢復案例

    數據庫恢復環境: Sybase版本:SQL Anywhere 8.0。 數據庫故障: 數據庫所在的設備意外斷電后,數據庫無法啟動。
    的頭像 發表于 07-28 14:38 ?653次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b><b class='flag-5'>恢復</b>-Syabse<b class='flag-5'>數據庫</b><b class='flag-5'>數據</b><b class='flag-5'>恢復</b>案例

    數據庫數據恢復-oracle數據庫常見故障及數據恢復分析

    作為存儲和處理數據的系統,oracle數據庫在使用過程中不可避免會出現各種導致數據丟失和數據損壞的故障。北亞企安
    的頭像 發表于 07-27 15:01 ?445次閱讀

    數據庫數據恢復-Oracle數據庫文件出現壞塊的數據恢復案例

    打開oracle數據庫報錯:“system01.dbf需要更多的恢復來保持一致性,數據庫無法打開”。 北亞企安數據恢復工程師檢測
    的頭像 發表于 07-18 15:10 ?426次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b><b class='flag-5'>恢復</b>-Oracle<b class='flag-5'>數據庫文件</b>出現壞塊的<b class='flag-5'>數據</b><b class='flag-5'>恢復</b>案例

    PetaExpress云數據庫 MongoDB(mongodb數據庫)優勢

    MongoDB數據模型是針對文檔的。所謂文檔是一種類似JSON的結構??梢院唵卫斫?,MongoDB存儲在數據庫中的各種JSON,在MongoDB
    的頭像 發表于 07-14 10:06 ?322次閱讀

    SQL Server數據庫文件丟失的數據恢復案例

    未知原因導致Sql Server數據庫文件丟失,涉及到數個數據庫和數千張表,不能確定數據存儲位置。數據庫文件丟失后服務器仍然在開機運行,所幸沒有大量寫入
    的頭像 發表于 04-28 14:53 ?668次閱讀
    SQL Server<b class='flag-5'>數據庫文件</b>丟失的<b class='flag-5'>數據</b><b class='flag-5'>恢復</b>案例
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>