服务器数据恢复—Raid故障导致数据库数据丢失的数据恢复案例

本文涉及的产品
无影云电脑企业版,4核8GB 120小时 1个月
资源编排,不限时长
无影云电脑企业版,4核8GB 120小时 1个月
简介: 一台光纤存储中有一组由16块硬盘组成的raid。该存储出现故障导致数据丢失。RAID中2块盘掉线,还有1块盘smart状态为“警告”。

服务器存储数据恢复环境&故障情况:
一台光纤存储中有一组由16块硬盘组成的raid。
该存储出现故障导致数据丢失。RAID中2块盘掉线,还有1块盘smart状态为“警告”。

服务器存储数据恢复过程:

1、通过该存储自带的存储管理软件将当前存储的完整日志状态备份,解析备份出来的存储日志,获取到关于逻辑卷结构的部分信息。
2、在windows环境下把raid中状态正常的硬盘标记为脱机,然后将所有磁盘进行全盘镜像,在镜像过程中发现smart状态为“警告”的那块硬盘镜像速度异常缓慢,数据恢复工程师推测问题原因是该盘存在不稳定扇区和坏道。更换专业设备单独对该盘做镜像,将专业设备中的“遇到坏道响应”、“等待时间”和“跳过坏扇区数据”等参数进行调整后进行备份。
3、将存储中所有硬盘都镜像完成后,查看镜像工具生成的日志,发现在存储管理软件中和SMART状态中均没有发现问题的1块盘也存在坏道,掉线的2块盘均存在大量不规律的坏道分布。根据坏道列表定位到目标镜像文件,分析后发现该磁盘阵列中文件系统的部分关键数据处于坏道区。于是北亚企安数据恢复工程师通过同条带xor手动修复。
4、将备份出来的raid中的所有硬盘的数据展开,通过对ext3文件系统的逆向分析以及对日志文件的分析,获取到raid的盘序、raid块大小,raid的校验走向和校验方式等重组raid所必需的信息。
5、通过分析获取到的raid信息虚拟重组raid,然后解析ext3文件系统并提取数据库文件。
6、在提取数据库文件的过程中出现报错,数据库报告imp-0008错误。于是数据恢复工程师重新对raid结构进行分析,再一次提取dmp文件和dbf原始库文件,这回所有文件正常且无报错。

服务器存储中数据库数据恢复过程:
1、拷贝数据库文件到原服务器中/home/oracle/tmp/syntong目录下作为备份。在根目录下创建了一个oradata文件夹,将整个syntong文件夹拷贝到oradata目录下。然后更改oradata文件夹及其中所有文件的属组和权限。
2、备份原数据库环境,包括ORACLE_HOME下product文件夹下的相关文件。配置监听,使用原服务器中的splplus连接到数据库。尝试启动数据库到nomount状态。进行基本状态查询,发现环境和参数文件没有问题。 尝试启动数据库到mount状态,进行状态查询也没有发现问题。启动数据库到open状态。
出现报错:
ORA-01122: database file 1 failed verification check
ORA-01110: data file 1: '/oradata/syntong/system01.dbf'
ORA-01207: file is more recent than control file - old control file
3、经过进一步的检测和分析,初步判断出现此报错的原因是控制文件和数据文件信息不一致,这是一类通常由于断电或突然关机所引起的故障。
4、逐个检测数据库文件,没有发现有数据库文件被物理破坏。
5、在mount状态下备份控制文件,alter database backup controlfile to trace as ' /backup/controlfile'。查看&修改备份的控制文件,获取到其中的重建控制文件命令。将这些命令复制到一个新建脚本文件controlfile.sql中。
6、关闭数据库,删除/oradata/syntong/下的3个控制文件。 启动数据库到nomount状态,执行controlfile.sql脚本。
SQL>startup nomount
SQL>@controlfile.sql
7、重建控制文件后,直接启动数据库,再次报错,需要进一步处理。
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: '/free/oracle/oradata/orcl/system01.dbf'
然后执行恢复命令:
recover database using backup controlfile until cancel;
Recovery of Online Redo Log: Thread 1 Group 1 Seq 22 Reading mem 0
Mem# 0 errs 0: /free/oracle/oradata/orcl/redo01.log

做介质恢复,直到返回报告,恢复完成。
8、尝试open数据库。
SQL> alter database open resetlogs;
9、数据库启动成功。把原来temp表空间的数据文件加入到对应的temp表空间中。
10、对数据库进行各种常规检查,没有发现任何错误。
11、进行emp备份。全库备份完成,没有报错。将应用程序连接到数据库,在应用层面验证数据,也没有发现问题。
12、经过用户方仔细检验后,确认恢复出来的数据库数据没有问题,认可数据恢复结果。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
2天前
|
存储 数据库 数据安全/隐私保护
服务器数据备份是保障数据安全、防止数据丢失和灾难恢复的重要措施
服务器数据备份是保障数据安全、防止数据丢失和灾难恢复的重要措施
7 1
|
10天前
|
存储 Oracle 关系型数据库
Oracle同一台服务器创建多个数据库
【8月更文挑战第30天】在 Oracle 中,可在同一服务器上创建多个数据库。首先确保已安装 Oracle 软件并具有足够资源,然后使用 DBCA 工具按步骤创建,包括选择模板、配置存储及字符集等。重复此过程可创建多个数据库,需确保名称、SID 和存储位置唯一。创建后,可通过 Oracle Enterprise Manager 进行管理,注意服务器资源分配与规划。
24 10
|
4天前
|
存储 安全 算法
服务器数据恢复—Raid磁盘阵列的安全性分析及常见故障
出于尽可能避免数据灾难的设计初衷,RAID解决了3个问题:容量问题、IO性能问题、存储安全(冗余)问题。从数据恢复的角度讨论RAID的存储安全问题。 常见的起到存储安全作用的RAID方案有RAID1、RAID5及其变形。基本设计思路是相似的:当部分数据异常时,可通过特定算法将数据还原出来。以RAID5为例:如果要记录两个数字,可以通过再多记录这两个数字的和来达到记录冗余性的目的。例如记录3和5,同时再记录这2个数字的和8。在不记得到底是几和5的情况下,只需要用8-5就可以算出这个丢失的数字了,其余情况依此类推。
|
13天前
|
缓存 NoSQL 数据库
Web服务器与数据库优化:提升系统性能的最佳实践
【8月更文第28天】在现代的Web应用中,Web服务器与后端数据库之间的交互是至关重要的部分。优化这些组件及其相互作用可以显著提高系统的响应速度、吞吐量和可扩展性。本文将探讨几种常见的优化策略,并提供一些具体的代码示例。
29 1
|
15天前
|
缓存 运维 监控
打造稳定高效的数据引擎:数据库服务器运维最佳实践全解析
打造稳定高效的数据引擎:数据库服务器运维最佳实践全解析
|
19天前
|
SQL 关系型数据库 MySQL
【揭秘】MySQL binlog日志与GTID:如何让数据库备份恢复变得轻松简单?
【8月更文挑战第22天】MySQL的binlog日志记录数据变更,用于恢复、复制和点恢复;GTID为每笔事务分配唯一ID,简化复制和恢复流程。开启binlog和GTID后,可通过`mysqldump`进行逻辑备份,包含binlog位置信息,或用`xtrabackup`做物理备份。恢复时,使用`mysql`命令执行备份文件,或通过`innobackupex`恢复物理备份。GTID模式下的主从复制配置更简便。
82 2
|
14天前
|
弹性计算 关系型数据库 数据库
手把手带你从自建 MySQL 迁移到云数据库,一步就能脱胎换骨
阿里云瑶池数据库来开课啦!自建数据库迁移至云数据库 RDS原来只要一步操作就能搞定!点击阅读原文完成实验就可获得一本日历哦~
|
18天前
|
关系型数据库 MySQL 数据库
RDS MySQL灾备服务协同解决方案构建问题之数据库备份数据的云上云下迁移如何解决
RDS MySQL灾备服务协同解决方案构建问题之数据库备份数据的云上云下迁移如何解决
|
15天前
|
人工智能 小程序 关系型数据库
【MySQL】黑悟空都掌握的技能,数据库隔离级别全攻略
本文以热门游戏《黑神话:悟空》为契机,深入浅出地解析了数据库事务的四种隔离级别:读未提交、读已提交、可重复读和串行化。通过具体示例,展示了不同隔离级别下的事务行为差异及可能遇到的问题,如脏读、不可重复读和幻读等。此外,还介绍了在MySQL中设置隔离级别的方法,包括全局和会话级别的调整,并通过实操演示了各隔离级别下的具体效果。本文旨在帮助开发者更好地理解和运用事务隔离级别,以提升数据库应用的一致性和性能。
93 2
【MySQL】黑悟空都掌握的技能,数据库隔离级别全攻略
|
20天前
|
数据可视化 关系型数据库 MySQL
Mysql8 如何在 Window11系统下完成跳过密钥校验、完成数据库密码的修改?
这篇文章介绍了如何在Windows 11系统下跳过MySQL 8的密钥校验,并通过命令行修改root用户的密码。
Mysql8 如何在 Window11系统下完成跳过密钥校验、完成数据库密码的修改?

相关产品

  • 云服务器 ECS
  • 下一篇
    DDNS