【資料庫資料恢復】mdb_catalog.wt檔案丟失的MongoDB資料恢復案例
MongoDB資料庫資料恢復環境:
MongoDB資料庫部署在一臺虛擬機器上,虛擬機器作業系統為Windows Server2012。
MongoDB資料庫故障&分析:
由於業務發展需求,需要對MongoDB資料庫內的檔案進行遷移,在MongoDB服務開啟的狀態下使用者將資料庫檔案複製到
其他分割槽,將MongoDB資料庫之前所在分割槽進行了格式化操作。遷移後使用者發現資料庫檔案無法使用,將資料庫檔案複製
回原分割槽後MongoDB資料庫依然無法正常使用,報錯“Windows無法啟動MongoDB服務(位於 本地計算機 上)錯誤
1067:程式意外終止。”
Tips:在MongoDB服務開啟狀態下複製資料庫檔案會導致mongod.lock和WiredTiger.lock這兩個檔案複製出錯,如果出現
這種情況,我們可以在複製檔案中找到這兩個檔案並刪除,然後再次嘗試啟動MongoDB資料庫,在資料庫重新啟動後會自動
重新生成這兩個檔案,資料庫即可正常使用。
資料庫資料恢復工程師檢查使用者遷移出的資料庫檔案後沒有找到_mdb_catalog.wt檔案。mdb_catalog.wt檔案是專門用於存
儲MongoDB資料庫中所有集合後設資料的檔案,資料庫啟動時所必須讀取的相關資訊都儲存於mdb_catalog.wt檔案中。所以
,北亞資料恢復工程師推斷導致MongoDB資料庫啟動報錯的原因應該是mdb_catalog.wt檔案丟失,資料庫無法讀取集合對
應的WT table名字,集合的建立選項,集合的索引資訊等後設資料。
MongoDB資料庫資料恢復過程:
1、掃描MongoDB資料庫分割槽的底層資料,結果沒有找到關於_mdb_catalog.wt檔案的資訊。多次調整掃描方式進行掃描仍
然無法查詢到_mdb_catalog.wt的相關資訊,資料恢復工程師判斷該檔案已被覆蓋,無法透過_mdb_catalog.wt檔案修復
MongoDB資料庫。
2、資料恢復工程師調整策略,由於該MongoDB資料庫是基於WiredTiger儲存引擎,於是北亞資料恢復工程師在Windows
環境下編譯出可執行的wt工具。
3、藉助編譯後的wt工具清洗回寫MongoDB資料庫集合檔案內所有資料,讀取資料結果並寫入到檔案中。
4、建立一個全新的MongoDB資料庫並建立相應資料量的集合,將檔案逐一寫入到集合中,查詢資料集並重建索引資訊。
5、透過查詢集合中的記錄,確定記錄型別,重建集合索引,集合恢復完成後可以正常檢視其中資料:
6、協助使用者對全部集合進行索引重建後,由使用者對MongoDB資料庫進行查詢驗證,確定資料無誤,本次資料恢復工作完成。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31380569/viewspace-2930929/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料庫資料恢復—MongoDB資料庫檔案丟失,啟動報錯的資料恢復案例資料庫資料恢復MongoDB
- 【北亞資料恢復】MongoDB資料遷移檔案丟失的MongoDB資料恢復案例資料恢復MongoDB
- MongoDB資料庫報錯,資料庫檔案丟失資料恢復案例MongoDB資料庫資料恢復
- 【資料庫資料恢復】MongoDB資料庫檔案損壞的資料恢復案例資料庫資料恢復MongoDB
- 【資料庫資料恢復】Sql Server資料庫檔案丟失的資料恢復過程資料庫資料恢復SQLServer
- 【伺服器資料恢復】xfs檔案系統資料丟失的資料恢復案例伺服器資料恢復
- 【資料庫資料恢復】MongoDB資料庫服務啟動失敗的資料恢復案例資料庫資料恢復MongoDB
- 【資料庫資料恢復】斷電導致Oracle資料庫資料丟失的資料恢復案例資料庫資料恢復Oracle
- 寶塔資料庫恢復 mysql資料庫丟失恢復 mysql資料庫刪除庫恢復 寶塔mysql資料庫恢復資料庫MySql
- 伺服器資料恢復-誤操作導致mysql資料庫資料丟失的資料恢復案例伺服器資料恢復MySql資料庫
- 電腦檔案丟失資料恢復資料恢復
- 伺服器資料恢復案例之RAID資訊丟失資料恢復伺服器資料恢復AI
- 【資料庫資料恢復】LINUX EXT3檔案系統下ORACLE資料庫誤操作導致資料丟失的資料恢復案例資料庫資料恢復LinuxOracle
- 【raid資料恢復案例】raid擴容導致的資料丟失的資料恢復AI資料恢復
- 【資料庫資料恢復】SAP資料庫資料恢復案例資料庫資料恢復
- Sql Server資料庫檔案丟失的恢復方法SQLServer資料庫
- 【資料庫資料恢復】透過恢復NDF檔案修復資料庫的資料恢復過程資料庫資料恢復
- 【資料庫資料恢復】Sql Server資料庫資料恢復案例資料庫資料恢復SQLServer
- 【資料庫資料恢復】無法啟動MongoDB服務的資料恢復案例資料庫資料恢復MongoDB
- 【虛擬機器資料恢復】Hyper-V虛擬化檔案丟失的資料恢復案例虛擬機資料恢復
- 【北亞資料庫資料恢復】誤操作導致資料丟失的華為雲mysql資料恢復案例資料庫資料恢復MySql
- 【資料庫資料恢復】Oracle資料庫檔案出現壞塊報錯的資料恢復案例資料庫資料恢復Oracle
- DATA GUARD主庫丟失資料檔案的恢復(3)
- DATA GUARD主庫丟失資料檔案的恢復(1)
- DATA GUARD主庫丟失資料檔案的恢復(2)
- 【資料庫資料恢復】EXT3檔案系統下MYSQL資料庫恢復案例資料庫資料恢復MySql
- 【伺服器資料恢復】SAN LUN對映出錯導致檔案系統資料丟失的資料恢復案例伺服器資料恢復
- 資料庫資料恢復——Windows無法啟動MongoDB服務的資料恢復案例資料庫資料恢復WindowsMongoDB
- 伺服器資料恢復-OceanStor儲存xfs分割槽資料丟失的資料恢復案例伺服器資料恢復
- 【伺服器資料恢復】OceanStor儲存中NAS卷資料丟失的資料恢復案例伺服器資料恢復
- 【vsan資料恢復】vsan資料重構失敗的資料恢復案例資料恢復
- 【資料庫資料恢復】Oracle資料庫誤truncate table的資料恢復案例資料庫資料恢復Oracle
- 【儲存資料恢復】esx vmfs的互斥導致儲存資料丟失的資料恢復案例資料恢復
- NetApp資料恢復—NetApp儲存池中劃分的卷丟失的資料恢復案例APP資料恢復
- 【伺服器資料恢復】ZFS伺服器遷移資料時資料丟失的資料恢復案例伺服器資料恢復
- 伺服器資料恢復—透過拼接資料庫碎片恢復SqlServer資料庫資料的資料恢復案例伺服器資料恢復資料庫SQLServer
- MSSQL資料庫資料恢復案例:ndf檔案大小變為0KB恢復資料SQL資料庫資料恢復
- 【伺服器資料恢復】伺服器儲存共享資料夾丟失資料恢復案例伺服器資料恢復