精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

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

Frombyte ? 來源:Frombyte ? 作者:Frombyte ? 2023-04-18 14:53 ? 次閱讀

數據庫數據恢復環境:

Windows Server操作系統服務器,部署MongoDB數據庫。

數據庫故障&分析:

在MongoDB數據庫服務未關閉的情況下,管理員將MongoDB數據庫文件從原分區拷貝到其他分區,然后將MongoDB數據庫所在原分區格式化,格式化完成又將MongoDB數據庫文件拷回原分區,啟動MongoDB服務失敗并報錯。

poYBAGQ-Pg6AWHFxAAJ9VHkTNrk678.png

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

在MongoDB數據庫服務沒有關閉的情況下,直接拷貝MongoDB數據庫文件,mongod.lock和WiredTiger.lock這2個文件拷貝出來是有問題的。正確的操作方法是:在拷貝出的數據庫文件中將這兩個文件刪除后再次啟動服務,這2個文件會由MongoDB自行重新生成。

通過檢測拷貝出的MongoDB數據庫文件發現_mdb_catalog.wt文件丟失。

_mdb_catalog.wt文件里存儲了MongoDB數據庫中所有集合的元數據,MongoDB數據庫啟動時需要從_mdb_catalog.wt文件中讀取相關信息。如果_mdb_catalog.wt文件丟失,MongoDB數據庫就無法獲取數據庫中集合對應的名字、集合的創建選項、集合的索引信息等元數據,數據庫無法啟動。

數據庫數據恢復過程:

1、對MongoDB數據庫所涉及的硬盤以只讀方式進行全盤鏡像備份,后續的數據分析和數據恢復操作都基于鏡像文件進行,避免在恢復數據的過程中對原始數據造成二次破壞。

2、嘗試從文件系統的層面恢復_mdb_catalog.wt文件。掃描數據庫分區沒有發現和_mdb_catalog.wt文件相關的信息。根據MongoDB數據庫數據文件的特征值掃描數據庫分區,也沒有發現和_mdb_catalog.wt相關的數據區域。所以可以斷定_mdb_catalog.wt文件已經被徹底破壞,無法恢復,只能從數據庫層面恢復數據了。

3、該案例中部署的MongoDB數據庫基于WT存儲引擎,可以使用WT實用工具包提取數據庫中的數據。下載WT實用工具包并在windows環境下編譯出可執行的wt工具。

poYBAGQ-Ph-AMmzIAAC7iEG0z_I132.png

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

4、編譯完成后,北亞企安數據恢復工程師使用wt工具清洗數據庫的集合文件中的數據,完成清洗后直接讀取文件中的數據并寫入到一個dump文件中。將數據庫的各個集合文件中的全部可用數據提取出來。

5、創建一個MongoDB數據庫,根據提取出的集合文件創建對應數量的空集合。使用wt工具將提取出來的dump文件一一寫入到新創建的空集合中。

6、通過查詢集合中的數據來確認這些寫入dump文件的集合與元數據庫中集合的對應關系,修改集合名稱并重建索引信息。

7、通過查詢集合中的記錄,確定記錄類型。確定fs.files和fs.chunks集合的位置后,修改這兩個集合名稱為xxx.files和xxx.chunks后并重建集合索引,集合恢復完成后就可以正常查看其中數據。

poYBAGQ-PimASfrhAAD_HobNY0g256.png

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

pYYBAGQ-PimAFxmBAAFG3HpaTRk463.png

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

數據庫數據驗證:

協助用戶方工程師對全部集合進行索引重建之后,由用戶對數據庫進行查詢驗證,確認數據無誤,本次數據恢復工作完成。

審核編輯:湯梓紅

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

    關注

    37

    文章

    6747

    瀏覽量

    123201
  • 數據恢復
    +關注

    關注

    10

    文章

    552

    瀏覽量

    17395
  • 數據庫
    +關注

    關注

    7

    文章

    3767

    瀏覽量

    64279
  • mongodb
    +關注

    關注

    0

    文章

    22

    瀏覽量

    362
收藏 人收藏

    評論

    相關推薦

    oracle數據恢復—存儲掉盤導致Oracle數據庫文件大小變為0kb的數據恢復案例

    存儲掉盤超過上限,lun無法識別。管理員重組存儲的位圖信息并導出lun,發現linux操作系統上部署的oracle數據庫中有上百個數據文件的大小變為0kb。數據庫的大小縮水了80%以上。 取出
    的頭像 發表于 11-21 11:29 ?68次閱讀
    oracle<b class='flag-5'>數據</b><b class='flag-5'>恢復</b>—存儲掉盤導致Oracle<b class='flag-5'>數據庫文件</b>大小變為0kb的<b class='flag-5'>數據</b><b class='flag-5'>恢復</b>案例

    數據庫數據恢復—通過拼接數據庫碎片恢復SQLserver數據庫

    一個運行在存儲上的SQLServer數據庫,有1000多個文件,大小幾十TB。數據庫每10天生成一個NDF文件,每個NDF幾百GB大小。數據庫
    的頭像 發表于 10-31 13:21 ?145次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b><b class='flag-5'>恢復</b>—通過拼接<b class='flag-5'>數據庫</b>碎片<b class='flag-5'>恢復</b>SQLserver<b class='flag-5'>數據庫</b>

    數據庫數據恢復—Oracle ASM實例無法掛載的數據恢復案例

    方案: 數據庫數據恢復工程師對組成ASM磁盤組的磁盤進行分析。對ASM元數據進行分析發現ASM存儲元數據
    的頭像 發表于 10-28 11:26 ?129次閱讀
    <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數據庫打開報錯的數據恢復案例

    和data pump工具無法使用,查詢告警日志并分析報錯,確認發生上述錯誤的原因就是sysaux01.dbf文件損壞。由于該文件損壞,從數據庫
    的頭像 發表于 10-17 13:20 ?187次閱讀
    oracle<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>案例

    Oracle數據恢復—異常斷電后Oracle數據庫報錯的數據恢復案例

    Oracle數據庫的在線文件,需要恢復zxfg用戶的數據。 Oracle數據庫恢復方案:
    的頭像 發表于 09-30 13:31 ?249次閱讀
    Oracle<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>案例

    數據庫數據恢復—Oracle數據庫文件system01.dbf損壞數據恢復案例

    打開oracle數據庫報錯“system01.dbf需要更多的恢復來保持一致性,數據庫無法打開”。
    的頭像 發表于 09-21 14:25 ?259次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b><b class='flag-5'>恢復</b>—Oracle<b class='flag-5'>數據庫文件</b>system01.dbf<b class='flag-5'>損壞</b>的<b class='flag-5'>數據</b><b class='flag-5'>恢復</b>案例

    數據庫數據恢復—SQL Server數據庫出現823錯誤的數據恢復案例

    SQL Server數據庫故障: SQL Server附加數據庫出現錯誤823,附加數據庫失敗。數據庫沒有備份,無法通過備份恢復數據庫。
    的頭像 發表于 09-20 11:46 ?294次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b><b class='flag-5'>恢復</b>—SQL Server<b class='flag-5'>數據庫</b>出現823錯誤的<b class='flag-5'>數據</b><b class='flag-5'>恢復</b>案例

    數據庫數據恢復—SqlServer數據庫底層File Record被截斷為0的數據恢復案例

    SQL Server數據庫數據無法被讀取。 經過數據庫數據恢復工程師的初步檢測,發現SQL Server
    的頭像 發表于 07-26 11:27 ?349次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b><b class='flag-5'>恢復</b>—SqlServer<b class='flag-5'>數據庫</b>底層File Record被截斷為0的<b class='flag-5'>數據</b><b class='flag-5'>恢復</b>案例

    數據庫數據恢復—SQL Server數據庫所在分區空間不足報錯的數據恢復案例

    Server數據庫故障: 存放SQL Server數據庫的D盤分區容量不足,管理員在E盤中生成了一個.ndf的文件并且將數據庫路徑指向E盤繼續使用。
    的頭像 發表于 07-10 13:54 ?443次閱讀

    數據庫數據恢復—raid5陣列上層Sql Server數據庫數據恢復案例

    數據庫故障: 數據庫文件丟失,主要涉及3個數據庫,數千張表。數據庫文件丟失原因未知,不能確定丟失的數據庫文件的存放位置。
    的頭像 發表于 05-08 11:43 ?479次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b><b class='flag-5'>恢復</b>—raid5陣列上層Sql Server<b class='flag-5'>數據庫</b><b class='flag-5'>數據</b><b class='flag-5'>恢復</b>案例

    數據庫數據恢復—ndf文件大小變為0KB的數據恢復案例

    存儲設備損壞導致存儲中SQL Server數據庫崩潰。對數據庫文件進行恢復后,用戶發現有4個ndf文件的大小變為0KB。該SQL Serve
    的頭像 發表于 05-07 11:19 ?400次閱讀

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

    的情況下,將數據庫文件拷貝到其他分區??截愅瓿珊髮⒃?b class='flag-5'>MongoDB數據庫所在分區進行了格式化操作,然后將數據庫文件拷回原分區,重新啟動MongoDB
    的頭像 發表于 04-23 14:48 ?383次閱讀
    <b class='flag-5'>MongoDB</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><b class='flag-5'>恢復</b>案例

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

    。存儲空間LUN劃分了兩個邏輯分區。 服務器故障&初檢: 由于未知原因,Sql Server數據庫文件丟失,丟失數據涉及到3個,表的數量有3000左右。數據庫文件丟失原因還沒
    的頭像 發表于 04-11 15:38 ?838次閱讀
    <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>案例

    數據庫數據恢復—未開啟binlog的Mysql數據庫數據恢復案例

    mysql數據庫數據恢復環境: 本地服務器,windows server操作系統 ,部署有mysql單實例,數據庫引擎類型為innodb,獨立表空間,無
    的頭像 發表于 12-08 14:18 ?1103次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b><b class='flag-5'>恢復</b>—未開啟binlog的Mysql<b class='flag-5'>數據庫</b><b class='flag-5'>數據</b><b class='flag-5'>恢復</b>案例