【資料庫資料恢復】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資料庫資料恢復
- RMAN恢復案例:丟失全部資料檔案恢復
- 【資料庫資料恢復】MongoDB資料庫檔案損壞的資料恢復案例資料庫資料恢復MongoDB
- 【資料庫資料恢復】Sql Server資料庫檔案丟失的資料恢復過程資料庫資料恢復SQLServer
- 【伺服器資料恢復】xfs檔案系統資料丟失的資料恢復案例伺服器資料恢復
- RMAN恢復案例:丟失非系統資料檔案恢復
- 資料檔案丟失的恢復
- 【資料庫資料恢復】MongoDB資料庫服務啟動失敗的資料恢復案例資料庫資料恢復MongoDB
- 【資料庫資料恢復】斷電導致Oracle資料庫資料丟失的資料恢復案例資料庫資料恢復Oracle
- 恢復案例:歸檔模式下丟失全部資料檔案的恢復模式
- 資料檔案丟失如何恢復
- 伺服器資料恢復-誤操作導致mysql資料庫資料丟失的資料恢復案例伺服器資料恢復MySql資料庫
- 寶塔資料庫恢復 mysql資料庫丟失恢復 mysql資料庫刪除庫恢復 寶塔mysql資料庫恢復資料庫MySql
- 【資料庫資料恢復】SAP資料庫資料恢復案例資料庫資料恢復
- 完全恢復之所有資料庫檔案丟失資料庫
- 資料庫各種檔案丟失恢復大全。資料庫
- Oracle備份與恢復【丟失資料檔案的恢復】Oracle
- RMAN資料庫恢復 之歸檔模式有(無)備份-丟失資料檔案的恢復資料庫模式
- 【北亞資料庫資料恢復】誤操作導致資料丟失的華為雲mysql資料恢復案例資料庫資料恢復MySql
- RMAN完全恢復丟失的資料檔案
- 普通資料檔案丟失的恢復方法
- 資料檔案丟失損壞的恢復--
- Sql Server資料庫檔案丟失的恢復方法SQLServer資料庫
- 【資料庫資料恢復】LINUX EXT3檔案系統下ORACLE資料庫誤操作導致資料丟失的資料恢復案例資料庫資料恢復LinuxOracle
- RMAN恢復案例:無恢復目錄,丟失全部資料檔案、控制檔案、日誌檔案恢復
- 【資料庫資料恢復】Sql Server資料庫資料恢復案例資料庫資料恢復SQLServer
- 伺服器資料恢復案例之RAID資訊丟失資料恢復伺服器資料恢復AI
- 【資料庫資料恢復】透過恢復NDF檔案修復資料庫的資料恢復過程資料庫資料恢復
- 【資料庫資料恢復】無法啟動MongoDB服務的資料恢復案例資料庫資料恢復MongoDB
- 【虛擬機器資料恢復】Hyper-V虛擬化檔案丟失的資料恢復案例虛擬機資料恢復
- 【raid資料恢復案例】raid擴容導致的資料丟失的資料恢復AI資料恢復
- 備份恢復之資料檔案丟失
- 丟失一個控制檔案並恢復資料庫資料庫
- 【資料庫資料恢復】Oracle資料庫檔案出現壞塊報錯的資料恢復案例資料庫資料恢復Oracle
- 【伺服器資料恢復】SAN LUN對映出錯導致檔案系統資料丟失的資料恢復案例伺服器資料恢復
- 資料庫資料恢復——Windows無法啟動MongoDB服務的資料恢復案例資料庫資料恢復WindowsMongoDB