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

NetApp存储误删除lun的Oracle数据恢复案例

最新动态来源:本站原创点击数:244更新时间:2023/2/15

服务器数据恢复环境:
NetApp某型号存储;
配备SAS硬盘,该硬盘520字节一个扇区;
所有的lun映射到小型机使用,存放Oracle数据库文件,采用ASM裸设备存储方式。
 
服务器故障:
管理员误操作删除NetApp存储上的所有lun。和管理员沟通后得知:因为业务变化,需要重新规划存储空间,管理员直接把存储卷全部删除并重新分配。在执行删除操作之后还没有来得及分配的时候,上层业务突然宕机了。运维工程师紧急排查故障情况,发现业务服务器上的磁盘都不见了,无法访问数据。
 
 
服务器数据恢复过程:
1、为了避免在数据恢复过程中对原始数据造成二次破坏,把故障存储中的每块磁盘以只读方式做完全镜像,后续的所有数据恢复操作都在镜像文件上进行。
2、分析Netapp存储的存储过程。
a、分析盘序和LVM的组成方式。
b、扫描硬盘内的所有节点。
c、在节点扫描结果中找到文件大小符合需求的节点并提取此节点。
d、根据索引根内的第一级数据指针提取本文件的所有直接数据指针,在指针提取完毕后开始提取文件数据。
3、在硬盘前面的扇区位置查找超级块的相关信息。
数据块有数据块描述信息,根据这些信息可以判断出哪些磁盘是校验盘(提取数据时需剔除)。
4、根据每块磁盘的磁盘信息以及磁盘的RAID盘序表确定盘序。首先要确定各个磁盘所属aggr组,然后再判断组内盘序。
5、Netapp的节点分布在数量众多的数据块内,在数据块内节点又被统一组织为节点组。每个节点组的部分字节记录一些系统数据,部分字节为一项来记录各个文件节点。根据用户级别文件节点可分为两类:系统文件节点和用户文件节点。 
6、获取目录项,根据其节点编号找到对应节点。
7、分析好存储结构之后,使用北亚企安自研的NetApp解析程序提取数据,解析asm文件系统并提取出数据库文件。
8、搭建小机环境,安装oracle数据库,验证数据库文件和备份文件。
a、检测数据库文件。使用提取出的数据库文件启动数据库,可以正常启动。
b、检测数据库备份文件。筛选出最新的数据库备份文件,使用筛选出的备份文件还原数据库,经过逐一尝试,没有发现问题。用户亲自验证后确认数据库恢复确认无误,本次数据恢复工作完成。