服务器数据恢复—存储硬盘故障导致业务崩溃的数据恢复案例
mhr18 2024-10-14 10:36 18 浏览 0 评论
服务器存储数据恢复环境&故障:
一台存储上有一组由16块FC硬盘组建了一组raid。存储前面板上的对应10号和13号硬盘的故障灯亮起,存储映射到redhat linux操作系统服务器上的卷挂载不上,业务中断。
服务器存储数据恢复过程:
1、通过存储的管理后台查看当前存储状态,管理后台报告逻辑卷状态失败。再查看物理磁盘状态,发现6号盘状态“警告”,10号和13号盘状态“失败”。在管理后台将当前存储的完整日志状态备份。解析日志获取到关于逻辑卷结构的部分信息。
2、将16块FC盘做好标记后从存储中移除,使用专用工具对16块FC盘进行初步检测, 发现16块盘均能正常识别。检测所有磁盘的SMART状态,发现6号盘的SMART状态为“警告”,和在存储管理后台中的报告一致。
3、将所有磁盘以只读方式进行扇区级别的全盘镜像。在镜像过程中发现6号磁盘的镜像速度很慢,结合之前的检测结果综合判断,6号盘应该存在大量损坏和不稳定的扇区。
4、使用专业设备对6号硬盘进行镜像,在镜像的同时观察镜像的速度和稳定性。经过观察发现6号盘的坏道并不多,但是存在大量读取响应时间长的不稳定扇区。调整6号盘的镜像策略后继续对6号盘进行镜像操作,同时观察镜像情况。6号盘镜像完成,但是之前的镜像策略会自动跳过一些不稳定扇区,所以现在的镜像是不完整的。调整镜像策略,继续镜像被跳过的扇区,直到6号盘所有扇区全部镜像完毕。
5、全部磁盘做完镜像后查看日志,发现在管理后台和SMART状态中均无报错的1号盘也存在坏道,10号和13号盘也存在大量不规则坏道。定位到目标镜像文件并经过分析,发现ext3文件系统的部分关键源数据信息已经被坏道破坏。只能利用6号盘通过同一条带进行xor,并根据文件系统上下文关系手动修复被损坏的文件系统。
6、将所有镜像文件全部展开。根据北亚企安数据恢复工程师对ext3文件系统的逆向研究和对日志文件的分析,获取到16块FC盘在存储中的盘序、RAID块大小、RAID的校验走向和方式等信息。根据上述获取到的信息虚拟重组RAID,RAID重组完成后进一步解析ext3文件系统。和用户后沟通提取出一些oracle的dmp文件并尝试进行恢复。
7、在使用dmp文件进行恢复的过程中,数据库报告imp-0008错误。仔细分析导入dmp文件的日志文件,发现恢复的dmp文件有问题。重新分析raid结构,并进一步确定ext3文件系统被破坏的程度,重新恢复出dmp文件和dbf原始库文件。将恢复出来的dmp文件移交给用户进行数据导入测试,测试过程一切顺利没有发现问题。对恢复出来的dbf原始库文件进行校验检测,所有文件均通过测试。
8、拷贝数据库文件到原数据库服务器作为备份,路径为/home/oracle/tmp/syntong。在根目录下创建了oradata文件夹,并把备份的syntong文件夹拷贝到oradata目录下。更改oradata文件夹及其所有文件的属组和权限。备份原数据库环境,包括ORACLE_HOME下product文件夹下的相关文件。
9、配置监听,使用原机中的splplus连接到数据库。尝试启动数据库到nomount状态,状态查询发现环境和参数文件正常。 尝试启动数据库到mount状态,状态查询也没有问题。启动数据库到open状态,出现报错。
10、经过检测和分析,北亚企安数据恢复工程师判断此故障原因是控制文件和数据文件信息不一致,这是一类由于异常断电或突然关机引起的常见故障。
11、逐个检测数据库文件,没有发现物理损毁。
12、在mount状态下,备份控制文件。查看修改备份的控制文件,取得其中的重建控制文件命令。把命令复制到一个新建脚本文件controlfile.sql中。
13、关闭数据库,删除/oradata/syntong/下的3个控制文件。 启动数据库到nomount状态,执行controlfile.sql脚本。
14、重建控制文件完成后,直接启动数据库,仍然报错,需要进一步处理。
执行恢复命令:
做介质恢复,直到返回报告。
15、尝试open数据库。
SQL>alter database open resetlogs;
16、数据库启动成功。把原来temp表空间的数据文件加入到对应的temp表空间中。
17、对数据库进行各种常规检查,没有任何错误。
18、进行emp备份。全库备份完成,没有报错。
19、将应用程序连接到数据库,在应用层面验证数据。
20、经过验证,用户方确认数据完整有效,认可数据恢复结果。
- 上一篇:分割文件和断点续传下载服务器大文件
- 下一篇:服务器恢复案例合集(服务器恢复数据)
相关推荐
- 经典技术干货分享:JVM内存模型和垃圾回收机制
-
来源:全栈工程师小辉JVM内存模型根据Java虚拟机规范,Java数据区域分为五大数据区域。其中方法区和堆是所有线程共享的,虚拟机栈、本地方法栈和程序计数器则为线程私有的。有的博客称方法区是永久代...
- 让我来告诉你:最重要的 JVM 参数总结
-
1.概述在本篇文章中,你将掌握最常用的JVM参数配置。如果对于下面提到了一些概念比如堆、#2.堆内存相关Java虚拟机所管理的内存中最大的一块,Java堆是所有线程共享的一块内存区域,在虚拟机...
- 说一下 JVM 的内存布局和运行原理?
-
JVM(JavaVirtualMachine,Java虚拟机)顾名思义就是用来执行Java程序的“虚拟主机”,实际的工作是将编译的class代码(字节码)翻译成底层操作系统可以运行的机器...
- 这些不可不知的JVM知识,我都用思维导图整理好了
-
VM是面试中必问的部分,本文通过思维导图以面向面试的角度整理JVM中不可不知的知识。先上图:JVM必备知识1、JVM基本概念1.1、JVM是什么JVM的全称是「JavaVirtualMachi...
- 认识Kotlin_了解Kotlin和JVM虚拟机关系_重要性_更强大的跨平台
-
1.谷歌支持Kotlin作为android第一开发语言,因为java是已经被oracle收购了,可能会对Google收费.2.可以看到java语言写的android程序,实际上回编译成字节码,在jvm...
- 美团一面:为什么线程崩溃崩溃不会导致 JVM 崩溃
-
网上看到一个很有意思的美团面试题:为什么线程崩溃崩溃不会导致JVM崩溃,这个问题我看了不少回答,但发现都没答到根上,所以决定答一答,相信大家看完肯定会有收获,本文分以下几节来探讨线程崩溃,进程一定...
- 一篇文章掌握整个JVM,JVM超详细解析!!!
-
不懂JVM看完这一篇文章你就会非常懂了,文章很长,非常详细!!!先想想一些问题1我们开发人员编写的Java代码是怎么让电脑认识的首先先了解电脑是二进制的系统,他只认识01010101比如我们经常要...
- Java反射机制最全详解(图文全面总结)
-
Java反射是各种框架以及中间件实现的基石,也是大厂面试重点考察内容,下面全面来详解Java反射机制@mikechen本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》里面。Java反...
- OCP 专家认证培训- 数据库专业人士的进阶阶梯
-
认证简介OCP即Oracle数据库认证专家,是Oracle公司的Oracle数据库DBA(DatabaseAdministrator数据库管理员)认证课程。通过该认证,表明持证人能...
- 《塞尔达传说》进化史!一口气看完全部塞尔达传说!
-
《塞尔达传说》系列全版本历史回顾以下是塞尔达传说系列所有官方游戏版本的完整列表,按时间顺序排列:主要正统系列作品1、《塞尔达传说》/TheLegendofZelda(1986)《塞尔达传说》是...
- Linux文件系统结构全解析(linux文件系统概述)
-
对Linux新手而言,“一切皆文件”的设计哲学常让人既兴奋又困惑——打开终端输入ls/,看到的bin、etc、var等目录到底有什么用?如何快速定位关键文件?本文将从Linux文件系统的底层逻...
- 一文带您了解数据库的行列之争:行式与列式存储的异同
-
数据库存储格式是数据库管理系统中一个至关重要的方面,它直接影响到数据的组织和检索效率。在数据库中,有两种主要的存储格式,即行式存储和列式存储。这两者采用截然不同的方法来组织和存储数据,各自具有一系列优...
- NL2SQL(三)开源项目怎么选:talk is cheap, show me the code!
-
老规矩,先看效果下面的demo来自试用的SuperSonic,将会在下面详细介绍:大模型时代Text-to-SQL特点随着基于LLM技术的发展,RAG/AIAgent/Fine...
- JDK25长期支持版九月降临:18项王炸功能全解析
-
Java要放大招啦!9月份推出的JDK25长期支持版已经锁定18个超能力,从稳定值到结构化并发,还有Linux系统下的"预知未来"性能分析!下面我用打游戏的术语给你们掰扯明白:1、飞...
- OceanBase 推出单机版 高度兼容MySQL和Oracle
-
【环球网科技综合报道】3月27日,独立数据库厂商OceanBase正式发布单机版产品。据悉,这一产品基于自主研发的单机分布式一体化架构设计,具备极简数据库架构和高度兼容性,为中小规模业务提供兼具性能与...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- oracle位图索引 (74)
- oracle批量插入数据 (65)
- oracle事务隔离级别 (59)
- oracle 空为0 (51)
- oracle主从同步 (55)
- oracle 乐观锁 (51)
- redis 命令 (78)
- php redis (88)
- redis 存储 (66)
- redis 锁 (69)
- 启动 redis (66)
- redis 时间 (56)
- redis 删除 (67)
- redis内存 (57)
- redis并发 (52)
- redis 主从 (69)
- redis 订阅 (51)
- redis 登录 (54)
- redis 面试 (58)
- 阿里 redis (59)
- redis 搭建 (53)
- redis的缓存 (55)
- lua redis (58)
- redis 连接池 (61)
- redis 限流 (51)