|
此案例是南方某省某县的一套OA系统,系统为 windows 2003x64,数据库使用 oracle 11.2.0.1,为单实例环境。
某天因为存储实然断电,断电时OA系统正繁忙,造成oracle数据库严重损坏。最新的数据库备份是在几个月前,而且数据库也是运行在 NOARCHIVE 环境,这都导致客户需要求助第三方进行数据恢复。
客户前期找到某数据恢复公司,该数据恢复公司用DUL、AUL等第三方工具进行数据提取,表数据虽然完整,但存储过程、函数、视图等都不能进行提取,导致恢复的数据OA系统不能进行调用。
最后客户通过某系统集成公司介绍尹工通过oracle 命令+底层修改方式,成功恢复了所有数据。表数据、存储过程、函数、视图等全部正常恢复。
下面是oracle 恢复过程:
使用 oracle 自带的工具进行oracle数据文件校验,发现有坏块,而且来自于逻辑结构损坏:
在内部的 oracle环境下尝试挂载数据库:
无法挂载数据库,错误导致Oracle线程直接崩溃。
查看oracle 的告警日志,有未提交的事务,在oracle提交事务时,遇到坏块,这也是oracle线程崩溃的原因。
修改提交事务,同时修复坏块。再次尝试拉起Oracle:
遇到新的报错,Oracle 线程再次崩溃。
加入隐含参数,再拉数据库:
OK,数据库成功拉起来,启动监听,访问下数据:
数据正常。
进行导出:
有张表导出报错,通过对比这张表的统计信息 ,发现这张表的导出少了10多W行数据,跟踪错误信息,看来是有坏块没有没有彻底修复。
再次修复,数据库导出已无问题。
全系统(Win、Linux、AIX、HP-UX、 Solaris) Oracle(9i、10g、11g) 环境已搭建完成 ,全系统的DB2和 Sybase ASE 环境正在搭建中,对于数据恢复行业的人员测试和验证数据库完全免费。 (尹工) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|