0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

服务器数据恢复—linux操作系统下oracle数据库数据恢复案例

Frombyte 来源:Frombyte 作者:Frombyte 2024-09-27 16:19 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

服务器存储数据恢复环境&故障:
一台存储上有一组由16块FC硬盘组建了一组raid。存储前面板上的对应10号和13号硬盘的故障灯亮起,存储映射到redhat linux操作系统服务器上的卷挂载不上,业务中断。

服务器存储数据恢复过程:
1、通过存储的管理后台查看当前存储状态,管理后台报告逻辑卷状态失败。再查看物理磁盘状态,发现6号盘状态“警告”,10号和13号盘状态“失败”。在管理后台将当前存储的完整日志状态备份。解析日志获取到关于逻辑卷结构的部分信息。

wKgaomb2afaAXDLRAAGdodkhoNI067.png

北亚企安数据恢复—服务器数据恢复



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状态,出现报错。

wKgZomb2ahOAeaByAADNmjrEjII024.png

北亚企安数据恢复—服务器数据恢复



10、经过检测和分析,北亚企安数据恢复工程师判断此故障原因是控制文件和数据文件信息不一致,这是一类由于异常断电或突然关机引起的常见故障。
11、逐个检测数据库文件,没有发现物理损毁。
12、在mount状态下,备份控制文件。查看修改备份的控制文件,取得其中的重建控制文件命令。把命令复制到一个新建脚本文件controlfile.sql中。
13、关闭数据库,删除/oradata/syntong/下的3个控制文件。 启动数据库到nomount状态,执行controlfile.sql脚本。

wKgaomb2ahuAAzsRAAD0dW2uoG8906.png

北亚企安数据恢复—服务器数据恢复



14、重建控制文件完成后,直接启动数据库,仍然报错,需要进一步处理。

wKgaomb2aiKAI_BdAADohRKhxh4769.png

北亚企安数据恢复—服务器数据恢复



执行恢复命令:

wKgaomb2aimAAVyWAADcFNxXygM955.png

北亚企安数据恢复—服务器数据恢复



做介质恢复,直到返回报告。
15、尝试open数据库。
SQL>alter database open resetlogs;
16、数据库启动成功。把原来temp表空间的数据文件加入到对应的temp表空间中。
17、对数据库进行各种常规检查,没有任何错误。
18、进行emp备份。全库备份完成,没有报错。
19、将应用程序连接到数据库,在应用层面验证数据。
20、经过验证,用户方确认数据完整有效,认可数据恢复结果。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    88

    文章

    11548

    浏览量

    215147
  • 服务器
    +关注

    关注

    13

    文章

    9896

    浏览量

    88616
  • 操作系统
    +关注

    关注

    37

    文章

    7208

    浏览量

    126442
  • 数据恢复
    +关注

    关注

    10

    文章

    662

    浏览量

    18302
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    数据库数据恢复服务器异常断电导致Oracle数据库故障的数据恢复案例

    Oracle数据库故障: 某公司一台服务器上部署Oracle数据库服务器意外断电导致
    的头像 发表于 07-24 11:12 233次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—<b class='flag-5'>服务器</b>异常断电导致<b class='flag-5'>Oracle</b><b class='flag-5'>数据库</b>故障的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    Oracle数据恢复—格式化分区导致Oracle数据库报错的数据恢复案例

    一台服务器上一个分区存放Oracle数据库数据。由于管理员误操作不小心删除了该分区,数据库报错,
    的头像 发表于 07-22 14:06 109次阅读
    <b class='flag-5'>Oracle</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—格式化分区导致<b class='flag-5'>Oracle</b><b class='flag-5'>数据库</b>报错的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    数据库数据恢复—MongoDB数据库文件丢失的数据恢复案例

    MongoDB数据库数据恢复环境: 一台操作系统为Windows Server的虚拟机上部署MongoDB数据库。 MongoDB
    的头像 发表于 07-01 11:13 231次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—MongoDB<b class='flag-5'>数据库</b>文件丢失的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    oracle数据恢复oracle数据库误执行错误truncate命令如何恢复数据

    oracle数据库误执行truncate命令导致数据丢失是一种常见情况。通常情况oracle数据库
    的头像 发表于 06-05 16:01 426次阅读
    <b class='flag-5'>oracle</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—<b class='flag-5'>oracle</b><b class='flag-5'>数据库</b>误执行错误truncate命令如何<b class='flag-5'>恢复数据</b>?

    服务器数据恢复Linux系统服务器崩溃的数据恢复案例

    服务器数据恢复环境: linux操作系统服务器中有一组由4块SAS接口硬盘组建的raid5阵列
    的头像 发表于 05-20 15:46 292次阅读

    数据库数据恢复——MongoDB数据库文件拷贝后服务无法启动的数据恢复

    MongoDB数据库数据恢复环境: 一台Windows Server操作系统虚拟机上部署MongoDB数据库。 MongoDB
    的头像 发表于 04-09 11:34 413次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>——MongoDB<b class='flag-5'>数据库</b>文件拷贝后<b class='flag-5'>服务</b>无法启动的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>

    服务器数据恢复linux操作系统服务器数据恢复案例

    某ECS网站服务器linux操作系统+mysql数据库。mysql数据库采用innodb作为默认存储引擎。 在执行
    的头像 发表于 02-10 18:00 479次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—<b class='flag-5'>linux</b><b class='flag-5'>操作系统</b>云<b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    服务器数据恢复—raid5阵列上层win系统+oracle数据库数据恢复案例

    一台服务器上的8块硬盘组建了一组raid5磁盘阵列。上层安装windows server操作系统,部署了oracle数据库。 raid5阵列中有2块硬盘的硬盘指示灯显示异常报警。
    的头像 发表于 01-10 14:40 436次阅读

    SqlServer数据恢复—SqlServer数据库数据恢复案例

    一块硬盘上存放的SqlServer数据库,windows server操作系统+NTFS文件系统。由于误操作导致分区损坏,需要恢复硬盘里的S
    的头像 发表于 01-09 11:15 532次阅读
    SqlServer<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—SqlServer<b class='flag-5'>数据库</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    服务器数据恢复—光纤存储硬盘故障灯亮起的数据恢复案例

    服务器存储数据恢复环境: 某品牌光纤存储上共有16块FC硬盘。存储上的卷映射到Linux操作系统上。L
    的头像 发表于 11-26 14:04 702次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—光纤存储硬盘故障灯亮起的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    数据库数据恢复Oracle ASM实例无法挂载的数据恢复案例

    Oracle数据库数据恢复环境&故障: Oracle ASM磁盘组由4块磁盘组成。Oracle
    的头像 发表于 10-28 11:26 526次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—<b class='flag-5'>Oracle</b> ASM实例无法挂载的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    服务器数据恢复Linux网站服务器硬盘出现坏扇区的数据恢复案例

    服务器数据恢复环境: 一台linux操作系统网站服务器,该
    的头像 发表于 10-09 16:26 555次阅读

    Oracle数据恢复—异常断电后Oracle数据库报错的数据恢复案例

    Oracle数据库故障: 机房异常断电后,Oracle数据库报错:“system01.dbf需要更多的
    的头像 发表于 09-30 13:31 849次阅读
    <b class='flag-5'>Oracle</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—异常断电后<b class='flag-5'>Oracle</b><b class='flag-5'>数据库</b>启<b class='flag-5'>库</b>报错的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    数据库数据恢复Oracle数据库文件system01.dbf损坏的数据恢复案例

    打开oracle数据库报错“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。
    的头像 发表于 09-21 14:25 1107次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—<b class='flag-5'>Oracle</b><b class='flag-5'>数据库</b>文件system01.dbf损坏的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    Oracle数据恢复Oracle数据库delete删除的数据恢复方法

    删除Oracle数据库数据一般有以下2种方式:delete、drop或truncate。下面针对这2种删除oracle数据库
    的头像 发表于 09-11 11:45 834次阅读