IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

Oracle数据恢复:格式化,Raid损坏,文件覆盖恢复

Oracle Life 2011-11-23 23:44:39 累计浏览 3,323 次
本机暂存

    最近接触了几则客户的Oracle数据库恢复案例,记录一下供大家参考。

    案例一

    某客户为了重新部署系统,将数据导出备份到移动硬盘,然后将Raid重新格式化,重新安装系统,当进行Oracle数据库重建,导入数据时发现,移动硬盘上的数据无法正确读取,文件缺失一半。数据灾难形成。

    导入数据时出现 IMP-00009 错误,和以下文章描述的状况是相同的:

    http://www.eygle.com/archives/2009/05/imp_00009_abnormal_end.html

    我到现场进行分析,发现文件的确只复制了一半,丢失了大约200张数据表的数据。通过备份恢复数据已经不可能。

    最后只有一种方式,就是从被格式化的硬盘上进行碎片重组,找回数据,最终这条路成功了,通过硬盘恢复找回数据恢复了业务运行。

    这个案例给我们的提示是:重要数据,备份需要多留拷贝,在进行备份验证之前,备份的可靠性不能轻信。

    案例二:

    某用户,SUN的存储阵列,已经持续运行了7年,最后存储的Raid中,同时损坏了两块硬盘,热备盘早已损坏,但是由于存储所有的绿灯都亮,用户一直以为存储正常无故障运行。

    此次故障出现,存储罢工,数据库服务无法提供,用户没有备份。

    我们到现场,只有一个途径,就是通过存储级别恢复数据,找回文件,虽然磁盘出现故障,但是数据仍然是完好的,通过计算奇偶校验,回复数据,然后最终修复启动了数据库,在数据库级别存在坏块,不一致,通过BBED,隐含参数等,可以成功打开数据库。

    这个案例给我们的提示是:硬件和人一样,过劳都会出现灾难,请大家注意健康。

    在微博上,有朋友说,硬件总会出问题,要多监控就应当能够及时预警,我的观点是:

    再严密的部门,再严密的监控,总有疏忽,这样的疏忽,有很多大牛的公司都犯过,我们也经历过,所以大家应当共同警示吧。细心多一万分不多,粗心就一次致命。

    案例三

    某用户,构建大型的ERP系统,在部署初始化环境时,由于疏忽,在安装数据库时,覆盖了原有的一个重要数据库。形成数据灾难。

    对于这类操作,通常覆盖的只是SYSTEM表空间、UNDO表空间、Users表空间等,数据表空间通常不会覆盖,但是如果数据结构复杂,通过DUL等工具去抽取数据会根本不可实现。

    在2006年我处理过同样一则案例,首先是在存储级别恢复了SYSTEM表空间,排除覆盖掉的部分,大部分数据完好,结合这部分数据和剩余的数据文件,可以较为迅速的恢复数据。

    我在微博的记录是:本想早点睡觉,又收到用户的紧急求助电话,用户在安装数据库时,因为疏忽,覆盖了之前载有重要数据的数据库。系统表空间等重要文件被覆盖,又是一个极大的灾难。搞技术的同学们要谨记:在做破坏性、创建性操作时,一定要慎之又慎。

    这些案例与大家共为警醒。

同分类推荐文章

  1. 使用deepseek进行Oracle恢复,引起重大故障 (2026-06-22 10:56:00)
  2. 接手一个只差临门一脚的数据库恢复 (2026-06-18 00:13:09)
  3. 我做了一个 AI 版的 StarRocks 升级风险扫描工具,直接帮我定位到一个风险 (2026-06-15 01:00:00)

查看更多 数据库 文章 →

建议继续学习

  1. Oracle MTS模式下 进程地址与会话信息 (累计阅读 14,409)
  2. 我对技术方向的一些反思 (累计阅读 11,320)
  3. MySQL优化 之 Discuz论坛MySQL通用优化 (累计阅读 7,727)
  4. RAID磁盘阵列学习笔记 (累计阅读 7,613)
  5. SSD 寿命的检查和健康判断 (累计阅读 7,259)
  6. 那些在11gR2中可能惹祸的新特性,一张列表帮助你摆脱升级11gR2带来的烦恼 (累计阅读 6,881)
  7. MySQL Tuning之浅析I/O优化 (累计阅读 6,483)
  8. 性能测试工具sysbench简介 (累计阅读 6,027)
  9. 大于2GB的Listener.log和运行超过198天的主机上的Oracle实例 (累计阅读 5,863)
  10. 仅仅只备份是不够的 (累计阅读 5,825)