ORACLE无法打开,数据文件损坏如何恢复?

勤奋的大冬瓜 2006-08-10 10:49:06
由于服务器电源突然问题,ORACLE无法启动。但是数据库可以装载,就是无法打开,装载成功后,打开有如下提示:

ORA-01122:数据库文件 8 检验失败
ORA-01110:数据文件 8:'E:\ORACLE\ORADATA\ORADB\OEM_REPOSITORY.ORA'
ORA-01200:136321的实际文件大小小于137601块的正确大小

注:1.环境WIN2000 SERVER SP4,数据库 ORACLE8.1.6.
2.OEM_REPOSITORY是我存储数据的表空间,OEM_REPOSITORY.ORA'文件大小为1.04G.
3.数据库没有备份,只有2004年的一个DMP备份,这个好用,但是数据不是我要的,日志模式是非存档模式自动存档禁用。

我是oracle的一个菜鸟,还请各位帮帮忙,给我一个数据库恢复的思路或方向!

...全文
812 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
leah 2006-08-15
  • 打赏
  • 举报
回复
不能用常规方法恢复了,oracle有 DUL 工具来恢复数据,也有些个人也开发这种工具直接取出数据
glkgdj 2006-08-14
  • 打赏
  • 举报
回复
看样子你的system文件出了问题,那就不能用常规的办法了,同情你!不过研究透了oracle的结构也可以恢复出来!很麻烦!
www.sosdb.com
qq:9417901
msn:glkgdj@hotmail.com
glkgdj 2006-08-12
  • 打赏
  • 举报
回复
没有问题,完全可以恢复!
没有日志也可以恢复的,因为你的怎件都在,可以从文件里面提取,不过分析起来可能会比较麻烦!再加上redolog的话,应该是没问题的,不过和久以前的数据有可能要丢几条,因为现在你的数据库文件出了问题了,可能出问题的那部分的block没办法恢复出来,但也不一定。
可以参考我网站上的相关ORACLE的内部结构资料,如果好好研究透了的话,你自己就可以做到了!
www.sosdb.com
qq:9417901
msn:glkgdj@hotmail.com
勤奋的大冬瓜 2006-08-11
  • 打赏
  • 举报
回复
我用 offline drop 将OEM_REPOSITORY.ORA去掉然后alter database open resetlogs提示是一堆乱码:
??1??
system01
我记不住了,大概意思是说应该恢复所有文件,提示当中有数据文件system01,说是一号文件.真是奇怪.
我又尝试用recover database until cancel 还是最初那个提示

我晕了,哪位老大还有好主意啊,或者还是我操作的不对?多多指教!谢谢了!
daydayupliq 2006-08-11
  • 打赏
  • 举报
回复
唉,先备份,再恢复;
没有备份,只求恢复,难!!
youzhouke 2006-08-10
  • 打赏
  • 举报
回复
http://blog.csdn.net/youzhouke/archive/2006/06/07/777812.aspx

如果没有备份的话,你看看能修复吗,上面是一个修复的说明。
龙翔飞雪 2006-08-10
  • 打赏
  • 举报
回复
硬盘上的数据文件损坏了~

只要 Online-Redo Log和Archive Log都完好, 还原没问题.

先把该数据文件存储位置换掉, 然后再recover database until cancel;
再以reset log方式开DB
leah 2006-08-10
  • 打赏
  • 举报
回复
数据库打开肯定是没有问题了
leah 2006-08-10
  • 打赏
  • 举报
回复
没有备份应该没什么希望能恢复什么数据了
勤奋的大冬瓜 2006-08-10
  • 打赏
  • 举报
回复
sozdream()

你说的Archive Log是指存档日志吧,但是我的日志模式是非存档模式而且自动存档禁用。只有Redo Log,那还能恢复吗?

“先把该数据文件存储位置换掉”,你的意思是说将原来装在E:盘上的oracle目录转到另外一个盘上吗,还是只将数据文件换个盘,然后recover database until cancel?



3,497

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧