服务器数据恢复—RAID故障导致oracle无法启动的数据恢复案例
ccwgpt 2025-01-02 14:59 68 浏览 0 评论
服务器数据恢复环境:
某品牌服务器中有一组由4块SAS磁盘做的RAID5磁盘阵列。该服务器操作系统为windows server,运行了一个单节点Oracle,数据存储为文件系统,无归档。该oracle数据库的数据量不大,oracle数据库内只有一个用户,使用默认的users表空间,users表空间下仅有一个数据文件。
服务器故障:
可能是服务器负荷过重,底层RAID5磁盘阵列出现故障。为了挽救数据,管理员做了重建RAID的操作,后但是在RAID初始化过程中又有一块磁盘出现故障,导致RAID初始化被迫中止。这时RAID磁盘阵列可访问,操作系统能正常启动,但是出现错误。oracle数据库所在D盘分区报错无法打开,管理员执行chkdsk后能正常打开,但oracle数据库无法启动。管理员在原盘上重装了oracle数据库,并导入了以前备份的dmp文件,但数据差得太多。需要恢复缺失的数据。
服务器数据恢复过程:
1、将故障服务器中所有磁盘标记后取出。经过硬件工程师检测没有发现有硬盘存在物理故障,都可以正常读取。以只读方式将所有硬盘进行扇区级全盘镜像,镜像完成后将所有磁盘按照标记还原到原服务器中,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘镜像造成二次破坏。
2、基于镜像文件分析所有硬盘底层数据,重点分析RAID层。虽然重建RAID会给原始数据造成严重破坏,但经过分析发现重建的RAID的块大小、盘序都和原RAID一样。初始化中仅同步了前面的少量数据,RAID层损坏不严重,oracle数据库还没被破坏。
3、针对管理员对分区执行chkdsk、重装oracle数据库和导入dmp文件这一系列操作所造成影响的分析:Chkdsk不会破坏数据区,chkdsk只对文件系统元数据区进行修改。执行chkdsk后数据库文件仍无破坏,至多是文件的MFT或目录项被破坏。对数据影响最严重的是重装Oracle数据库和导入dmp文件的操作,这2个操作不仅破坏文件系统元数据区,还对数据区进行进行覆盖破坏。
4、对D盘的NTFS文件系统进行分析,发现原所有oracle数据文件的的MFT均被覆盖,NTFS日志也被轮回覆盖,从NTFS元数据区找不可利用信息。使用北亚企安自主开发的Oracle恢复程序对D盘分区进行扫描。经过扫描,发现Oracle实例为ANSORA,扫描出的一个完整的控制文件和一个完整的undotbs表空间数据文件。更为重要的system表空间和users表空间数据文件均有不同程度的损坏,其中system表空间的数据文件仅剩极一小部分,而users表空间的数据文件部分被覆盖。提取出找到的数据,然后再试图对严重损坏的数据库文件进行修复。
5、system表空间不可用,无法得到数据字典。在和用户方沟通后,用户方确认只需要恢复其中最重要的三张表即可。从imp回去的数据库中得到这三张表的结构,再从恢复出来的users表空间的数据文件中找到对应的segment,但其中有一张表怎么都对应不上。再次和用户方沟通才得知这一张表曾经有过更改字段的操作,然后构建新的表结构对应上users表空间数据文件中segment,然后通过dul工具提取这三张表的数据。经过用户方验证,确认数据无问题。本次数据恢复工作完成。
相关推荐
- 一个基于.Net Core遵循Clean Architecture原则开源架构
-
今天给大家推荐一个遵循CleanArchitecture原则开源架构。项目简介这是基于Asp.netCore6开发的,遵循CleanArchitecture原则,可以高效、快速地构建基于Ra...
- AI写代码翻车无数次,我发现只要提前做好这3步,bug立减80%
-
写十万行全是bug之后终于找到方法了开发"提示词管理助手"新版本那会儿,我差点被bug整崩溃。刚开始两周,全靠AI改代码架构,结果十万行程序漏洞百出。本来以为AI说没问题就稳了,结果...
- OneCode低代码平台的事件驱动设计:架构解析与实践
-
引言:低代码平台的事件驱动范式在现代软件开发中,事件驱动架构(EDA)已成为构建灵活、松耦合系统的核心范式。OneCode低代码平台通过创新性的注解驱动设计,将事件驱动理念深度融入平台架构,实现了业务...
- 国内大厂AI插件评测:根据UI图生成Vue前端代码
-
在IDEA中安装大厂的AI插件,打开ruoyi增强项目:yudao-ui-admin-vue31.CodeBuddy插件登录腾讯的CodeBuddy后,大模型选择deepseek-v3,输入提示语:...
- AI+低代码技术揭秘(二):核心架构
-
本文档介绍了为VTJ低代码平台提供支持的基本架构组件,包括Engine编排层、Provider服务系统、数据模型和代码生成管道。有关UI组件库和widget系统的信息,请参阅UI...
- GitDiagram用AI把代码库变成可视化架构图
-
这是一个名为gitdiagram的开源工具,可将GitHub仓库实时转换为交互式架构图,帮助开发者快速理解代码结构。核心功能一键可视化:替换GitHubURL中的"hub...
- 30天自制操作系统:第六天:代码架构整理与中断处理
-
1.拆开bootpack.c文件。根据设计模式将对应的功能封装成独立的文件。2.初始化pic:pic(可编程中断控制器):在设计上,cpu单独只能处理一个中断。而pic是将8个中断信号集合成一个中断...
- AI写代码越帮越忙?2025年研究揭露惊人真相
-
近年来,AI工具如雨后春笋般涌现,许多人开始幻想程序员的未来就是“对着AI说几句话”,就能轻松写出完美的代码。然而,2025年的一项最新研究却颠覆了这一期待,揭示了一个令人意外的结果。研究邀请了16位...
- 一键理解开源项目:两个自动生成GitHub代码架构图与说明书工具
-
一、GitDiagram可以一键生成github代码仓库的架构图如果想要可视化github开源项目:https://github.com/luler/reflex_ai_fast,也可以直接把域名替换...
- 5分钟掌握 c# 网络通讯架构及代码示例
-
以下是C#网络通讯架构的核心要点及代码示例,按协议类型分类整理:一、TCP协议(可靠连接)1.同步通信//服务器端usingSystem.Net.Sockets;usingTcpListene...
- 从复杂到优雅:用建造者和责任链重塑代码架构
-
引用设计模式是软件开发中的重要工具,它为解决常见问题提供了标准化的解决方案,提高了代码的可维护性和可扩展性,提升了开发效率,促进了团队协作,提高了软件质量,并帮助开发者更好地适应需求变化。通过学习和应...
- 低代码开发当道,我还需要学习LangChain这些框架吗?| IT杂谈
-
专注LLM深度应用,关注我不迷路前两天有位兄弟问了个问题:当然我很能理解这位朋友的担忧:期望效率最大化,时间用在刀刃上,“不要重新发明轮子”嘛。铺天盖地的AI信息轰炸与概念炒作,很容易让人浮躁与迷茫。...
- 框架设计并不是简单粗暴地写代码,而是要先弄清逻辑
-
3.框架设计3.框架设计本节我们要开发一个UI框架,底层以白鹭引擎为例。框架设计的第一步并不是直接撸代码,而是先想清楚设计思想,抽象。一个一个的UI窗口是独立的吗?不是的,...
- 大佬用 Avalonia 框架开发的 C# 代码 IDE
-
AvalonStudioAvalonStudio是一个开源的跨平台的开发编辑器(IDE),AvalonStudio的目标是成为一个功能齐全,并且可以让开发者快速使用的IDE,提高开发的生产力。A...
- 轻量级框架Lagent 仅需20行代码即可构建自己的智能代理
-
站长之家(ChinaZ.com)8月30日消息:Lagent是一个专注于基于LLM模型的代理开发的轻量级框架。它的设计旨在简化和提高这种模型下代理的开发效率。LLM模型是一种强大的工具,可以...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- 框架图 (58)
- flask框架 (53)
- quartz框架 (51)
- abp框架 (47)
- springmvc框架 (49)
- 分布式事务框架 (65)
- scrapy框架 (56)
- shiro框架 (61)
- 定时任务框架 (56)
- java日志框架 (61)
- mfc框架 (52)
- abb框架断路器 (48)
- beego框架 (52)
- java框架spring (58)
- grpc框架 (65)
- tornado框架 (48)
- 前端框架bootstrap (54)
- orm框架有哪些 (51)
- 知识框架图 (52)
- ppt框架 (55)
- 框架图模板 (59)
- 内联框架 (52)
- cad怎么画框架 (58)
- ssm框架实现登录注册 (49)
- oracle字符串长度 (48)