成功数据恢复一例LINUX EXT3 下误删除ORACLE数据库

简介:
[摘要]
     国家认证认可监督管理委员会,用于正常工作的一个重要ORACLE数据库,存储于LINUX EXT3文件系统之上。一次,管理员在建立测试库时选错了服务器,在ORACLE平台CREATE了一套新库,创建至10%左右时发现异样,取消、停下操作。
    再次查看数据库目录,只剩余SYSTEM2.DBF一个库,其他重要的库(主要为SYSTEM1.DBF)丢失。
    因数据至关重要,多家数据恢复公司同时上门进行恢复操作,我们提供的解决方案客户完全接受,于是直接将此次数据恢复的重任交给了我们。
[分析与恢复]
    常规EXT3误删除的数据恢复较为困难,且目前市面上没有可以处理这类灾难的软件,故绝大多数数据恢复公司面对此问题时手足无措,但EXT3的误删除通过一定的算法是有很大机会恢复的。
    首选的恢复方案是直接重建原先文件的属性节点,即主要恢复原文件的大小、存储位置等信息。通过节点重新描述文件。
    如此方法不通,则可以按ORACLE本身的页面结构特征进行分析与恢复。
    通过自主开发的应用于LINUX EXT3误删除的软件,很幸运地找到了一些ORACLE数据库文件,于是马上导出。。。不料,导出的SYSTEM1结构完好,却只有200M左右。与客户描述的32GB相差很远。
    仔细分析,确认导出的SYSTEM1.DBF为用户创建测试库时生成的库,因未全部做完便取消,故只占很小的初始化空间,与原数据库无关。
    重新对全盘进行详细扫描,配合ORACLE本身结构,锁定原SYSTEM1.DBF的数据区,但明显的是,已经被现在生成的约700M左右的新库(好几个)覆盖了。
    客户心情如焚,于是硬下决心,尽最大能力将其余30G左右数据成功导致。
    验证后,发现,导出的30G左右数据结构完好,无损坏,但因头部库结构及字典均遭受破坏,无法重现,故只能从数据完好的30G区域内找数据。
    ORACLE工程师通过对中间数据进行分析、重组,重新导入新库中,客户需要的数据恢复成功!
[后记]
    有关LINUX 误删除方面的应急处理,请参阅 [url]WWW.SJHF.NET[/url]相关文章。




本文转自 张宇 51CTO博客,原文链接:http://blog.51cto.com/zhangyu/33749,如需转载请自行联系原作者
目录
相关文章
|
3天前
|
NoSQL MongoDB 数据库
MongoDB数据恢复—MongoDB数据库文件被破坏的数据恢复案例
服务器数据恢复环境: 一台Windows Server操作系统服务器,服务器上部署MongoDB数据库。 MongoDB数据库故障&检测: 工作人员在未关闭MongoDB数据库服务的情况下,将数据库文件拷贝到其他分区。拷贝完成后将原MongoDB数据库所在分区进行了格式化操作,然后将数据库文件拷回原分区,重新启动MongoDB服务,服务无法启动。
|
15天前
|
SQL 存储 数据挖掘
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
服务器数据恢复环境: 一台安装windows server操作系统的服务器。一组由8块硬盘组建的RAID5,划分LUN供这台服务器使用。 在windows服务器内装有SqlServer数据库。存储空间LUN划分了两个逻辑分区。 服务器故障&初检: 由于未知原因,Sql Server数据库文件丢失,丢失数据涉及到3个库,表的数量有3000左右。数据库文件丢失原因还没有查清楚,也不能确定数据存储位置。 数据库文件丢失后服务器仍处于开机状态,所幸没有大量数据写入。 将raid5中所有磁盘编号后取出,经过硬件工程师检测,没有发现明显的硬件故障。以只读方式将所有磁盘进行扇区级的全盘镜像,镜像完成后将所
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
|
16天前
|
负载均衡 Java 关系型数据库
linux 下amoeba实现数据库的负载均衡
linux 下amoeba实现数据库的负载均衡
13 1
|
27天前
|
SQL 关系型数据库 MySQL
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(数据恢复补充篇)(一)
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(数据恢复补充篇)
30 0
|
1月前
|
Shell Linux 数据库
【Shell 命令集合 网络通讯 】Linux 更新邮件别名数据库 newaliases命令 使用指南
【Shell 命令集合 网络通讯 】Linux 更新邮件别名数据库 newaliases命令 使用指南
29 1
|
1月前
|
监控 Shell Linux
【Shell 命令集合 磁盘管理 】Linux 检查和创建磁盘配额数据库 quotacheck命令使用教程
【Shell 命令集合 磁盘管理 】Linux 检查和创建磁盘配额数据库 quotacheck命令使用教程
32 0
|
1月前
|
存储 Shell Linux
【Shell 命令集合 文件管理】Linux 更新locate命令所使用的数据库 updatedb命令解析
【Shell 命令集合 文件管理】Linux 更新locate命令所使用的数据库 updatedb命令解析
155 0
|
6天前
|
关系型数据库 MySQL 分布式数据库
《MySQL 简易速速上手小册》第6章:MySQL 复制和分布式数据库(2024 最新版)
《MySQL 简易速速上手小册》第6章:MySQL 复制和分布式数据库(2024 最新版)
37 2
|
22天前
|
SQL 数据可视化 关系型数据库
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
105 0
|
22天前
|
存储 关系型数据库 MySQL
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)