「服务器数据恢复」存储硬盘坏道导致oracle数据库损坏的数据恢复
mhr18 2024-10-05 17:45 22 浏览 0 评论
服务器数据恢复环境:
IBM某型号存储服务器;
16块单盘容量600G的FC硬盘。
服务器故障:
指向10号和13号硬盘的指示灯显示为黄色;
存储映射到redhat上的卷挂载不上,业务中断。
存储服务器数据恢复过程:
1、通过IBM storage manager连接到服务器上查看当前存储状态:服务器报告逻辑卷状态失败,6号盘报告“警告”,10号和13号盘报告“失败”。
2、通过IBM storage manager将当前存储的完整日志状态备份下来,解析备份出来的存储日志获取关于逻辑卷结构的部分信息。
3、服务器数据恢复工程师将16块FC盘做好标记,按照原始槽位号登记后把这16块FC硬盘从存储中取出。使用数据恢复使用的FC盘镜像设备对16块FC盘进行粗略测试,均能正常识别;对16块盘的SMART状态进行检测,6号盘的SMART状态为“警告”,和在IBM storage manager中报告一致。
4、数据恢复工程师在windows环境下将设备识别出来的FC盘在磁盘管理器中标记为脱机状态,对原始磁盘写保护。然后对原始磁盘进行扇区级别镜像备份,将原始磁盘中的所有物理扇区镜像到windows系统下的逻辑磁盘并以文件形式保存。镜像过程中6号磁盘的镜像速度不正常,结合之前6号磁盘的SMART状态,可以判断6号盘存在损坏和不稳定扇区。
5、使用坏道硬盘专用镜像设备对6号硬盘进行备份,发现6号盘的坏道不多,但是存在大量读取响应时间长的不稳定扇区。调整拷贝策略对6号盘进行镜像备份。
6、完成所有磁盘镜像后,对生成的日志进行分析,发现在IBM storage manager和硬盘SMART状态中均没有报错的1号盘存在坏道,10号和13号盘均存在大量不规律的坏道分布。根据坏道列表定位到目标镜像文件,发现ext3文件系统的部分关键源数据信息由于坏道已经被破坏,只能等待6号盘镜像完毕后,通过同一条带进行xor以及根据文件系统上下文关系手动修复损坏的文件系统。
7、虽然坏道镜像设备对6号盘的镜像完成,但是先前的拷贝策略会自动跳过一些不稳定扇区,所以做出来的镜像是不完整的,调整拷贝策略,继续镜像被跳过的扇区,完成6号盘所有扇区的镜像。
8、完成所有硬盘镜像后,根据对ext3文件系统的逆向以及日志文件的分析,获取到16块FC盘在存储中的盘序,RAID的块大小,RAID的校验走向和方式等信息。利用获取到的信息虚拟重组RAID,完成RAID搭建后进一步解析ext3文件系统,通过和服务器管理员沟通提取出了一些oracle的dmp文件,尝试利用dmp文件进行数据恢复。
9、在利用dmp文件进行数据恢复的过程中,oracle报告imp-0008错误。北亚的oracle工程师通过分析导入dmp文件的日志文件,发现恢复出来的dmp文件存在问题。
10、重新分析raid结构,进一步确定ext3文件系统被破坏的程度。经过数小时的努力,重新恢复出来dmp文件和dbf原始库文件,将恢复出来的dmp文件进行数据导入测试,没有出现问题,证明了这次恢复出来的数据是没有问题的。
11、对恢复出来的dbf原始库文件进行校验检测,所有文件均能通过测试。
12、和服务器管理员进行沟通后,最终决定使用恢复出来的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/frombyte.com
ORA-01110: data file 1: '/oradata/syntong/system01.dbf'
ORA-01207: file is more recent than control file - old control file
经过进一步的检测和分析,判断此故障为控制文件和数据文件信息不一致,这是一类因断电或突然关机等引起的常见故障。
3、对数据库文件逐个检测,检测到所有数据文件没有物理损坏。
4、在mount状态下对控制文件进行备份,alter database backup controlfile to trace as ' /backup/controlfile'。对备份的控制文件进行查看修改,取得其中的重建控制文件命令。把这些命令复制到一个新建脚本文件controlfile.sql中。
5、关闭数据库,删除/oradata/syntong/下的3个控制文件。 启动数据库到nomount状态,执行controlfile.sql 脚本。
SQL>startup nomount/frombyte.com
SQL>@controlfile.sql
6、重建控制文件完成后,启动数据库报错,需要进一步处理。
SQL> alter database open;
alter database open/frombyte.com
*
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
…
做介质恢复,直到返回报告,恢复完成。
7、尝试open数据库。
SQL> alter database open resetlogs;
8、数据库启动成功。把原来temp表空间的数据文件加入到对应的temp表空间中。
9、对数据库进行各种常规检查,没有任何错误。
10、进行emp备份。全库备份完成,没有报错。将应用程序连接到数据库,进行应用层面的数据验证。
相关推荐
- SpringBoot 各种分页查询方式详解(全网最全)
-
一、分页查询基础概念与原理1.1什么是分页查询分页查询是指将大量数据分割成多个小块(页)进行展示的技术,它是现代Web应用中必不可少的功能。想象一下你去图书馆找书,如果所有书都堆在一张桌子上,你很难...
- 《战场兄弟》全事件攻略 一般事件合同事件红装及隐藏职业攻略
-
《战场兄弟》全事件攻略,一般事件合同事件红装及隐藏职业攻略。《战场兄弟》事件奖励,事件条件。《战场兄弟》是OverhypeStudios制作发行的一款由xcom和桌游为灵感来源,以中世纪、低魔奇幻为...
- LoadRunner(loadrunner录制不到脚本)
-
一、核心组件与工作流程LoadRunner性能测试工具-并发测试-正版软件下载-使用教程-价格-官方代理商的架构围绕三大核心组件构建,形成完整测试闭环:VirtualUserGenerator(...
- Redis数据类型介绍(redis 数据类型)
-
介绍Redis支持五种数据类型:String(字符串),Hash(哈希),List(列表),Set(集合)及Zset(sortedset:有序集合)。1、字符串类型概述1.1、数据类型Redis支持...
- RMAN备份监控及优化总结(rman备份原理)
-
今天主要介绍一下如何对RMAN备份监控及优化,这里就不讲rman备份的一些原理了,仅供参考。一、监控RMAN备份1、确定备份源与备份设备的最大速度从磁盘读的速度和磁带写的带度、备份的速度不可能超出这两...
- 备份软件调用rman接口备份报错RMAN-06820 ORA-17629 ORA-17627
-
一、报错描述:备份归档报错无法连接主库进行归档,监听问题12541RMAN-06820:WARNING:failedtoarchivecurrentlogatprimarydatab...
- 增量备份修复物理备库gap(增量备份恢复数据库步骤)
-
适用场景:主备不同步,主库归档日志已删除且无备份.解决方案:主库增量备份修复dg备库中的gap.具体步骤:1、停止同步>alterdatabaserecovermanagedstand...
- 一分钟看懂,如何白嫖sql工具(白嫖数据库)
-
如何白嫖sql工具?1分钟看懂。今天分享一个免费的sql工具,毕竟现在比较火的NavicatDbeaverDatagrip都需要付费才能使用完整功能。幸亏今天有了这款SQLynx,它不仅支持国内外...
- 「开源资讯」数据管理与可视化分析平台,DataGear 1.6.1 发布
-
前言数据齿轮(DataGear)是一款数据库管理系统,使用Java语言开发,采用浏览器/服务器架构,以数据管理为核心功能,支持多种数据库。它的数据模型并不是原始的数据库表,而是融合了数据库表及表间关系...
- 您还在手工打造增删改查代码么,该神器带你脱离苦海
-
作为Java开发程序,日常开发中,都会使用Spring框架,完成日常的功能开发;在相关业务系统中,难免存在各种增删改查的接口需求开发。通常来说,实现增删改查有如下几个方式:纯手工打造,编写各种Cont...
- Linux基础知识(linux基础知识点及答案)
-
系统目录结构/bin:命令和应用程序。/boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。/dev:dev是Device(设备)的缩写,该目录...
- PL/SQL 杂谈(二)(pl/sql developer使用)
-
承接(一)部分。我们从结构和功能这两个方面展示PL/SQL的关键要素。可以看看PL/SQL的优雅的代码。写出一个好的代码,就和文科生写出一篇优秀的作文一样,那么赏心悦目。1、与SQL的集成PL/S...
- 电商ERP系统哪个好用?(电商erp哪个好一点)
-
电商ERP系统哪个好用?做电商的,谁还没被ERP折腾过?有老板说:“我们早就上了ERP,订单、库存、财务全搞定,系统用得飞起。”也有运营吐槽:“系统是上了,可库存老不准,订单漏单错单天天有,财务对账还...
- 汽车检测线系统实例,看集中控制与PLC分布控制
-
PLC可编程控制器,上个世纪70年代初,为取代早期继电器控制线路,开始采取存储指令方式,完成顺序控制而设计的。开始仅有逻辑运算、计时、计数等简单功能。随着微处理的发展,PLC可编程能力日益提高,已经能...
- 苹果五件套成公司年会奖品主角,几大小技巧教你玩转苹果新品
-
钱江晚报·小时新闻记者张云山随着春节的临近,各家大公司的年会又将陆续上演。上周,各大游戏公司的年会大奖,苹果五件套又成了标配。在上海的游戏公司中,莉莉丝奖品列表拉得相当长,从特等奖到九等奖还包含了特...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- oracle位图索引 (63)
- oracle批量插入数据 (62)
- oracle事务隔离级别 (53)
- oracle 空为0 (50)
- 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)