0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【数据库数据恢复】MongoDB数据库数据迁移报错的数据恢复案例

Frombyte 来源:Frombyte 作者:Frombyte 2022-12-06 11:46 次阅读

关于MongoDB数据库:

MongoDB数据库存储方式是将文档存储在集合之中,而不是像Oracle、MySQL一样的关系型数据库。

MongoDB数据库是开源数据库,也提供具有附加功能的商业版本。

MongoDB中的数据是以键值对(key-value pairs)的形式显示的,数据库受到的约束更少。对于具有快速增长或其他变化需求的数据来说,使用MongoDB数据库是非常有利的。如下图所示,MongoDB数据库提供了预定义结构,用户可以按需采用MongoDB数据库预定义的结构。

MongoDB数据库包含了以“顺次存放”的方式填充的文档集合,这些文档本身包含了各种字段和信息类型,能够存储的内容和数据量是极其丰富的。

MongoDB数据库的安全特性:基于角色的访问控制、身份验证、授权和审核、安全传输层(TLS)和SSL协议等。

作为文档数据库,MongoDB数据库并不限制存储数据的体量和类型,因此适合大数据的应用环境,适合基于云的服务。得益于水平可扩展能力、与云服务的敏捷性结合,MongoDB数据库不但能够减少开发者的工作量,简化业务与项目的扩展流程,还能够提供高可用性和数据的快速恢复。不过,MongoDB在数据的可靠性、一致性、以及安全性等方面不如MySQL。

MongoDB数据库数据恢复案例:

MongoDB数据库故障&初检:
公司一台MongoDB数据库由于业务需要进行数据迁移,迁移后出现错误提示:“Windows无法启动MongoDB服务(位于 本地计算机 上)错误1067:进程意外终止。”

poYBAGOOusCASpg5AASwQOzxuZM932.png

北亚数据恢复——MongoDB数据库数据恢复

北亚数据恢复工程师检查了故障MongoDB数据库环境及底层数据,发现故障MongoDB数据库在迁移过程中丢失了_mdb_catalog.wt文件,所以启动数据库报错。

MongoDB数据库数据恢复过程:
1、恢复MongoDB数据库丢失的数据需要在底层数据中找到丢失的_mdb_catalog.wt文件,对底层数据进行多次扫描后发现该文件已经被覆盖。
2、数据恢复工程师调整数据恢复方法,由于故障MongoDB数据库是基于WiredTiger存储引擎的,数据恢复工程师在Windows环境下编译出可执行的wt工具。

poYBAGOOus-AIZBXAAENkCcGnCQ480.png

北亚数据恢复——MongoDB数据库数据恢复

3、借助编译后的wt工具对故障MongoDB数据库集合文件内所有数据清洗回写,读取数据结果并写入到文件中。
4、创建一个全新的MongoDB数据库,创建相应数据量的集合,将文件逐一写入集合中,查询数据集并重建索引信息。
5、通过查询集合中的记录,确定记录类型,重建集合索引,集合恢复完成,可以正常查看其中数据。

pYYBAGOOutyACWN2AAEsnCi1zbY454.png

北亚数据恢复——MongoDB数据库数据恢复

pYYBAGOOutuAUMODAAGsi31TYaI791.png

北亚数据恢复——MongoDB数据库数据恢复

6、协助用户对全部集合进行索引重建之后,用户对数据库整体进行查询验证,发现数据无误,此次数据恢复完成。

审核编辑黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据恢复
    +关注

    关注

    10

    文章

    547

    浏览量

    17371
  • mongodb
    +关注

    关注

    0

    文章

    22

    浏览量

    362
收藏 人收藏

    评论

    相关推荐

    数据库数据恢复—通过拼接数据库碎片恢复SQLserver数据库

    试图恢复数据库,发现有数个ndf文件大小变为0KB。 虽然NDF文件大小变为0KB,但是NDF文件在磁盘上还可能存在。可以尝试通过扫描&拼接数据库碎片来恢复NDF文件,然后修复数据库
    的头像 发表于 10-31 13:21 131次阅读
    <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实例无法挂载的数据恢复案例

    Oracle数据库数据恢复环境&故障: Oracle ASM磁盘组由4块磁盘组成。Oracle ASM磁盘组掉线 ,ASM实例不能mount。 Oracle数据库故障分析&
    的头像 发表于 10-28 11:26 120次阅读
    <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数据库打开报错数据恢复案例

    打开oracle数据库报错报错信息:“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。急需
    的头像 发表于 10-17 13:20 178次阅读
    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数据恢复—异常断电后Oracle数据库报错数据恢复案例

    Oracle数据库故障: 机房异常断电后,Oracle数据库报错:“system01.dbf需要更多的恢复来保持一致性,
    的头像 发表于 09-30 13:31 234次阅读
    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><b class='flag-5'>恢复</b>案例

    数据库数据恢复—Oracle数据库文件system01.dbf损坏的数据恢复案例

    打开oracle数据库报错“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。
    的头像 发表于 09-21 14:25 249次阅读
    <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>案例

    数据库数据恢复—SQL Server数据库出现823错误的数据恢复案例

    SQL Server数据库故障: SQL Server附加数据库出现错误823,附加数据库失败。数据库没有备份,无法通过备份恢复数据库
    的头像 发表于 09-20 11:46 280次阅读
    <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>案例

    Oracle数据恢复—Oracle数据库delete删除的数据恢复方法

    删除Oracle数据库数据一般有以下2种方式:delete、drop或truncate。下面针对这2种删除oracle数据库数据的方式探讨一下oracle
    的头像 发表于 09-11 11:45 314次阅读

    数据库数据恢复—SqlServer数据库底层File Record被截断为0的数据恢复案例

    SQL Server数据库数据无法被读取。 经过数据库数据恢复工程师的初步检测,发现SQL Server
    的头像 发表于 07-26 11:27 344次阅读
    <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 432次阅读

    数据库数据恢复—raid5阵列上层Sql Server数据库数据恢复案例

    数据库数据恢复环境: 5块硬盘组建一组RAID5阵列,划分LUN供windows系统服务器使用。windows系统服务器内运行了Sql Server数据库,存储空间在操作系统层面划分
    的头像 发表于 05-08 11:43 474次阅读
    <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 Server数据库每10天生成一个大小相同的NDF文件
    的头像 发表于 05-07 11:19 396次阅读

    MongoDB数据恢复MongoDB数据库文件损坏的数据恢复案例

    服务器数据恢复环境: 一台Windows Server操作系统服务器,服务器上部署MongoDB数据库MongoDB
    的头像 发表于 04-23 14:48 378次阅读
    <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>案例

    数据库数据恢复】Oracle数据库ASM实例无法挂载的数据恢复案例

    oracle数据库ASM磁盘组掉线,ASM实例不能挂载。数据库管理员尝试修复数据库,但是没有成功。
    的头像 发表于 02-01 17:39 466次阅读
    【<b class='flag-5'>数据库</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>】Oracle<b class='flag-5'>数据库</b>ASM实例无法挂载的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    数据库数据恢复—未开启binlog的Mysql数据库数据恢复案例

    mysql数据库数据恢复环境: 本地服务器,windows server操作系统 ,部署有mysql单实例,数据库引擎类型为innodb,独立表空间,无
    的头像 发表于 12-08 14:18 1081次阅读
    <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>案例