Bo's Oracle Station

查看: 3607|回复: 2

关于数据文件损坏恢复的方法的请教

[复制链接]

10

主题

26

帖子

122

积分

注册会员

Rank: 2

积分
122
发表于 2018-1-4 10:27:06 | 显示全部楼层 |阅读模式
唐波老师你好:
1. 状况
前段时间Oracle11gr2(11.2.0.3)单实例未归档开发库,因为在虚拟机迁移过程中出现报错被系统运维人员忽略,导致OS文件系统异常并存在三个表空间对应的数据文件损坏,导致多数表无法查询。
2. 解决过程:
尝试了常规的恢复方法:dbv检查块的损坏数量以及表的损坏数量(损坏的数据块太多了);跳过损坏块+备份等等方式,仍然不起作用。
在这种情况下,只能拷贝破损的数据文件进行线下工具破解:
2.1使用了一款java工具软件
在测试环境下的结果:
图片1.png 图片2.png 图片3.png
只能以这种形式恢复部分表,且字段失效,数据也不支持clob字段。
2.2bbed(oracle内部工具)
2.3ODU(老熊,收费)
2.4AUL(楼XX,收费)
2.5OUL(需oracle支持)
最终还好系统运维人员保留这原系统备份,最后使用直接copy复制的方式进行迁移恢复。
提问:(假设真的没有备份和归档,公司总是想着省钱没有考虑我们的感受)是否有比较合适的恢复工具或者更好的解决此类问题的思路或步骤?

回复

使用道具 举报

1005

主题

1469

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
12012
发表于 2018-1-5 09:31:54 | 显示全部楼层
未归档的话bmr是不能用了。DBMS_REPAIR这个包里的dump_orphan_key可以用索引dump出的值恢复表,支持clob。但是前提是有索引。否则只能用只读文件的非常规方法。这类工具还很多,但效果天差地别。
回复 支持 反对

使用道具 举报

10

主题

26

帖子

122

积分

注册会员

Rank: 2

积分
122
 楼主| 发表于 2018-1-6 20:06:09 | 显示全部楼层
嗯嗯,好呢,关键还是要有备份啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Bo's Oracle Station   

GMT+8, 2024-11-1 09:29 , Processed in 0.036223 second(s), 28 queries .

快速回复 返回顶部 返回列表