MongoDB数据恢复—MongoDB数据库文件被破坏的数据恢复案例

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 Tair(兼容Redis),内存型 2GB
简介: 服务器数据恢复环境:一台Windows Server操作系统服务器,服务器上部署MongoDB数据库。MongoDB数据库故障&检测:工作人员在未关闭MongoDB数据库服务的情况下,将数据库文件拷贝到其他分区。拷贝完成后将原MongoDB数据库所在分区进行了格式化操作,然后将数据库文件拷回原分区,重新启动MongoDB服务,服务无法启动。

服务器数据恢复环境:
一台Windows Server操作系统服务器,服务器上部署MongoDB数据库。

MongoDB数据库故障&检测:
工作人员在未关闭MongoDB数据库服务的情况下,将数据库文件拷贝到其他分区。拷贝完成后将原MongoDB数据库所在分区进行了格式化操作,然后将数据库文件拷回原分区,重新启动MongoDB服务,服务无法启动。报错如下:
01副本.jpg
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工具。
02副本.jpg

b、使用编译出来的wt工具清洗MongoDB数据库的集合文件中的数据。清洗完成后,读取文件中的数据并写入到一个dump文件中。
c、将MongoDB数据库的各个集合文件中的全部可用数据提取出来。
d、重新创建一个MongoDB数据库,根据提取出的集合文件创建对应数量的空集合。使用wt工具将提取出来的dump文件一一写入到新创建的空集合中。
e、通过查询集合中的数据,确认这些集合与元数据库中集合的对应关系。修改集合名称,重建索引信息。
通过查询集合中的记录,确定记录类型,从而确定fs.files和fs.chunks集合的位置。修改这两个集合名称为xxx.files和xxx.chunks后,重建集合索引,集合恢复完成,可以正常查看其中数据:
03副本.jpg
04副本.jpg

MongoDB数据库数据验证:
将全部集合进行索引重建后,由用户方对MongoDB数据库进行查询验证,经过验证用户方确认数据无误,认可数据恢复结果。本次数据恢复工作完成。

相关文章
|
3月前
|
存储 Oracle 关系型数据库
服务器数据恢复—光纤存储上oracle数据库数据恢复案例
一台光纤服务器存储上有16块FC硬盘,上层部署了Oracle数据库。服务器存储前面板2个硬盘指示灯显示异常,存储映射到linux操作系统上的卷挂载不上,业务中断。 通过storage manager查看存储状态,发现逻辑卷状态失败。再查看物理磁盘状态,发现其中一块盘报告“警告”,硬盘指示灯显示异常的2块盘报告“失败”。 将当前存储的完整日志状态备份下来,解析备份出来的存储日志并获得了关于逻辑卷结构的部分信息。
|
3月前
|
NoSQL MongoDB 数据库
数据库数据恢复—MongoDB数据库数据恢复案例
MongoDB数据库数据恢复环境: 一台操作系统为Windows Server的虚拟机上部署MongoDB数据库。 MongoDB数据库故障: 工作人员在MongoDB服务仍然开启的情况下将MongoDB数据库文件拷贝到其他分区,数据复制完成后将MongoDB数据库原先所在的分区进行了格式化操作。 结果发现拷贝过去的数据无法使用。管理员又将数据拷贝回原始分区,MongoDB服务仍然无法使用,报错“Windows无法启动MongoDB服务(位于 本地计算机 上)错误1067:进程意外终止。”
|
3月前
|
缓存 NoSQL Linux
在CentOS 7系统中彻底移除MongoDB数据库的步骤
以上步骤完成后,MongoDB应该会从您的CentOS 7系统中被彻底移除。在执行上述操作前,请确保已经备份好所有重要数据以防丢失。这些步骤操作需要一些基本的Linux系统管理知识,若您对某一步骤不是非常清楚,请先进行必要的学习或咨询专业人士。在执行系统级操作时,推荐在实施前创建系统快照或备份,以便在出现问题时能够恢复到原先的状态。
297 79
|
24天前
|
SQL 关系型数据库 MySQL
Mysql数据恢复—Mysql数据库delete删除后数据恢复案例
本地服务器,操作系统为windows server。服务器上部署mysql单实例,innodb引擎,独立表空间。未进行数据库备份,未开启binlog。 人为误操作使用Delete命令删除数据时未添加where子句,导致全表数据被删除。删除后未对该表进行任何操作。需要恢复误删除的数据。 在本案例中的mysql数据库未进行备份,也未开启binlog日志,无法直接还原数据库。
|
3月前
|
存储 NoSQL MongoDB
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
193 8
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
|
2月前
|
运维 NoSQL 容灾
告别运维噩梦:手把手教你将自建 MongoDB 平滑迁移至云数据库
程序员为何逃离自建MongoDB?扩容困难、运维复杂、高可用性差成痛点。阿里云MongoDB提供分钟级扩容、自动诊断与高可用保障,助力企业高效运维、降本增效,实现数据库“无感运维”。
|
3月前
|
Oracle 关系型数据库 数据库
数据库数据恢复—服务器异常断电导致Oracle数据库报错的数据恢复案例
Oracle数据库故障: 某公司一台服务器上部署Oracle数据库。服务器意外断电导致数据库报错,报错内容为“system01.dbf需要更多的恢复来保持一致性”。该Oracle数据库没有备份,仅有一些断断续续的归档日志。 Oracle数据库恢复流程: 1、检测数据库故障情况; 2、尝试挂起并修复数据库; 3、解析数据库文件; 4、导出并验证恢复的数据库文件。
|
4月前
|
存储 SQL Java
数据存储使用文件还是数据库,哪个更合适?
数据库和文件系统各有优劣:数据库读写性能较低、结构 rigid,但具备计算能力和数据一致性保障;文件系统灵活易管理、读写高效,但缺乏计算能力且无法保证一致性。针对仅需高效存储与灵活管理的场景,文件系统更优,但其计算短板可通过开源工具 SPL(Structured Process Language)弥补。SPL 提供独立计算语法及高性能文件格式(如集文件、组表),支持复杂计算与多源混合查询,甚至可替代数据仓库。此外,SPL 易集成、支持热切换,大幅提升开发运维效率,是后数据库时代文件存储的理想补充方案。
|
4月前
|
存储 Oracle 关系型数据库
oracle数据恢复—oracle数据库执行错误truncate命令的数据恢复案例
oracle数据库误执行truncate命令导致数据丢失是一种常见情况。通常情况下,oracle数据库误操作删除数据只需要通过备份恢复数据即可。也会碰到一些特殊情况,例如数据库备份无法使用或者还原报错等。下面和大家分享一例oracle数据库误执行truncate命令导致数据丢失的数据库数据恢复过程。
|
6月前
|
NoSQL MongoDB 数据库
数据库数据恢复——MongoDB数据库服务无法启动的数据恢复案例
MongoDB数据库数据恢复环境: 一台Windows Server操作系统虚拟机上部署MongoDB数据库。 MongoDB数据库故障: 管理员在未关闭MongoDB服务的情况下拷贝数据库文件。将MongoDB数据库文件拷贝到其他分区后,对MongoDB数据库所在原分区进行了格式化操作。格式化完成后将数据库文件拷回原分区,并重新启动MongoDB服务。发现服务无法启动并报错。

推荐镜像

更多