您所在的位置:首页 > 成功案例 > ORACLE数据库修复

Oracle数据库无法启动恢复方案

最新动态来源:本站原创点击数:18更新时间:2020/9/15

一、设备清单
4块600G硬盘,RAID5阵列,其中53G的Oracle数据库故障。
二、故障情况
客户Linux服务器,4块盘的RAID5一块盘故障,换上新盘做同步操作,同步过程中又有一块盘故障,导致Oracle数据库无法启动,数据文件无法拷贝。
三、磁盘镜像
1、硬盘检测
对故障硬盘进行检测是否有硬件故障,如果有硬件故障,尝试对磁盘进行修复。
2、镜像
将磁盘在只读模式下进行磁盘镜像,之后恢复过程均使用镜像文件进行,防止磁盘的二次破坏。
四、恢复方案
 
方案一:
从文件系统角度恢复数据文件。
1、前期备份流程
A、将原服务器断电、关机。
B、将故障RAID组的所有成员盘标号,从原服务器中取出。
C、准备一台恢复操作服务器(北亚提供)、一台备份存储(可北亚提供,也可因数据敏感等原因由用户提供),在恢复平台上以只读方式挂载故障存储硬盘,使用北亚磁盘备份工具(或 dd等工具)进行完整的扇区对扇区的备份。
D、备份完成后,提供详细报告,涉及威信的健康状态及可能存在的坏道列表。
E、将原故障存储交回给用户(建议原样恢复),之后不再直接操作原介质。
2、在备份数据中进行分析
A、分析RAID条带大小、盘序、校验方向的关键信息。
B、判断两块成员盘离线顺序。
C、在剔除一块故障成员盘的情况下,对故障RAID进行虚拟重组。
3、文件系统检测与修复
A、RAID重组完成后定位其中数据卷分布情况。
B、虚拟重组出故障RAID中的数据卷。
C、对数据卷中的文件系统进行校验。
D、对文件系统进行修复。
4、数据恢复
A、对文件系统进行解析。
B、生成文件系统中的所有数据。
5、数据库校验
A、校验数据库文件的正确。
B、搭建临时数据库环境。
C、在临时数据库环境中,挂载恢复出的数据库文件,对数据库进行校验。
6、数据库修复
A、若数据库无法正常挂载,则尝试对数据库进行修复。
B、若在数据库层面无法进行修复,则尝试解析数据库文件,提取数据库表中的数据记录。
7、数据验证
A、由用户主导对数据本身进行详细验证。
B、如发现新问题,重新检验上述所有恢复过程。
 
方案二:
扫描Oracle数据页,提取记录。
1、全盘扫描数据库页信息。
A、根据Oracle数据库页的结构,编写程序,对数据库页进行扫描。
B、记录数据页的关键信息,并写入数据库中。
2、数据库页整理。
A、对记录数据页信息的数据库进行整理,并对相应关键信息创建索引。
B、根据扫描到的数据库页号、文件号、obj_id等信息对数据库页进行初步整理。
C、对数据库页进行拼接。
3、数据记录解析。
A、解析系统表,获取全部数据表的表名称和obj_id信息。
B、根据表结构(需客户提供)解析并提取记录。
4、搭建新的Oracle环境,将提取出的Oracle记录插入到新的数据库中。