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

本文涉及的产品
轻量应用服务器 2vCPU 4GiB,适用于搭建Web应用/小程序
轻量应用服务器 2vCPU 4GiB,适用于网站搭建
轻量应用服务器 2vCPU 4GiB,适用于搭建容器环境
简介: 一台光纤存储中有一组由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、经过用户方仔细检验后,确认恢复出来的数据库数据没有问题,认可数据恢复结果。

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
2月前
|
存储 Oracle 关系型数据库
服务器数据恢复—光纤存储上oracle数据库数据恢复案例
一台光纤服务器存储上有16块FC硬盘,上层部署了Oracle数据库。服务器存储前面板2个硬盘指示灯显示异常,存储映射到linux操作系统上的卷挂载不上,业务中断。 通过storage manager查看存储状态,发现逻辑卷状态失败。再查看物理磁盘状态,发现其中一块盘报告“警告”,硬盘指示灯显示异常的2块盘报告“失败”。 将当前存储的完整日志状态备份下来,解析备份出来的存储日志并获得了关于逻辑卷结构的部分信息。
|
3月前
|
数据挖掘
服务器数据恢复——服务器异常断电造成raid5阵列故障的数据恢复案例
某服务器上有一组由12块硬盘组建的raid5磁盘阵列。 机房供电不稳定导致机房中该服务器非正常断电,重启服务器后管理员发现服务器无法正常使用。 意外断电可能会导致服务器上的raid模块损坏。
|
2月前
|
Oracle 安全 关系型数据库
服务器数据恢复—热备盘未成功激活导致raid崩溃的数据恢复案例
一台服务器中有5块硬盘,其中的4块组建了一组RAID5阵列,剩下一块盘作为热备盘(Hot-Spare)使用。服务器操作系统为linux,应用系统为构架于oracle数据库的一个oa。 raid5阵列中一块盘离线,但热备盘未自动激活rebuild。直到另外一块盘离线,RAID崩溃。 由于oracle已经不再对本案例中的oa系统提供后续支持,用户方要求尽可能恢复数据和操作系统。经过检测发现热备盘完全没有启用,硬盘无明显物理故障,无明显同步表现。
|
3月前
|
人工智能 运维 关系型数据库
数据库运维:mysql 数据库迁移方法-mysqldump
本文介绍了MySQL数据库迁移的方法与技巧,重点探讨了数据量大小对迁移方式的影响。对于10GB以下的小型数据库,推荐使用mysqldump进行逻辑导出和source导入;10GB以上可考虑mydumper与myloader工具;100GB以上则建议物理迁移。文中还提供了统计数据库及表空间大小的SQL语句,并讲解了如何使用mysqldump导出存储过程、函数和数据结构。通过结合实际应用场景选择合适的工具与方法,可实现高效的数据迁移。
661 1
|
4月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
3月前
|
SQL 关系型数据库 MySQL
Go语言数据库编程:使用 `database/sql` 与 MySQL/PostgreSQL
Go语言通过`database/sql`标准库提供统一数据库操作接口,支持MySQL、PostgreSQL等多种数据库。本文介绍了驱动安装、连接数据库、基本增删改查操作、预处理语句、事务处理及错误管理等内容,涵盖实际开发中常用的技巧与注意事项,适合快速掌握Go语言数据库编程基础。
252 62
|
6月前
|
关系型数据库 MySQL Java
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
|
2月前
|
SQL 存储 关系型数据库
MySQL功能模块探秘:数据库世界的奇妙之旅
]带你轻松愉快地探索MySQL 8.4.5的核心功能模块,从SQL引擎到存储引擎,从复制机制到插件系统,让你在欢声笑语中掌握数据库的精髓!
|
2月前
|
SQL Oracle 关系型数据库
比较MySQL和Oracle数据库系统,特别是在进行分页查询的方法上的不同
两者的性能差异将取决于数据量大小、索引优化、查询设计以及具体版本的数据库服务器。考虑硬件资源、数据库设计和具体需求对于实现优化的分页查询至关重要。开发者和数据库管理员需要根据自身使用的具体数据库系统版本和环境,选择最合适的分页机制,并进行必要的性能调优来满足应用需求。
104 11
|
2月前
|
SQL 关系型数据库 MySQL
【赵渝强老师】MySQL中的数据库对象
本教程详细介绍了MySQL数据库中的常见对象,包括表、索引、视图、事件、存储过程和存储函数的创建与管理。内容涵盖表的基本操作、索引的使用、视图简化查询、事件调度功能等,并通过具体示例演示相关SQL语句的使用方法。

相关产品

  • 云服务器 ECS